Tuesday, November 3, 2015

Mount partition from multi-partition drive image

I've had to do this a few times. Linux is awesome for dealing with devices and images. From http://askubuntu.com/ is the simple procedure.

Get the partition layout of the image
$ sudo fdisk -lu sda.img
...
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
...
  Device Boot      Start         End      Blocks   Id  System
sda.img1   *          56     6400000     3199972+   c  W95 FAT32 (LBA)
 
 
Calculate the offset from the start of the image to the partition start
Sector size * Start = (in the case) 56 * 512 = 28672
Mount it on /dev/loop0 using the offset
$ sudo losetup -o 28672 /dev/loop0 sda.img
 
Now the partition resides on /dev/loop0. You can fsck it, mount it etc
$ sudo fsck -fv /dev/loop0
$ sudo mount /dev/loop0 /mnt
 
Unmount
$ sudo umount /mnt
$ sudo losetup -d /dev/loop0