Mounting Raw and qcow2 images in order to inspect and use them doesn’t have to be difficult. After searching the internet, we found a couple of recommendations on how to do it. Here is what we did ourselves on an Ubuntu 16.04 Linux host.
Mounting The Raw Image
Associate the raw image with a loop device:
losetup /dev/loop0 image.raw
Map the partitions to loop devices:
kpartx -a /dev/loop0
You should be able to mount the partitions now:
mount /dev/mapper/loop0p1 /mnt/t01
where /mnt/t01 is a previously-existing mount point or directory.
For LVM partitions, determine the volume group name and activate it:
vgscan vgchange -ay vg_volgroupname
Mount the desired logical volume:
mount /dev/mapper/vg_volgroupname-lg_logicalgroupname /mnt/t02
where /mnt/t02 is another pre-existing mount point or directory.
Unmounting The Raw Image
Unmount the previously mounted partitions:
umount /dev/t02 umount /dev/t01
Deactivate the volume group:
vgchange -an vg_volgroupname
Undo the mapping of the partitions to the loop devices:
kpartx -d /dev/loop0
Destroy the loop:
losetup -d /dev/loop0
Mounting The qcow2 Image
Here, we shall use the QEMU Network Block Device Driver for the purposes of mounting the qcow2 image.
First, load the nbd driver.
modprobe nbd max_part=63
Connect nbd to the image using qemu-nbd:
qemu-nbd -c /dev/nbd0 disk1.qcow2
Using fdisk, check the existing partitions. Mount the regular Linux partitions as is:
mount /dev/nbd0p1 /mnt/t01
For LVM partitions, associate a loopback device to the LVM partition:
losetup /dev/loop0 /dev/nbd0p2
See the LVM partitions under /dev/mapper:
ls -l /dev/mapper
You should also be able to display the logical partitions using lvdisplay and the volume groups with vgdisplay. Use vgchange as above to activate the volume group.
Mount the regular LVM partitions as usual:
mount /dev/mapper/vg_volgroupname-lv_logicalgroupname /mnt/t02
Unmounting the qcow2 Image
Unmount the partitions from the qcow2 image:
umount /mnt/t02 umount /mnt/t01
Deactivate the volume group:
vgchange -an vg_volgroupname
Remove the loopback device:
losetup -d /dev/loop0
Disconnect the nbd device:
qemu-nbd -d /dev/nbd0
Finally, remove the nbd kernel module:
rmmod nbd
We have successfully used the above procedures in mounting and unmounting raw and qcow2 images used in Linux KVM.
The procedures described above have been adapted for this article from these URLs: