8

I am trying to mount a KVM-qemu disk image with this command: sudo mount -o loop,offset=32256 centos6.img /mnt/centos6. But it shows this error: you must specify filesystem type. As I have more partitions in my disk image I tried this solution. But that too gives same error.

Here is the output of fdisk -ul centos6.img:

Disk centos6.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0001da69

      Device Boot      Start         End      Blocks   Id  System
centos6.img1   *        2048     1026047      512000   83  Linux
Partition 1 does not end on cylinder boundary.
centos6.img2         1026048    20971519     9972736   8e  Linux LVM
Partition 2 has different physical/logical endings:
     phys=(1023, 254, 63) logical=(1305, 106, 17)
tshepang
  • 65,642
nixnotwin
  • 838
  • The answer here solved my issue. http://serverfault.com/questions/287070/how-to-mount-virtual-machines-lvm-partition-on-kvm-host – nixnotwin Nov 13 '11 at 06:01
  • As I couldn't boot my vm image I wanted to edit the inittab file. But editing it hasn't solved the issue. – nixnotwin Nov 13 '11 at 06:04

2 Answers2

7

This worked for me:

kpartx -av cento.img

And mounting the loop device created in /dev/mapper:

sudo mount /dev/mapper/loop0p1 /mnt/destination
nixnotwin
  • 838
1

2048 (starting sector) times 512 (sector size) is 1048576. So you should run

sudo mount -o loop,offset=1048576 centos6.img /mnt/centos6

The reason for the error message you got is that you told the kernel to look for a filesystem at some random unoccupied point on the disk. So it told you it didn't recognize a filesystem there.

See Reading a filesystem from a whole disk image for background.

You might try libguestfs, which can mount many VM disk images automagically.