Aller au contenu

Copie conforme de disques durs avec dd

·231 mots·2 mins

Lorsque l’on remplace un disque dur, il est généralement conseillé de réinstaller le système. C’est plus propre, cela permet de refaire les partitions, de nettoyer un peu les dossiers, … Mais ce n’est pas toujours faisable non plus. Pour passer d’un disque à un autre tout en gardant la même installation de l’OS, le plus efficace est de passer par la commande dd.

Pour faire simple:

  • Téléchargez un LiveCD / USB Linux
  • Identifiez bien chacun des disques (une erreur dans la commande pouvant simplement effacer le contenu)
  • Démarrez la machine sur l’environnement Live.
  • Identifiez chacun des disques dans le système (/dev/sda, /dev/sdb, …)
  • Lancez un terminal !

A partir d’ici, lancez la commande suivante :

dd if=/dev/sdX of=/dev/sdY bs=4096 conv=notrunc,noerror

En gros:

  • if identifie la source
  • of identifie la destination
  • bs permet de donner la taille des blocs à copier. Il semble que des blocs de 4K soient le meilleur compromis sur les disques actuels.
  • conv ajoute les informations suivantes:
  • notrunc pour ne pas tronquer les données
  • noerror ne s’arrête sur aucune erreur.

Cette manière de faire copiera tout. Les données, les partitions, la MBR, …

Sources: ici, et .

Pour info, le temps de copie entre un Seagate 7200.12 500Go et un WD Blue 1To aura pris environ 3h40, à raison de 102MB/s. Après cette étape, le remplacement du disque actuel par le nouveau a été un jeu d’enfant.