Mounting Raw and qcow2 Images

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:

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: