How to mount a qcow2 disk image

This is a quick guide to mounting a qcow2 disk images on your host server. This is useful to reset passwords, edit files, or recover something without the virtual machine running.

Step 1 — Enable NBD on the Host

modprobe nbd max_part=8

Step 2 — Connect the QCOW2 as network block device

qemu-nbd --connect=/dev/nbd0 /var/lib/vz/images/100/vm-100-disk-1.qcow2

Step 3 — Find The Virtual Machine Partitions

fdisk /dev/nbd0 -l

Диск /dev/nbd0: 80 GiB, 85899345920 байт, 167772160 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x94a80749

Устр-во     Загрузочный начало     Конец   Секторы Размер Идентификатор Тип
/dev/nbd0p1 *             2048    206847    204800   100M             7 HPFS/NTFS/exFAT
/dev/nbd0p2             206848 167768063 167561216  79,9G             7 HPFS/NTFS/exFAT

Step 4 — Mount the partition from the VM

mount /dev/nbd0p1 /mnt/somepoint/

Step 5 — After you done, unmount and disconnect

umount /mnt/somepoint/
qemu-nbd --disconnect /dev/nbd0
rmmod nbd