web-dev-qa-db-fra.com

Utilisation de DD pour cloner un disque dur à un SSD?

J'ai une machine à domicile exécutant Windows 7 et je me demande si cela fonctionnerait pour faire une commande comme celle-ci:

dd if=/dev/${oldSataSpinningDisk} of=/dev/${newSSD}

Io clonez le contenu du système actuel en cours d'exécution sur un disque dur SATA à un nouveau SSD? Principalement, Windows 7 démarrerait-il et travaille-t-il réellement?

9
dobbs

Juste pour ajouter les réponses existantes (parfaitement fines), je ne peux pas encore commenter.

Pourquoi avez-vous besoin de BS = 64 (blocsize)? Bien que je ne puisse pas dire s'il s'agit du paramètre le plus rapide du tout, la réponse simple est que cela fonctionne de manière plus rapide (environ 4X) que les paramètres standard. Tim Williscroft indique que 100M pourrait être plus rapide, plus de recherches pourraient être nécessaires ici.

Tester les données sur mon système: (j'ai annulé la première course car il a fallu trop de temps IMHO.)

$ Sudo dd if=/dev/sdb4 of=/dev/sda2 status=progress
12962501120 bytes (13 GB, 12 GiB) copied, 394 s, 32,9 MB/s
$ Sudo dd if=/dev/sdb4 of=/dev/sda2 status=progress bs=64K 
13143113728 bytes (13 GB, 12 GiB) copied, 98,0026 s, 134 MB/s 

Je recommanderais également d'ajouter conv=noerror,sync Pour la sécurité des erreurs.

Aussi par Tim Williscroft : Vous pouvez ajouter la convention conv=notrunc

Ce que vous pourriez aussi regarder est un tour par misry

Personne ne semble savoir [...] DD est un programme de copie asymétrique, ce qui signifie qu'il sera lu en premier, puis écrivez, puis de retour. Vous pouvez pipeler DD à lui-même et le forcer à effectuer la copie symétriquement, comme ceci: DD si =/dev/sda | DD de =/dev/sdb. Dans mes tests, exécutez la commande sans que le tuyau m'a donné un débit d'environ 112 kb/s. Avec le tuyau, j'ai eu environ 235kb/s. Je n'ai jamais eu de problèmes avec cette méthode. Bonne chance!

Bien qu'il semble abuser du mot symétrique au sens du sens, cela vaudrait probablement aussi essayer.

2
Cadoiz

Oui, l'idée a raison, mais la commande est mauvaise. S'il y a même une erreur de lecture, la commande DD sautera un octet qui fera défaut le schéma de partitionnement. Vous devez spécifier que chaque octet est copié sur le même emplacement physique (du début).

dd if=/dev/oldsataspinningdisk of=/dev/newssd bs=64K conv=noerror,sync
18
cden

Je l'ai fait récemment en utilisant la vanille ordinaire:

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

Démarré mon ordinateur portable avec Ubuntu Mate Live USB.

Pour 1 To HDD, il a fallu environ 6 heures @ 43Mb/s, a tiré mon ordinateur portable avec de nouveaux SSD et tout (toutes les partitions Windows et Linux) fonctionnaient parfaitement.

2
Ajay Kumar