Xen based disk images are of course easy to mount as they don't have a mbr or partitions. KVM however requires a disk image with boot, swap and extended partitions. As a result mounting a KVM disk based image is a little different, but as it turns out, quite easy.
There are loads of different ways of doing this. Many of them didnt work for me. lomount which was mentioned a lot, but wasn't in debian (as far as I could see). losetup was but there were extra steps involved which were not needed.
The commands below work for ext3 and ntfs, no problem! The only requirement is that it is a file based disk image.
#on the host computer with the VM shutdown kpartx -av disk.img mount /dev/mapper/loop0p1 /mnt umount /mnt kpartx -dv disk.img
Debian-50-lenny-32-minimal:~# kpartx -av /xens/vm03/disk-vm03.img add map loop1p1 (253:2): 0 9687132 linear /dev/loop1 63 add map loop1p2 (253:3): 0 546210 linear /dev/loop1 9687195 add map loop1p5 : 0 546147 linear 253:3 63 Debian-50-lenny-32-minimal:~# mount /dev/mapper/loop1p1 /mnt Debian-50-lenny-32-minimal:~# ls /mnt bin boot cdrom dev etc home initrd.img lib lost+found media mnt opt proc root sbin selinux srv sys tmp usr var vmlinuz Debian-50-lenny-32-minimal:~# umount /mnt Debian-50-lenny-32-minimal:~# kpartx -dv /xens/vm03/disk-vm03.img del devmap : loop1p5 del devmap : loop1p2 del devmap : loop1p1 loop deleted : /dev/loop1