For whatever strange reason, the file system on one of my standalone VMs got corrupted. A quick check found that this lad was running Fedora 34.
I found the rw part of this VM in dom0 by running “lsblk” and looking for the VM name with -private on the end. Then I mounted it on dom0 and used tar to make a copy of the user data, which I sent over to a clean standalone VM (which was a clone of a VM doing a similar job).
So I am up and running again.
I wondered if I could have mounted the root of that standalone VM instead, and run efsck (or whatever) to fix the file system?
For reference, this is what I did in Dom0:
sudo mkdir /mnt/fixme
sudo mount /dev/mapper/qubes_dom0-vm--YOUR_VM_NAME--private /mnt/fixme
tar -czf /tmp/tarcopy.tgz /mnt/fixme/user
qvm-copy-to-vm Rescue_VM_name /tmp/tarcopy.tgz
To expand on this, because it seems like the crux of the problem that’s tripping up people again and again - is that it’s not obvious what counts as “data”: