Virt manager user session machines keep disappearing

The storage files are in the correct location but when I start virt manager only one machine is shown even though I’ve setup 3 and there are storage files for 3. As shown below:

Suggestions on how to fix this issue? Keeps happening

the machines do not physically disappear, i guess this has to do with users; some machines for some reason are created for an admin account and will only be visible if you start vmm as an admin.

I had a similar issue after reinstall, In my case some machines were visible to me, and the other part only to admin. do not remember all the details, probably just removed all the virtualization group and machines, re-installed and after that it worked. I also remember you should add a user to the virtualization group.

p.s. in my case the “invisible” machines were created via command line and the visible ones via vmm.

Mine are stored in ~/virt_manager and the qcow2 files are still present

I installed Rpm version

if you run
virsh list --all

and

sudo virsh list --all

are the machines there?

spaceboy@fedora /home/spaceboy > virsh list --all
Id Name State

  • opensuse-factory shut off

spaceboy@fedora /home/spaceboy > sudo virsh list --all
Id Name State

Chris, try adding yourself to the virtualization group:

sudo usermod -a -G libvirt $(whoami)
sudo usermod -a -G kvm $(whoami)

Reboot and see which user owns your machine files:

ls -la ~/.local/share/libvirt/storage/

If files are owned by root or another user, fix the ownership:

sudo chown -R $(whoami):$(whoami) ~/.local/share/libvirt/

ls -la ~/.local/share/libvirt/storage/
ls: cannot access ‘/home/spaceboy/.local/share/libvirt/storage/’: No such file or directory

ls -la ~/virt_manager
total 132604096
drwxr-xr-x. 2 spaceboy spaceboy 4096 Oct 31 23:00 ./
drwxrwxr-x. 44 spaceboy spaceboy 4096 Nov 18 22:57 ../
-rw-------. 1 spaceboy spaceboy 26847870976 Oct 31 22:12 KDE_Neon.qcow2
-rw-------. 1 spaceboy spaceboy 4019379452 Aug 22 23:31 opensuse-factory-mem.snapshot1
-rw-------. 1 spaceboy spaceboy 42956488704 Aug 22 23:30 opensuset.qcow2
-rw-------. 1 spaceboy spaceboy 8268021760 Aug 31 01:35 opensuset.snapshot1
-rw-------. 1 spaceboy spaceboy 26847870976 Nov 17 23:52 popOS.qcow2
-rw-------. 1 spaceboy spaceboy 26847870976 Oct 6 19:42 popOS.qcow2.backup.20251031

perhaps AI will give a better comment on this than me:

Why Machines Are in a Different Directory

The user is storing machines in a custom directory ~/virt_manager/ instead of the standard ~/.local/share/libvirt/storage/.

  1. Machines created in system session (qemu:///system) — files are stored in /var/lib/libvirt/qemu/ or another system folder, not in the user directory
  2. Custom storage path — he manually configured a storage pool pointing to ~/virt_manager as the location
  3. Permission issue — if machines are in a system folder, regular user can’t see them even if files exist physically

What to Check

1. Find where machines are actually stored:

sudo ls -la ~/virt_manager/
sudo ls -la /var/lib/libvirt/qemu/
virsh -c qemu:///system pool-list --details  # system pools
virsh -c qemu:///session pool-list --details # user pools

2. Check permissions on ~/virt_manager/:

ls -ld ~/virt_manager/

If owner is root, that’s your problem:

sudo chown -R $(whoami):$(whoami) ~/virt_manager/
sudo chmod -R u+rwX ~/virt_manager/

3. Check the storage pool configuration:

virsh pool-dumpxml virt_manager  # if pool is named this
virsh -c qemu:///system pool-dumpxml virt_manager

Likely Cause in This Case

Machines are defined in the system libvirt session, but stored in ~/virt_manager/, which is owned by root.

  • When you open regular virt-manager — machines aren’t visible (they’re in system session)
  • When you open with sudo — it sees them, but may have file access issues

Solution: either move the storage pool from system session to user session, or fix the directory permissions.

ls -ld ~/virt_manager/
drwxr-xr-x. 2 spaceboy spaceboy 4096 Oct 31 23:00 /home/spaceboy/virt_manager//

sudo ls -la /var/lib/libvirt/qemu/
total 0
drwxr-x–x. 1 qemu qemu 244 Nov 18 00:37 .
drwxr-xr-x. 1 root root 88 Aug 8 01:00 ..
drwxr-x–x. 1 qemu qemu 0 Aug 8 01:00 checkpoint
drwxr-x—. 1 qemu qemu 52 Aug 4 18:28 domain-10-silverblue41
drwxr-x—. 1 qemu qemu 52 Jul 22 01:55 domain-3-bazitteOS
drwxr-x—. 1 qemu qemu 52 Aug 9 20:03 domain-3-silverblue
drwxr-x—. 1 qemu qemu 74 Jun 13 18:28 domain-4-fedora
drwxr-x—. 1 qemu qemu 52 Aug 3 23:42 domain-6-win11
drwxr-x–x. 1 qemu qemu 0 Aug 8 01:00 dump
drwxr-x–x. 1 qemu qemu 0 Aug 8 01:00 nvram
drwxr-x–x. 1 qemu qemu 16 Aug 8 01:00 ram
drwxr-x–x. 1 qemu qemu 0 Aug 8 01:00 save
drwxr-x–x. 1 qemu qemu 0 Aug 8 01:00 snapshot

virsh -c qemu:///system pool-list --details # system pools

Name State Autostart Persistent Capacity Allocation Available

default running yes yes 290.00 GiB 53.69 GiB 236.31 GiB
home running yes yes 601.00 GiB 339.97 GiB 261.03 GiB
pool running yes yes 601.00 GiB 339.97 GiB 261.03 GiB
pool-1 running yes yes 601.00 GiB 339.97 GiB 261.03 GiB
vm-disks running yes yes 601.00 GiB 339.97 GiB 261.03 GiB

virsh -c qemu:///session pool-list --details # user pools

Name State Autostart Persistent Capacity Allocation Available

default running no yes 601.00 GiB 339.97 GiB 261.03 GiB
gnome-boxes running yes yes 601.00 GiB 339.97 GiB 261.03 GiB
Linux running no yes 601.00 GiB 339.97 GiB 261.03 GiB
pool running yes yes 601.00 GiB 339.97 GiB 261.03 GiB

Would it make any difference if the default user session was in the default ~/.local/share/libvirt/storage ??

apparently yes, the permissions will be different.
after facing similar issue several months ago i reinstalled the whole VM stack and after that left default paths, it works fine.

May have to do that. Moved all the images to the default location but same issue, only 1 shows up