User Tools

Site Tools


doc:appunti:linux:sa:loop_mount

This is an old revision of the document!


Mountare una partizione dall'immagine di un disco

Normalmente il montaggio dell'immagine di un disco avviene con il comando:

mount -o loop file.img /mnt

Se l'immagine contiene delle partizioni (ad esempio è l'immagine di un intero disco oppure di una memoria flash USB con delle partizioni al suo interno) il comando non funziona. Bisogna scoprire a quale offset del file inizia la partizione. La prima cosa da fare è vedere la tavola delle partizioni:

sfdisk -l -uS usbdisk.img 
Disk usbdisk.img: cannot get geometry

Disk usbdisk.img: 509 cylinders, 255 heads, 63 sectors/track
Warning: The partition table looks like it was made
  for C/H/S=*/16/63 (instead of 509/255/63).
For this listing I'll assume that geometry.
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
usbdisk.img1            63   8187983    8187921   c  W95 FAT32 (LBA)
usbdisk.img2             0         -          0   0  Empty
usbdisk.img3             0         -          0   0  Empty
usbdisk.img4             0         -          0   0  Empty

La prima partizione inizia al settore 63, ciascun settore è di 512 byte, pertanto l'offset della prima partizione è pari a 63 * 512 = 32256. Il montaggio può essere fatto quindi con:

mount -o loop,offset=32256 usbdisk.img /mnt

Metodo facile

Bisogna che il modulo kernel loop sia caricato con il parametro …

losetup /dev/loop0 /dev/device
mount /dev/loop0p1 /mnt
umount /mnt
losetup -d /dev/loop0
doc/appunti/linux/sa/loop_mount.1321876742.txt.gz · Last modified: 2011/11/21 12:59 by niccolo