web-dev-qa-db-fra.com

Comment cloner un disque dur entier dans un nouveau?

J'utilisais la commande dd pour copier mon disque dur de 500 Go sur mon nouveau disque dur de 1 To. Après 9 heures d’affichage du message système, tout a été copié mais je ne peux afficher aucune donnée sur mon nouveau disque dur.
Je passe par les étapes suivantes.
étape 1:-

enter image description here

Après que le système affiche le message: - step2: - enter image description here
mais maintenant 1 TB HDD ne peut rien afficher. enter image description here
Comment résoudre ce problème?

3
Madhav Nikam

Ce problème a été créé par une commande ddincorrecte. La commande ddprécise pour le clonage de disque est:

dd if=/dev/sda of=/dev/sdb

sdaet sdbpointent vers les disques durs eux-mêmes, qui incluent également la table de partition. if= pointe sur le fichier d'entrée (dans ce cas, /dev/sda), et of= pointe sur le fichier de sortie (/dev/sdb).

La commande ddprend beaucoup de temps, mais elle est plus fiable et constitue également un outil système par défaut. J'ai donc donné la priorité à ddname__.

enter image description here

Après une opération réussie, la prochaine étape consiste à redémarrer le système , votre nouveau disque dur ressemblera à ceci:

enter image description here

Voici la dernière étape, qui est également requise après ddname__: Utilisez l’utilitaire Gparted pour redimensionner la partition étendue . L'ancienne table de partition du disque dur était de type démarrage Legacy et ne supportait pas plus de 4 partitions principales. Par conséquent, le redimensionnement est la seule option sûre permettant d’utiliser 500 Go d’espace libre.

Après avoir redimensionné la partition étendue:

enter image description here

9
Madhav Nikam

Récemment, j'ai dû utiliser dd pour la récupération et le travail d'image. Il y a 10 ans, je l'utilisais intensément pour cloner des lecteurs et sauvegarder des partitions. Je dois dire que son utilisation est à des années-lumière de la simple et directe. En ce qui concerne les disques durs, vous devez savoir exactement comment le lecteur est structuré au niveau le plus bas. Pour cela, vous avez besoin d'autres programmes en lesquels vous pouvez avoir confiance (fdisk, sfdisk, cfdisk, etc.). La confiance ne provient que d'expérimentations avec des objets connus et de l'examen des résultats, et non du bouche à oreille. Je suis d'accord avec le commentaire initial de muru à propos de la mauvaise commande dd, mais il faudrait en dire plus. if =/dev/sda commence à lire au tout début du périphérique (adresse d'octet 0) tandis que of =/dev/sdb1 écrit sur la première partition du périphérique b. Le résultat est que votre sda-MBR réside dans sdb-part1, avec votre système d'exploitation, etc., et je ne sais pas ce qui se passera à la fin de sdb1, s'il est plus grand que sdb1.

Je suppose que sda ​​est le périphérique de démarrage et que vous voulez que sdb soit également votre périphérique de démarrage, mais peut-être voulez-vous simplement que sdb1 soit un clone de sauvegarde. Votre question est vague à ce sujet. Vous pourrez peut-être copier une partition sur une autre si elles ont exactement la même taille, mais le système d’exploitation possède des métadonnées sur le système de fichiers de la partition qui ne correspondent pas. Il ne peut donc pas les visualiser. Si vous voulez juste un clone pour la sauvegarde, alors peut-être que votre commande est ok, mais il y a des problèmes pour atteindre la fin de la partition et écraser la partition suivante, et si votre système d'exploitation s'opposera à la destruction du système de fichiers sur sdb1 sda1 (?)). En principe, cela pourrait fonctionner, mais il est probablement préférable d’écrire sda ​​uniquement sur sdb et d’oublier de démarrer à partir de sdb, c’est un clone de lecture. Vous pourriez probablement écrire dans un fichier si vous aviez extFAT ou un système acceptant une taille de fichier de 500 Go, mais je doute que vous le sachiez.

Il y a aussi des dizaines d'autres questions. Si vous souhaitez effectuer un transfert vers sdb et un démarrage ultérieur, vous devez connaître les octets et les secteurs à copier et les inclure dans votre commande - en vous assurant que le lecteur de sortie a la taille nécessaire, à nouveau/dev/sda dans/dev/sdb devrait fonctionner sauf pour certains problèmes que j'ai rencontrés. À savoir, que doit faire dd s’il rencontre une erreur de lecture commune sur les anciens lecteurs utilisés? Vous pouvez définir dd pour les ignorer, mais qu’écrit-il alors? D'après mon expérience, il n'écrit rien. Ainsi, 512 octets (bloc traditionnel normal, mais votre disque peut être différent; les nouveaux lecteurs peuvent utiliser des blocs de 4096 octets) sont sortis de l'écriture et tous les octets suivants sont décalés vers la gauche de où ils devraient être. Cela se produit pour chaque erreur de lecture que vous avez peut-être choisi d'ignorer, car une erreur de lecture arrête dd cold et qu'un redémarrage est extrêmement difficile. En bref, dd pour le clonage peut être fait, mais cela devrait être fait dans un script bash avec une boucle de reprise sur erreur qui remplit les blocs non lus avec des valeurs NULL, la commande doit spécifier le nombre exact de blocs et vous devez connaître exactement le format de bas niveau de les lecteurs impliqués. En fin de compte, il est probablement préférable que le clonage sérieux utilise un exécutable open source dédié qui fait ce que font dd et sfdisk mais de manière plus professionnelle. Mais, je vais admettre que dd est utile. C'est comme un couteau Bowie à la ceinture: impressionnant et puissant, mais avec une utilité limitée.

En outre, les systèmes d’exploitation peuvent vérifier les identificateurs UUID stockés dans l’espace libre et à d’autres emplacements sur le disque dur et s’opposer à l’amorçage s’ils ne correspondent pas. C'est l'un des domaines de l'art noir de la compétitivité des systèmes d'exploitation. Le logiciel officiel sait ces choses.)

Les tables GPT sont également importantes, voire essentielles de nos jours, contrairement à il y a 10 ans. Et les partitions de démarrage EFI compliquent les choses aussi. Avec le peu que je sais sur le formatage de disque de bas niveau, je ne perdrai même pas mon temps à essayer de cloner un disque entier. Certaines parties du disque peuvent être utiles pour des problèmes très particuliers. En ignorant LVM et sa signification, une partition peut être utilement clonée mais uniquement pour être lue sur le disque d'origine (pas de mélange du système d'exploitation, modifications de démarrage, etc.). Pour transférer un disque de 500 Go amorçable afin de créer un système amorçable de 1 To, en supposant que le système d'exploitation ne fonctionne pas. Si vous ne vous objectez pas à un autre lecteur (signatures matérielles?), ma suggestion pour une expérience réussie serait de rendre le formatage de bas niveau sur le disque de 1 To exactement comme celui de 500 Go - je veux dire exactement! Vous devez examiner les tables MBR et GPT avec un éditeur hexadécimal. Puis dd les partitions octet par octet sur le nouveau lecteur. Ensuite, démarrez le disque dur de 1 To (en cas de succès) et créez une autre partition dans les 500 Go d'espace disque supplémentaire, ou développez la partition et le système de fichiers réel, si vous disposez d'un tel logiciel et en avez confiance. La confiance dans ce domaine est difficile à trouver parce que ce genre de choses est difficile et désastreux si on se trompe. Mieux vaut acheter un nouveau système ou logiciel avec une grande réputation et SHA256SUMed afin que vous puissiez vérifier son intégrité. Les systèmes numériques sont par nature volatils et impermanents, il est donc préférable de s’habituer au changement, si vous avez besoin de plus que ce que vous avez.

2
Gavilan

J'ai:

  • ajout d'un deuxième disque virtuel plus grand à la machine virtuelle Ubuntu (configuration de la boîte virtuelle)
  • copié le premier sur le deuxième disque avec "Sudo dd if =/dev/sda of =/dev/sdb"
  • supprimé la partition d'échange sur sdb (gparted)
  • sdb1 élargi (gparted)
  • recréé la partition de swap sur sdb (gparted)
  • arrêté la machine virtuelle
  • supprimé l'ancien lecteur virtuel (configuration de la boîte virtuelle)
  • remplacé par le nouveau lecteur copié et plus grand (configuration de la boîte virtuelle)

Si cela fonctionne avec virtualbox cela fonctionne même avec du matériel réel ....

0
aldo