I use Vagrant for provisioning VMs via libvirt: it’s low-overhead and needs no special non-native software (unlike VirtualBox which I used before, and VMWare WorkStation before that).
My previous PC which ran my Vagrant-built VMs broke though: it does not power on anymore. So I wanted to get the latest files off those. My last backup was 2 months old. Not a big deal, but annoying, and since I could put the mSATA SSD into an external USB case, I could read the data, but mounting QCOW2 images is not as easy as loop-mounting a disk image.
So long story short: this is how to mount a QCOW2 image:
root@giga:/vm/images# file * debian-VAGRANTSLASH-buster64_vagrant_box_image_10.4.0.img: QEMU QCOW2 Image (v3), 20000000000 bytes k3s_knode6.img: QEMU QCOW2 Image (v2), has backing file (path /var/lib/libvirt/images/debian-VAGRANTSLASH-buster64_vagrant_box_image_10.4.0.img), 21474836480 bytes root@giga:/vm/images# guestmount -a k3s_knode6.img -m /dev/sda1 /mnt/
Make sure you got the backing file in place.