Copie conforme de disques durs avec dd

Publié le 30/11/2013

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, là et là.

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.