J'ai une image 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 en utilisant les utilitaires de boucle mais ici j'ai une image disque. Je suppose que je dois monter l'image en "sautant" la table de partition mais comment faire?
linux
partitioning
mount
dd
Emiliano
la source
la source
losetup --partscan --find --show disk.img
suivi demount /dev/loop0p1 /mnt/disk
Réponses:
L'outil kpartx facilite cela. 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 de boucle qui correspond à la partition souhaitée sans avoir à calculer le décalage manuellement.
Par exemple, pour monter la première partition de l'image disque:
Lorsque vous avez terminé avec l'image, supprimez les périphériques de boucle:
Alternativement, si vous avez un noyau récent et passez loop.max_part = 63 au 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:
Lorsque vous avez terminé avec la boucle:
la source
-o loop
précède,/dev/mapper/loop0p1
est déjà un périphérique de bloc (un périphérique de mappage au-dessus d'un périphérique de boucle, vous ne voulez pas une autre couche de périphérique de boucle au-dessus de cela)./dev/loop0p1
etc.) après l'exécutionlosetup
, exécutezpartprobe /dev/loop0
.kpartx
semble être installé par défaut dans Linux Mint 18.Trouvé ceci:
http://www.andremiller.net/content/mounting-hard-disk-image-including-partitions-using-linux
qui semble exactement ce que je cherchais.
Voici la partie clé:
où la valeur de décalage est en octets. La méthode suggérée pour obtenir le décalage consiste à pointer
parted
l'image, puis à l'unité B pour les octets et à prendre la valeur de départ de la sortie d'impression. Comme alternative, en supposant que vous avez l'espace disque, faites l'évidence: une fois que vous avez le décalage et la taille, utilisez simplementdd
pour extraire chaque partition dans un fichier séparé.la source
mount -o loop,ro,offset=32256 hda.img /mnt/rabbit
où la valeur deoffset
est en octets. La manière suggérée pour obtenir le décalage consiste à pointer la partie sur l'image, puisunit
B
à octets et à prendre lastart
valeur de laprint
sortie. Comme alternative, en supposant que vous avez l'espace disque, faites l'évidence: une fois que vous avez le décalage et la taille, utilisez simplementdd
pour extraire chaque partition dans un fichier séparé.mount
ligne contenant l'offset
option.la source
De nos jours, vous pouvez minimiser votre travail en utilisant
udisks
. Solution d' ArchWiki: udisks - Monter des périphériques en boucle-r
là pour l'option en lecture seule.la source
udisksctl
.