[TIPS] Monter une partition contenue dans une image disque complète

Petit billet mémoire:

Lors de la copie d'un périphérique de stockage à l'aide de l'utilitaire "dd" on obtient un gros fichier faisant la taille de la surface du disque.

Une fois l'image créée, comment peut on accéder aux partitions contenues dedans?

""fdisk"" permet par exemple de traiter le fichier comme un périphérique de bloc normal. Il nous renseigne notamment où débutent et finissent les partitions

root@debian:~/debian# fdisk -l debian.img
Disk debian.img: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders, total 8388608 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e1c07

Device Boot      Start         End      Blocks   Id  System
debian.img1   *          63     7936109     3968023+  83  Linux
debian.img2         7936110     8385929      224910    5  Extended
debian.img5         7936173     8385929      224878+  82  Linux swap / Solaris

La colonne "Start" contient le secteur de départ. Prenons cette valeur multipliée par 512 pour obtenir l'octet où commence la partition couplé avec la commande mount et l'option offset:

root@debian:~/debian# mount -o offset=$[512*63] debian.img /mnt/tmp/
root@debian:~/debian# ls /mnt/tmp/
bin   dev  home        lib         media  opt   root  selinux  sys  usr  vmlinuz
boot  etc  initrd.img  lost+found  mnt    proc  sbin  srv      tmp  var> 

Le système de fichier contenu dans l'image est bien monté et accessible à partir du répertoire /mnt/tmp

L'utilitaire file permet d'afficher aussi le secteur de début de partition:

root@debian:~/debian# file debian.img
debian.img: x86 boot sector; partition 1: ID=0x83, active, 
starthead 1, startsector 63, 7936047 sectors; partition 2: ID=0x5,
 starthead 0, startsector 7936110, 449820 sectors, code offset 0x63

Pour afficher le système de fichier contenu dans les partitions, j'utilise parted:

root@debian:~/debian# parted debian.img
GNU Parted 2.3
Using /root/debian/debian.img
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model:  (file)
Disk /root/debian/debian.img: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system     Flags
 1      32,3kB  4063MB  4063MB  primary   ext3            boot
 2      4063MB  4294MB  230MB   extended
 5      4063MB  4294MB  230MB   logical   linux-swap(v1)

Notez également que l'utilitaire permet de changer l'unité des valeurs affichées:

(parted) unit
Unit?  [compact]? B
(parted) print
Model:  (file)
Disk /root/debian/debian.img: 4294967296B
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start        End          Size         Type      File system     Flags
 1      32256B       4063288319B  4063256064B  primary   ext3            boot
 2      4063288320B  4293596159B  230307840B   extended
 5      4063320576B  4293596159B  230275584B   logical   linux-swap(v1)

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien : http://blog.oxidnation.be/index.php?trackback/7

Fil des commentaires de ce billet