Dans un précédent billet j'expliquais qu'il était possible d'utiliser dd pour écrire du vide ou des valeurs aléatoire sur un disque dur afin d'en effacer son contenu. Grâce à dd, il est aussi possible de cloner une partition ou un disque entier vers un autre. En utilisant un live-cd, avec /dev/hda comme disque à cloner et /dev/hdb comme futur clone, la commande pour exécuter la copie est :

dd if=/dev/hda of=/dev/hdb

Bien sûr, aucun contrôle de copie n'est fait et même les espaces vides sont copiés. Donc si vous clonez un disque de 80 Go rempli à moitié, ce n'est pas 40 Go qui seront copiés mais bel et bien 80. A titre d'information, la copie d'un disque IDE de 80 Go a duré environ 2h50 (disque dur IDE, la machine est un pentium 3 1GHz avec un chipset i815e et 512Mo de mémoire vive pc133).

Il faut penser à s'assurer que le futur clone dispose d'assez d'espace disque pour ce genre de manoeuvre. On n'oublie pas non plus que les données du futur clone seront détruites. Tant qu'on y est dans les précautions, dd ne fait aucune vérification, donc il faut vérifier les données après coup, et les partitions doivent être démontées pour cette opération, de l'utilité d'avoir un live-cd ou un disque supplémentaire avec un système dessus. Pour ce qui est du live-cd, n'importe lequel peut convenir, du system rescue cd à Kaella en passant par Ubuntu ou Mandriva One.

Si le futur clone est plus grand, il est possible de créer une partition avec l'espace restant. Mais si on utilise LVM, il est possible de rajouter toute ou partie de cet espace à des partitions existantes. Ainsi, après clonage d'un disque de 80 Go sur un disque de 300 Go, j'ai pu agrandir la partition /home sans problème. Pour plus de détails concernant LVM, je recommande l'explication de Léa-Linux.