Cloner un disque dur
Pour une raison ou une autre, on peut avoir besoin de changer son disque dur principal (perso, c’est pour un disque moins bruyant et de plus grande capacité), mais on ne veut pas forcément réinstaller le(s) système(s) d’exploitation.
De plus, les disques fournis avec les pcs actuels sont à peu près tous dotés d’une partition de restauration, voire une partition de diagnostics.
Alors si on ne veut pas perdre les infos du disque actuel, une seule solution: cloner les partitions du disque.
Attention:
- manipuler directement les partitions peut être risqué, vaut mieux être vigilant.
- pour cloner une partition, il ne faut pas que ca soit celle où le système est en train de fonctionner, vaut mieux utiliser un livecd, SystemRescueCd par exemple.
- pour sauvegarder une partition ntfs avec partimage, il est conseillé de la défragmenter avant.
Applications
Au départ, je m’étais tourné vers 2 outils:
- dd: permet de faire une copie à l’identique (bit par bit) de la partition mais il vaut mieux que les partitions soient identiques. L’inconvénient est qu’il copie même les zones vides, ce qui prend énormément de temps pour les partitions de grandes tailles.
- rsync: permet de synchroniser 2 arborescences, suffisant pour des partitions linux, mais pas pour windows :/
En fin de compte, j’ai utilisé partimage et rsync.
partimage a l’avantage de ne sauvegarder que les données, par contre, le support du ntfs est expérimental.
Mais d’après la doc, si la sauvegarde se passe bien, il n’y a pas de raison pour que la restauration échoue…
Préparation du nouveau disque
Prenons /dev/sda comme disque actuel et /dev/sdb le nouveau disque.
Avant de pouvoir cloner le disque, il faut sauvegarder le mbr plus le schéma des partitions:
dd if=/dev/sda of=sauvegarde_mbr count=1 bs=512 sfdisk -d /dev/sda > sauvegarde_structure_partition
pour ensuite, les appliquer sur le nouveaux disque:
dd if=sauvegarde_mbr of=/dev/sdb sfdisk /dev/sdb < sauvegarde_structure_partition
On peut éventuellement ne pas recréer à l’identique toutes les partitions si c’est pour un disque de plus grande capacité, mais je pense qu’il vaut mieux créer à l’identique au moins les partitions de restauration et de diagnostic (s’il y en a).
Sauvegarde avec partimage
partimage dispose d’une interface graphique (ncurse):
- lancer: partimage
- sélectionner la partition à sauvegarder (ex: sda1)
- indiquer le fichier cible (ex: sauvegarde_sda1)
- sélectionner « Faire une image de la partition»
- puis « Suivant»
sur la 2ème fenêtre:
- personnellement , je n’ai pas choisi de compression, c’est plus rapide
- de même j’ai décoché la vérification de la partition avant la sauvegarde
- par contre, j’ai augmenté la taille des segments de fichiers à créer (5000 MB)
- puis « Continuer»
ou alors en ligne de commande:
partimage -z0 -c -d -V5000 -f3 -b save /dev/sda1 sauvegarde_sda1
en sortie, on aura plusierus fichiers commencant par sauvegarde_sda1 et finissant par .000, .001, … selon la taille des données.
Restauration avec partimage
De même que pour la sauvegarde:
- lancer:partimage
- sélectionner la partition à restaurer (ex: sdb1)
- indiquer le fichier cible (ex: sauvegarde_sda1.000)
- sélectionner » Restaurer la partition à partir d’une image»
- puis « Suivant»
sur la 2ème fenêtre:
- décocher « Simuler la restauration»
- cocher « Quitter»
- puis « Continuer»
ou en ligne de commande:
partimage -f3 -b restore /dev/sdb1 sauvegarde_sda1.000
Quelques captures:
Synchroniser avec rsync
Pour rsync, il faut auparavant créer le système de fichier sur la nouvelle partition puis monter la partition source et cible, exemple pour /dev/sda2 et /dev/sdb2:
mkdir /mnt/part_source mkdir /mnt/part_cible mkfs.ext3 /dev/sdb2 mount /dev/sda2 /mnt/part_source mount /dev/sdb2 /mnt/part_cible
puis lancer rsync:
rsync -av /mnt/part_source/ /mnt/part_cible/
Clone avec dd
Avec dd, c’est peut etre la copie la plus fiable, mais en même temps, la plus lente:
dd if=/dev/sda1 of=/dev/sda2
Conclusion
Voilà, une fois les partitions clonées ou synchronisées, il suffit d’éteindre, de changer le disque et de redémarrer le tout.

