Monter une image Clonezilla

Comment monter une image Clonezilla pour y récupérer certains fichiers spécifiques.

Monter une image Clonezilla

Dans le cadre d'une réinstallation complète de mon système ubuntu (le partitionnement ne me plaisait pas) j'ai utilisé le logiciel Clonezilla permettant de réaliser une image complète d'un disque, au même titre que les logiciels plus connus mais propriétaires : Acronis True Image© ou Norton Ghost©.
Après avoir réalisé une image de mon système sur un disque externe, j'ai souhaité réaliser une nouvelle installation d'ubuntu. En utilisant la sauvegarde réalisée par Clonezilla, il est possible d'y piocher seulement les fichiers que je souhaitais récupérer sans être obligé de restaurer complètement la partition associée.

description de la sauvegarde

Pour commencer, il est nécessaire d'identifier le fichier correspondant à la partition recherchée. Lors de la sauvegarde du disque, Clonezilla a créé un répertoire complet avec les détails qui sont nécessaires à la restauration.
Comme on peut le voir ci-dessous, un grand nombre de fichiers sont créés dans le répertoire de sauvegarde :
jeremie@homer:/media/jeremie/Backup/2017-11-03-20-img

total 30971462
drwxrwxrwx 1 jeremie jeremie        4096 nov.   3 22:11 ./
drwxrwxrwx 1 jeremie jeremie        4096 nov.   9 14:04 ../
-rwxrwxrwx 1 jeremie jeremie        2117 nov.   3 21:56 blkdev.list*
-rwxrwxrwx 1 jeremie jeremie        1700 nov.   3 21:56 blkid.list*
-rwxrwxrwx 1 jeremie jeremie        6334 nov.   3 22:11 clonezilla-img*
-rwxrwxrwx 1 jeremie jeremie         174 nov.   3 22:03 dev-fs.list*
-rwxrwxrwx 1 jeremie jeremie           4 nov.   3 22:03 disk*
-rwxrwxrwx 1 jeremie jeremie       24047 nov.   3 22:03 Info-dmi.txt*
-rwxrwxrwx 1 jeremie jeremie         187 nov.   3 22:11 Info-img-id.txt*
-rwxrwxrwx 1 jeremie jeremie       33459 nov.   3 22:03 Info-lshw.txt*
-rwxrwxrwx 1 jeremie jeremie        2372 nov.   3 22:03 Info-lspci.txt*
-rwxrwxrwx 1 jeremie jeremie         243 nov.   3 22:03 Info-packages.txt*
-rwxrwxrwx 1 jeremie jeremie          97 nov.   3 22:11 Info-saved-by-cmd.txt*
-rwxrwxrwx 1 jeremie jeremie          10 nov.   3 22:03 parts*
-rwxrwxrwx 1 jeremie jeremie  5845167082 nov.   3 21:58 sdd1.ext4-ptcl-img.gz.aa*
-rwxrwxrwx 1 jeremie jeremie 25868462745 nov.   3 22:03 sdd2.ext4-ptcl-img.gz.aa*
-rwxrwxrwx 1 jeremie jeremie          37 nov.   3 21:56 sdd-chs.sf*
-rwxrwxrwx 1 jeremie jeremie     1048064 nov.   3 21:56 sdd-hidden-data-after-mbr*
-rwxrwxrwx 1 jeremie jeremie         512 nov.   3 21:56 sdd-mbr*
-rwxrwxrwx 1 jeremie jeremie         415 nov.   3 21:56 sdd-pt.parted*
-rwxrwxrwx 1 jeremie jeremie         362 nov.   3 21:56 sdd-pt.parted.compact*
-rwxrwxrwx 1 jeremie jeremie         251 nov.   3 21:56 sdd-pt.sf*
-rwxrwxrwx 1 jeremie jeremie          57 nov.   3 22:03 swappt-sdd3.info*

Les sauvegardes sont clairement identifiables par leur taille, ici sdd1.ext4-ptcl-img.gz.aa et sdd2.ext4-ptcl-img.gz.aa

Le fichier dev-fs.list décrit les partitions présentes sur le disque sauvegardé, dans cet exemple, il contient 3 lignes :

# <Device name>   <File system>
# File system is got from ocs-get-part-info. It might be different from that of blkid or parted.
/dev/sdd1 ext4
/dev/sdd2 ext4
/dev/sdd3 swap

Si vraiment ces informations ne suffisent pas, vous pouvez identifier ces anciens points de montage avec le disque correspondant et la taille de la partition du disque sauvegardé.
cat blkdev.list affiche alors

KNAME NAME     SIZE TYPE FSTYPE     MOUNTPOINT                                 MODEL
loop0 loop0  225.6M loop squashfs   /lib/live/mount/rootfs/filesystem.squashfs 
sda   sda      1.8T disk                                                       TOSHIBA HDWD120 
sda1  |-sda1   1.8T part zfs_member                                            
sda9  \`-sda9     8M part                                                       
sdb   sdb      1.8T disk                                                       TOSHIBA HDWD120 
sdb1  |-sdb1   1.8T part zfs_member                                            
sdb9  \`-sdb9     8M part                                                       
sdc   sdc      1.8T disk                                                       TOSHIBA HDWD120 
sdc1  |-sdc1   1.8T part zfs_member                                            
sdc9  \`-sdc9     8M part                                                       
sdd   sdd    119.2G disk                                                       Samsung SSD 840 
sdd1  |-sdd1    28G part ext4                                                  
sdd2  |-sdd2  89.5G part ext4                                                  
sdd3  \`-sdd3   1.9G part swap                                                  

Ici, les partitions qui nous intéressent sont sdd1 et sdd2 sur le disque Samsung SSD 840.
J'identifie alors mon ancienne partition /home sur sdd2.

montage d'une image

Lors de la sauvegarde, j'ai utilisé l'utilitaire partclone avec une compression gzip (choix par défaut dans Clonezilla). Pour restaurer mon image, il suffit de deux étapes

  • créer le fichier destination pour initialiser le fichier image, sinon partclone échoue lors de la restauration
  • une succession de commande de cat, gzip et parclone. Attention, assurez vous d'avoir suffisamment d'espace sur le disque de destination pour créer l'image qui sera ensuite utilisable (*.img)

par exemple, sur mon cas précis :

  • touch /chemin/vers/la/future/image/sdd2.img
  • cat /chemin/source/2017-11-03-20-img/sdd2.ext4-ptcl-img.gz.aa | gzip -d -c | partclone.restore -C -s - -O /chemin/vers/la/future/image/sdd2.img

Après un certain temps, la console affiche

Partclone v0.3.6 http://partclone.org
Démarrage restauration image (-) vers périphérique (sdd2.ext4.img)
Calculating bitmap... Please wait...
done!
Système de fichiers:  EXTFS
Device size:   96,0 GB = 23446272 Blocks
Space in use:  37,5 GB = 9155639 Blocks
Free Space:    58,5 GB = 14290633 Blocks
Taille de bloc:  4096 octets
Elapsed: 00:05:34, Remaining: 00:00:00, Completed: 100.00%, Débit:   6,74GB/mn, 
current block:   23402199, total block:   23446272, Complete: 100.00%           
Durée totale: 00:05:34, Débit moyen:    6,7GB/mn, 100.00% completed!
Syncing... OK!
Partclone a réussi à restaurer l'image (-) vers le périphérique (sdd2.img)
Cloned successfully.

L'exécution se réalise sans problème, et voilà, j'ai désormais un fichier que je peux monter simplement dans ubuntu ! :)
Dans les dernières versions d'ubuntu, il est néanmoins nécessaire de réaliser un clic droit sur le fichier sdd2.img et choisir "Ouvrir avec une autre application". Par défaut, ubuntu propose l'Enregistreur d'images disque, mais je souhaite simplement monter l'archive pour la lire. Pour cela, il faut choisir l'application Monteur d'images disque.

Au cas où le montage de l'archive sdd2.img ne fonctionne pas, il est peut-être nécessaire d'effectuer une phase de réparation du fichier.
Un des messages possible est mount: /mnt/sdd2: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
Dans ce cas, exécuter la commande suivante pour redimensionner correctement le système de fichier au sein de l'archive :
resize2fs sdd2.ext4.img
et si cela ne fonctionne toujours pas, effectuer une réparation du système de fichier par la commande e2fsck -f -b 32768 sdd2.img

Voilà, vous devriez pouvoir naviguer dans l'archive, et la monter au besoin pour y revenir quand vous le souhaitez :-)

Capture-d--cran-de-2017-11-22-21-28-40