Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have an image of the entire disk created using dd. The disk structure follows:

kent@cow:~$ sudo fdisk -l

Disk /dev/sda: 750.1 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000b8508

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           5       90872   729929303+  83  Linux
/dev/sda2           90873       91201     2642692+   5  Extended
/dev/sda5           90873       91201     2642661   82  Linux swap / Solaris

The image was created using:

dd if=/dev/sda of=image750.img

How would I, if it is possible, mount /dev/sda1 from the image so that I'm able to read the contents?

It's not an option to clone the HDD again, I know how to do it if I had only cloned the single partition by itself. I hope it's still possible with the current image.

share|improve this question

6 Answers 6

Nowadays, there is a better way, no need to use offsets or kpartx anymore:

losetup --partscan --find --show disk.img

mount /dev/loop0p1 /mnt

to free up loop0, use after umount:

losetup -d /dev/loop0

share|improve this answer
On my Ubuntu 14.04 installation, losetup doesn't provide a --partscan option. –  Cutter Oct 5 '14 at 23:11

I ran into this problem today and wanted to update the answers just as a reminder for myself. Instead of calculating the offset on your own, you can use a tool that provides you with mountable devices from a dd image: kpartx



In the given case, it would need something like

sudo kpartx -a image750.img
sudo mount /dev/mapper/loop1p1 /mount/point -o loop,ro

where loop1p1 stands for the first partition, loop1p2 for the second, etc.

share|improve this answer

Loopmounting is only part of the answer.

Look at http://wiki.edseek.com/guide:mount_loopback#accessing_specific_partitions_in_the_image for help on specifying the partition. I think mount -o loop,offset=32256 /path/to/image750.img /mnt will work for you. but you really should read the mentioned tutorial.

share|improve this answer
the offset looks wrong; that corresponds to a partition start of 63 (<i>63 * 512 = 32256</i>). the offset in baumgart's answer looks more correct for this situation. the link is a good reference, but it'd be a better answer if you took the time to summarize the steps or commands needed for this procedure. thanks! –  quack quixote Mar 7 '10 at 15:57

You've got the first part: fdisk -l to find the start offset. Take that number, multiply by 512, and you'll get the offset option to mount. So, for sda1 in your case, 5 * 512 = 2560. Then run the mount:

mount -o loop,offset=2560 -t auto /path/to/image.dd /mount/point
share|improve this answer

I believe loopmounting is the answer -

sudo mkdir /path/to/dir/
mount -o loop example.img /path/to/dir/

should mount it under that directory.

umount /path/to/dir should unmount it

share|improve this answer

If you have User mode files system like fuse, then in desktop environments likes Gnome and have installed tool like gnome-disk-image-mounter, then it without even root by right click and open with it.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.