Sauvegarder une partition entière avec dd

Publié par Tpeltier le

La commande dd permet de sauvegarder un disque entier ou une partition sans devoir faire attention à ce qu’il y a effectivement sur le disque, à sa structure. Il copie les données se trouvant sur le disque physique sans se préoccuper de savoir si il y a une ou plusieurs partitions ni comment elles sont formatées. De plus dd peut copier des secteurs du disque qui ne se trouvent pas sur une partition comme le MBR par exemple.

Il est donc possible de sauvegarder un disque entier ou simplement une partition et donc, même une partition Windows Vista par exemple. Et comme je suis un peu comme Saint Thomas, je ne crois que ce que j’ai pu expérimenter, je me suis lancé dans la sauvegarde et la restauration d’une partition contenant un Windows Vista en parfait état de marche.

La première chose que j’ai faite, c’est monter un disque dur externe sur /media/disk. Ce disque va servir à recevoir la sauvegarde de ma partition. Ensuite j’ai fait une sauvegarde du MBR parce qu’on ne sait jamais! Si quelque chose se passe mal, je suis sûr d’au moins pouvoir restaurer le MBR du disque avec la table des partitions:

$ sudo dd if=/dev/sda of=/media/disk/mbr.bin bs=512 count=1

La commande dd permet de sauvegarder les données par blocs. La taille du bloc est déterminée par le paramètre bs dans la commande. Dans le cas du MBR, celui-ci correspond au premier secteur du disque et fait 512 octets. On donnera donc au bloc la taille de 512. Par contre, lors de la sauvegarde d’une partition ou d’un disque entier, il peut être intéressant de donner au bloc une taille multiple de celle des blocs sur le disque. La plupart des disques sont constitués de blocs de 512 octets. Définir une taille de 1024 ou 2048 permet d’accélérer la sauvegarde. Créer des blocs de taille plus grande ne sert à rien d’après mes essais.

L’inconvénient de dd, c’est qu’il copie absolument tout. Même les parties du disque non-utilisées. Si votre partition fait 250GB, la sauvegarde fera aussi 250GB. Pour diminuer cette taille, nous pouvons compresser avec gzip les données. Les essais que j’ai fait sur une partition de 25GB donnaient une sauvegarde de 18GB. C’est déjà mieux. Il peut être aussi intéressant de s’assurer avant de formater le disque qu’il contient bien des zéros partout. De cette façon, les zones inutilisées sont constituées de zéros qui se compressent très bien. D’après ce que j’ai pu voir, c’est déjà le cas des partitions NTFS et mes partitions ext3/ext4 contenaient aussi des zéros dans les zones inutilisées. Mais pour être sûr, remplissez le disque de zéro avant tout formatage, cela diminuera la taille de la sauvegarde plus tard si cela s’avère nécessaire. La commande suivante remplit le disque sda de zéros:

$ sudo dd if=/dev/zero of=/dev/sda bs=1024k conv=noerror,sync

Attention: n’utilisez la commande ci-dessus que si vous savez ce que vous faites. L’utiliser sur un disque en utilisation, le remplira de zéro et effacera toutes les données du disque.

Autre inconvénient de dd, ça prend du temps! Comme il copie tout, cela prend même un temps fou. Trois quarts d’heure pour ma partition de 25GB sur mon (vieux) système.

Passons maintenant à la sauvegarde proprement dite. Je veux donc sauvegarder ma partition Vista se trouvant sur le disque sda1.

$ sudo dd if=/dev/sda bs=2048 conv=noerror,sync | pv | gzip -c > /media/disk/sda1_backup.gz

La commande pv permet d’avoir une indication de ce qui est déjà fait et de ce qui reste à faire. La commande gzip avec l’option -c envoie le résultat vers la sortie standard qui est redirigée vers un fichier sur le disque externe monté dans /media/disk.

Si par malheur un jour, vous devez restaurer la partition, il suffit de faire l’opération inverse:

$ gunzip -c /media/disk/sda1_backup.gz | pv | sudo dd of=/dev/sda1 bs=2048

Je vous l’ai dit, cette commande dd permet tout aussi bien de sauvegarder un disque en entier. Il suffit dans les commandes ci-dessus de remplacer /dev/sda1 par /dev/sda.
Pour installer pv qui ne l’est pas par défaut, tapez:

$ sudo aptitude install pv

La commande dd copie à l’identique. Il faut donc, lors de la restauration, que le disque ou la partition soit d’une taille suffisante pour recevoir l’image du disque ou de la partition qui a été sauvegardée.

Pour info, il existe une multitude d’outils permettant de sauvegarder ou de cloner une partition ou un disque dur autre que dd. Les plus connus sont PartImage et Clonezilla.

Catégories : Linux

0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.