Comment puis-je monter une image de disque?

J'ai une image de disque myimage.disk qui contient la table de partition et une partition principale (c'est-à-dire un système de fichiers FAT32). Pensez-y comme une image de stylo USB.

Je souhaite monter la partition principale dans un répertoire local. Je sais comment monter une image de partition à l'aide des utilités de boucle mais ici j'ai une image de disque. Je suppose que je dois monter l'image "ignorer" la table de partition mais comment puis-je faire cela?

5 Solutions collect form web for “Comment puis-je monter une image de disque?”

L'outil kpartx facilite cette tâche. Il crée des périphériques de boucle dans / dev / mapper pour chaque partition de votre image. Ensuite, vous pouvez monter le périphérique en boucle qui correspond à votre partition souhaitée sans devoir calculer le décalage manuellement.

Par exemple, pour monter la première partition de l'image du disque:

 kpartx -a -v myimage.disk mount /dev/mapper/loop0p1 /mnt/myimage 

Lorsque vous avez fini avec l'image, retirez les périphériques de boucle:

 umount /mnt/myimage kpartx -d -v myimage.disk 

Sinon, si vous avez un kernel récent et passe loop.max_part = 63 lors du démarrage (si la boucle est intégrée) ou à modprobe (si la boucle est un module), vous pouvez le faire de cette façon:

 losetup /dev/loop0 myimage.disk partprobe /dev/loop0 # Re-read partition table if /dev/loop0 was used with a different image before mount /dev/loop0p1 /mnt/myimage 

Lorsque vous avez fini avec la boucle:

 losetup -d /dev/loop0 

Trouvé ceci:

http://www.andremiller.net/content/mounting-hard-disk-image-including-partitions-using-linux

Ce qui semble exactement ce que je cherchais.

Voici la partie clé:

 mount -o loop,ro,offset=32256 hda.img /mnt/rabbit 

Où la valeur du décalage est en octets. Le moyen suggéré d'obtenir le décalage est de pointer parted à l'image, puis l'unité B pour les octets et de prendre la valeur de départ à partir de la sortie d'impression. Comme alternative, en supposant que vous disposez de l'espace disque, faites l'évidence: une fois que vous avez le décalage et la taille, utilisez simplement dd pour extraire chaque partition dans un fichier séparé.

 local_image_file=/var/tmp/image.img first_byte=$(parted -m ${local_image_file} unit B print | grep Linux | cut --fields 2 --delimiter ':' | sed 's/.$//') loop_file=/var/tmp/loop mkdir -p ${loop_file} mount -o loop,ro,offset=${first_byte} ${local_image_file} ${loop_file} 

De nos jours, vous pouvez minimiser votre travail en utilisant udisks . Solution à partir d' ArchWiki: udisks – Mount loop devices

Pour monter facilement des images ISO, utilisez la commande suivante:

 udisksctl loop-setup -r -f image.iso 

Cela créera un périphérique de boucle et montrera l'image ISO prête à monter. Une fois démonté, le périphérique de boucle sera terminé par udev.

-r là pour l'option en lecture seule.

Merci pour kpartx, c'est vraiment génial, ou du moins si cela fonctionnerait comme supposé.

Mon problème consiste à créer des fichiers .VHD créés par M $ diskpart tool et avoir des partitions créées par le même outil.

Au moins, kpartx crée le / dev / loop1 et avec gparted / dev / loop1, je pourrais voir que la partition NTFS a un certain problème.

Je peux dire à haute voix que les fichiers .VHD sont de taille fixe et tous peuvent être montés par l'outil vhdmount sur Windows Vista et avec le gestionnaire de disque sur 7, 8, 8.1 et 10 sans problème, peut également être utilisé par Grub2 + memdisk En tant que lecteur de démarrage pour Vista, 7, 8, 8.1 et 10, etc. Oui, un fichier VHD pour chaque Windows, donc aucun mixage (toutes les partitions de systèmes sur un disque avec une seule partition étendue à 100%, chaque fenêtre sur son Propre partition logique), donc tous démarrent bien sans aucune partition physique primaire (les fichiers VHD sont également stockés dans la partition logique).

Chaque VHD possède uniquement une partition primaire NTFS (style MBR).

Chaque disque VHD est 32MiB et la partition interne est 31MiB (1MiB gratuit à la fin).

L'exécution de fdisk et l'utilisation de la commande i montrent une très rare géométrie C / H / S! La dépendance à l'OS aussi les valeurs change! Que diable fait-il lors de la création des partitions!

Si j'ai le temps, j'essaierai de recréer la partition et de re-faire tout le travail pour mettre là les bootloaders (bootmgr + BCD stuff).

Mais je crains que les fichiers .VHD ne soient pris en charge par kpartx, et depuis que tous les travaux permettent de mettre des bootloaders, un dans chaque VHD est une tâche énorme, je ne veux pas perdre mon temps (plus de 8 heures à faire Cette tâche).

Je déteste mount -o loop, il tend à briser les choses dans ces fichiers.

PD: losetup – partscan … me dit aussi moins que gparted / dev / loop1, il ne détecte pas la partition (uniquement les sorties / dev / loop1).

  • Récupérez ma carte SD
  • Soyons le génie de l'ordinateur et du réseau.