Requisiti
È stata creata un'immagine di un disco rigido. Il disco rigido è partizionato. Si desidera montare una delle partizioni dal file immagine.
Il problema
Linux può usare /dev/loop?
per trasformare un file immagine in un dispositivo a blocchi che può essere montato. Tuttavia, i dispositivi /dev/loop?
non riconoscono le partizioni.
La soluzione
Durante il montaggio, si possono usare le opzioni offset=
e sizelimit=
per limitare l'area del file immagine quando si monta usando il loopback. Se si posiziona quest'area esattamente sui confini di una partizione, è possibile montarla.
È possibile determinare la dimensione e la posizione delle partizioni con sfdisk
(in questo esempio l'immagine di una chiavetta USB con una sola partizione):
root@linux# sfdisk -d /tmp/image
# Partitionstabelle von /tmp/image
unit: sectors
/tmp/image1 : start= 32, size= 20448, Id=83, bootable
/tmp/image2 : start= 0, size= 0, Id= 0
/tmp/image3 : start= 0, size= 0, Id= 0
/tmp/image4 : start= 0, size= 0, Id= 0
I dati sono in blocchi di 512 byte. La conversione può essere effettuata ad esempio dalla shell. Il montaggio viene eseguito con il seguente comando:
root@linux# echo $((32 * 512)) $((20448 * 512))
16384 10469376
root@linux# mount -o loop,offset=16384,sizelimit=10469376 /tmp/image /mnt