Manjaro logs out when trying to install a Windows 10 VM on Virt-Manager

Hello,

As the title says, I installed virt-manager and tried to create a win10 virtual machine, when I finished the configuration and finally I pressed the button to start the installation of Windows, a small progress bar appears to create the virtual machine, seconds later i have a black screen and closes the Manjaro session.

Logging in again is exactly the same as if you had forced reboot and logged in.

Update:

Now I have this error: "impossible to complete the installation: ‘Internal Error’ "
image

Imposible completar la instalación: ‘error interno: qemu unexpectedly closed the monitor: 2021-11-28T14:19:49.122080Z qemu-system-x86_64: warning: This feature depends on other features that were not requested: CPUID.8000000AH:EDX.svme-addr-chk [bit 28]
2021-11-28T14:19:49.122506Z qemu-system-x86_64: warning: This feature depends on other features that were not requested: CPUID.8000000AH:EDX.svme-addr-chk [bit 28]
2021-11-28T14:19:49.122702Z qemu-system-x86_64: warning: This feature depends on other features that were not requested: CPUID.8000000AH:EDX.svme-addr-chk [bit 28]
2021-11-28T14:19:49.122894Z qemu-system-x86_64: warning: This feature depends on other features that were not requested: CPUID.8000000AH:EDX.svme-addr-chk [bit 28]
2021-11-28T14:19:49.130872Z qemu-system-x86_64: system firmware block device has invalid size 0
2021-11-28T14:19:49.130887Z qemu-system-x86_64: info: its size must be a non-zero multiple of 0x1000’

Traceback (most recent call last):
File “/usr/share/virt-manager/virtManager/asyncjob.py”, line 65, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File “/usr/share/virt-manager/virtManager/createvm.py”, line 2001, in _do_async_install
installer.start_install(guest, meter=meter)
File “/usr/share/virt-manager/virtinst/install/installer.py”, line 701, in start_install
domain = self._create_guest(
File “/usr/share/virt-manager/virtinst/install/installer.py”, line 649, in _create_guest
domain = self.conn.createXML(install_xml or final_xml, 0)
File “/usr/lib/python3.9/site-packages/libvirt.py”, line 4393, in createXML
raise libvirtError(‘virDomainCreateXML() failed’)
libvirt.libvirtError: error interno: qemu unexpectedly closed the monitor: 2021-11-28T14:19:49.122080Z qemu-system-x86_64: warning: This feature depends on other features that were not requested: CPUID.8000000AH:EDX.svme-addr-chk [bit 28]
2021-11-28T14:19:49.122506Z qemu-system-x86_64: warning: This feature depends on other features that were not requested: CPUID.8000000AH:EDX.svme-addr-chk [bit 28]
2021-11-28T14:19:49.122702Z qemu-system-x86_64: warning: This feature depends on other features that were not requested: CPUID.8000000AH:EDX.svme-addr-chk [bit 28]
2021-11-28T14:19:49.122894Z qemu-system-x86_64: warning: This feature depends on other features that were not requested: CPUID.8000000AH:EDX.svme-addr-chk [bit 28]
2021-11-28T14:19:49.130872Z qemu-system-x86_64: system firmware block device has invalid size 0
2021-11-28T14:19:49.130887Z qemu-system-x86_64: info: its size must be a non-zero multiple of 0x1000

To be honest I have no idea what solved the error but I comment on what I did in case someone else can enlighten us:

  • Install ovmf firmware:
    sudo pacman -S ovmf

  • Delete the VARS files to avoid errors by creating other vms with the same name (even if you delete the previous ones) in this folder: rm /var/lib/libvirt/qemu/nvram/name_VARS.fd

  • Add my user to the groups KVM and POLKITD
    sudo gpasswd -a my_user kvm
    sudo gpasswd -a my_user polkitd

  • Enable the modules:
    sudo modprobe kvm-intel
    sudo modprobe kvm

  • Check the status of the libvirtd service and and enable it if it wasn’t:
    sudo systemctl status libvirtd
    sudo systemctl enable libvirtd.service
    systemctl start libvirtd.service

  • And finally create the following file with the content (I have to say I have no idea what it does, but I found it in a solution for archlinux):
    sudo nano /etc/polkit-1/rules.d/50-org.libvirt.unix.manage.rules

  • Content of the file:
    polkit.addRule(function(action, subject) {
    if (action.id == “org.libvirt.unix.manage” &&
    subject.user == “my_user”) {
    return polkit.Result.YES;
    }
    });

2 Likes

Without understanding its purpose you should not install/use it blindly, but read up on it.

With this exact content it’s authorizing a user named my_user to perform the action org.libvirt.unix.manage.

2 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.