63 votes

Comment puis-je monter une partition à partir d'une image créée par dd d'un périphérique de blocs (par exemple un disque dur) sous Linux ?

J'ai une image de l'ensemble du disque créée à l'aide de dd. La structure du disque est la suivante :

kent@cow:~$ sudo fdisk -l

Disk /dev/sda: 750,1 Go, 750156374016 octets
255 têtes, 63 secteurs/piste, 91201 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Identifiant de disque : 0x000b8508

   Périphérique Amorçage      Début         Fin      Blocs   Id  Système
/dev/sda1   *               5       90872   729929303+  83  Linux
/dev/sda2               90873       91201     2642692+   5  Étendue
/dev/sda5               90873       91201     2642661   82  Linux swap / Solaris

L'image a été créée en utilisant :

dd if=/dev/sda of=image750.img

Comment pourrais-je, si c'est possible, monter /dev/sda1 à partir de l'image pour pouvoir en lire le contenu ?

Il n'est pas possible de recréer le disque dur, je sais comment le faire si j'avais seulement cloné la partition individuelle en elle-même. J'espère que c'est toujours possible avec l'image actuelle.

104voto

wythagoras Points 101

De nos jours, il existe une meilleure méthode, plus besoin d'utiliser des décalages ou kpartx :

losetup --partscan --find --show disk.img

mount /dev/loop0p1 /mnt

pour libérer loop0, utiliser après le démontage:

losetup -d /dev/loop0

8 votes

Sur mon installation Ubuntu 14.04, losetup ne propose pas d'option --partscan.

1 votes

@Cutter il a été ajouté dans util-linux 2.21, Ubuntu 16.04. :-)

0 votes

Ayant d'abord utilisé kpartx, qui monte les partitions comme /dev/mapper/loop3p1, je tiens simplement à souligner que losetup crée les périphériques comme /dev/loop0p1. La réponse le note, mais je l'ai probablement lu plus de 10 fois. :/

14voto

GrGr Points 241

J'ai rencontré ce problème aujourd'hui et j'ai voulu mettre à jour les réponses juste pour me rappeler. Au lieu de calculer le décalage par vous-même, vous pouvez utiliser un outil qui vous fournit des périphériques montables à partir d'une image dd : kpartx

http://robert.penz.name/73/kpartx-a-tool-for-mounting-partitions-within-an-image-file/

http://linux.die.net/man/8/kpartx

Dans le cas donné, il faudrait quelque chose comme

sudo kpartx -a image750.img
sudo mount /dev/mapper/loop1p1 /mount/point -o loop,ro

où loop1p1 représente la première partition, loop1p2 la deuxième, etc.

13voto

Paul Williams Points 123

Vous avez la première partie : fdisk -l pour trouver le décalage de départ. Prenez ce nombre, multipliez-le par 512, et vous obtiendrez l'option de décalage pour le montage. Ainsi, pour sda1 dans votre cas, 5 * 512 = 2560. Ensuite, exécutez le montage :

mount -o loop,offset=2560 -t auto /chemin/vers/image.dd /point/de/montage

7voto

Chochos Points 3364

Je crois que loopmounting est la réponse -

sudo mkdir /chemin/vers/dossier/
mount -o loop example.img /chemin/vers/dossier/

Le ci-dessus devrait le monter sous ce répertoire.

Ceci devrait le démonter :

umount /chemin/vers/dossier

5voto

Richard June Points 857

Loopmounting n'est qu'une partie de la réponse.

Consultez http://wiki.edseek.com/guide:mount_loopback#accessing_specific_partitions_in_the_image pour obtenir de l'aide sur la spécification de la partition. Je pense que mount -o loop,offset=32256 /path/to/image750.img /mnt fonctionnera pour vous. mais vous devriez vraiment lire le tutoriel mentionné.

0 votes

L'offset semble incorrect; cela correspond à un début de partition de 63 (63 * 512 = 32256). l'offset dans la réponse de baumgart semble plus correct pour cette situation. le lien est une bonne référence, mais ce serait une meilleure réponse si vous preniez le temps de résumer les étapes ou commandes nécessaires pour cette procédure. merci!

0 votes

Ceci est un bon exemple de lien brisé. Cette page n'existe plus.

0 votes

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X