Ruse pour compresser efficacement une image de partition sous Linux

Quand on a fini d’installer une machine, on revient de loin ! Une fois que tout est bien configuré je vous conseille de faire une image disque (sauvegarde « bit à bit ») de votre disque dur avant de commencer à mettre vos données.

L’ennui, c’est qu’un disque neuf ou réinitialisé avec un « formatage rapide » n’a pas un zéro inscrit sur chaque secteur : l’espace libre se compose de blocs inutilisés contenant en réalité des données aléatoires. Il deviendrait paradoxalement incompressible et serait très lourd.

L’idée, c’est d’aller dans chaque point de montage remplir un fichier avec des 0 puis de le supprimer. Cela va réinitialiser tous les secteurs libres de la partition à une valeur qui sera compressible.

Préparation des outils

Pour réaliser une image disque, votre machine doit nécessairement démarrer sur un autre système d’exploitation que celui à sauvegarder.

J’ai choisi le live CD d’Ubuntu 17.04 pour le faire, car il contient (ENFIN !) l’utilitaire « xz » en version 5.2. Il utilise l’algo lzma2 de 7z pour compresser, la version 5.2 apporte quant à elle la possibilité réduire le temps de compression en utilisant tous les cœurs de notre processeur.

Sélectionnez la clé USB au démarrage et lancez Ubuntu en mode « Essayer sans installer ». Vous arrivez sur le bureau, dans le dock, cherchez l’icône du navigateur de fichiers et débrouillez vous pour accéder au contenu de chaque partition du disque de votre machine. Le live CD va les monter automatiquement dans /media/ubuntu/nom_de_la_partoche.

Première étape : aplatissement de l’espace libre

Ouvrez l’application Terminal et lancez cette commande pour chaque partition (une à la fois) montée dans /media/ubuntu/ :

dd if=/dev/zero of=/media/ubuntu/partition/zero.tmp bs=10M

Comptez quelques heures pour 1To. Puis :

rm /media/ubuntu/partition/zero.tmp

Seconde étape : copie et compression des partitions

Vous aurez besoin d’un support de stockage externe.

Démontez toutes les partitions (sauf le disque externe 😉 ) montées dans /media/ubuntu/ avec umount. Utilisez la commande suivante pour lister vos partitions :

fdisk -l

Vous pouvez à présent compresser au choix votre disque entier (/dev/sdx sans chiffre) ou les partitions inviduellement.

threads=0 signifie « tous les cœurs » :

dd if=/dev/sdc4 bs=1M | xz --threads=0 > /media/ubuntu/disque_externe/fichier.xz

La décompression se fera comme ceci :

xz --decompress --threads=0 --keep --stdout /media/ubuntu/disque_externe/fichier.xz | dd of=/dev/sdc4 bs=1M

Cette série d’articles peut vous intéresser :

  1. Un NAS-médiacenter-seedbox-steambox- PC de salon pour 1000€
  2. Comment prémunir votre NAS contre le maximum de risques
  3. Choix des composants de mon NAS 2017
  4. Montage des composants dans le BitFenix Phenom M version Micro ATX
  5. Mise en place d’un dual-boot en présence d’un RAID
  6. Montage Plug-and-Play des clés USB sous Debian sans interface graphique
  7. Installation de Kodi sur Debian 8 comme interface multimédia
  8. Installation d’OpenMediaVault 3 sur Debian 8 comme interface web d’administration
  9. Installation de Deluge sur Debian 8 comme interface web de téléchargement de torrents
  10. Ruse pour compresser efficacement une image de partition sous Linux
Vus : 671
Publié par Influence PC : 88