A questa domanda viene data risposta come parte della risposta ad altre domande, ma qui merita un trattamento canonico, quindi non deve essere ripetuto.
Non è possibile montare l'immagine nel suo insieme perché in realtà contiene due partizioni e un settore di avvio. Tuttavia, è possibile montare le singole partizioni nell'immagine se si conosce il loro offset all'interno del file. Per trovarli, esamina l'immagine come un dispositivo a blocchi con fdisk -l whatever.img
. L'output dovrebbe includere una tabella come questa:
Device Boot Start End Blocks Id System
whatever.img1 8192 122879 57344 c W95 FAT32 (LBA)
whatever.img2 122880 5785599 2831360 83 Linux
Queste sono le due partizioni. Il primo è etichettato "FAT32" e l'altro "Linux". Sopra questa tabella, ci sono alcune altre informazioni sul dispositivo nel suo insieme, tra cui:
Units: sectors of 1 * 512 = 512 bytes
Possiamo trovare l'offset in byte moltiplicando questa dimensione dell'unità per il Start
blocco della partizione:
- 1a partizione 512 * 8192 = 4194304
- 2a partizione 512 * 122880 = 62914560
Questi possono essere usati con l' offset
opzione del mount
comando. Abbiamo anche un indizio sul tipo di ogni partizione da fdisk
. Quindi, presumendo che abbiamo directory /mnt/img/one
e /mnt/img/two
disponibili come punti di montaggio:
mount -v -o offset=4194304 -t vfat whatever.img /mnt/img/one
mount -v -o offset=62914560 -t ext4 whatever.img /mnt/img/two
Se viene visualizzato un errore "loop sovrapposto", la versione di mount
richiede di specificare la dimensione e l'offset della prima partizione. Smontalo e usa il numero di blocchi (57344) * 512 (= 29360128):
mount -v -o offset=4194304,sizelimit=29360128 \
-t vfat whatever.img /mnt/img/one
La seconda partizione non ha bisogno di un sizelimit poiché non c'è nulla dopo di essa nell'immagine.
Ora puoi accedere alle due partizioni. Se non si intende modificare nulla, utilizzare anche l' -r
opzione (sola lettura). Se si modifica qualcosa, tali modifiche verranno incluse nel .img
file.
Si noti che la prima partizione è probabilmente montata sulla /boot
seconda partizione quando il sistema è in esecuzione.