quickemu
quickemu copied to clipboard
Cannot start Windows VM
Expected behaviour
Until recently quickemu and quickgui were able to run a Windows VM without a problem.
Actual behaviour
No display is initiated. /var/log/kern.log and /var/log/syslog expand exponentially to gigabytes within a few seconds until the window is closed. I wonder if a recent kernel update on the host has caused errors but non-windows VMs work perfectly, as does Boxes.
Steps to reproduce the behaviour
Command line quickemu --vm windows-10.conf or start in quickgui
Quickemu output
Quickemu 3.14 using /usr/bin/qemu-system-x86_64 v6.0.0
- Host: Linux Mint 20.3 running Linux 5.13 (steve-Proteus-2)
- CPU: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
- CPU VM: 1 Socket(s), 2 Core(s), 2 Thread(s), 4G RAM
- BOOT: EFI (Windows), OVMF (/usr/share/OVMF/OVMF_CODE_4M.fd), SecureBoot (off).
- Disk: windows-10/disk.qcow2 (64G)
- CD-ROM: windows-10/virtio-win.iso
- Display: SDL, qxl-vga, GL (on), VirGL (off)
- ssh: On host: ssh user@localhost -p 22220
- SPICE: On host: spicy --title "windows-10" --port 5930 --spice-shared-dir /home/steve/Public
- WebDAV: On guest: dav://localhost:9843/
- smbd: On guest: smb://10.0.2.4/qemu
- Process: Starting windows-10.conf as windows-10 (3886)e.
Linux Distribution & Kernel
lsb_release --all: No LSB modules are available. Distributor ID: Linuxmint Description: Linux Mint 20.3 Release: 20.3 Codename: una
uname -a: Linux steve-Proteus-2 5.13.0-39-generic #44~20.04.1-Ubuntu SMP Thu Mar 24 16:43:35 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
I'd be grateful for ideas as to what to try.
Hello there 👋 Thanks for submitting your first issue to the Quickemu project 🐛 We'll try and take a look at your issue soon ⏲
In the meantime you might want to join the Wimpys World Discord 🗣 where we have a large community of Linux 🐧 enthusiasts and passionate open source developers 🧑💻
You might also be interested in following Wimpys World Twitch 📡 channel where Wimpy streams let's code video, including this project, several times a week. A back catalog of past live stream and other Linux related content is available on Wimpys World YouTube 📺 channel.
Some progress on this. I took the bash script quickemu created for Elementary OS and, changing relevant paths, was able to use it to successfully start the Windows VM using the bash script in a terminal, thus running it directly from qemu.
However, trying to use the same script from quickemu (made read-only to stop quickemu overwriting it), failed with Guest has not initialized the display yet
.
Terminal output:
quickemu --vm windows-10.conf
Quickemu 3.14 using /usr/bin/qemu-system-x86_64 v6.0.0
- Host: Linux Mint 20.3 running Linux 5.13 (steve-Proteus-2)
- CPU: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
- CPU VM: 1 Socket(s), 2 Core(s), 2 Thread(s), 4G RAM
- BOOT: EFI (Windows), OVMF (/usr/share/OVMF/OVMF_CODE_4M.fd), SecureBoot (off).
- Disk: windows-10/disk.qcow2 (64G)
- CD-ROM: windows-10/virtio-win.iso
- Display: SDL, qxl-vga, GL (on), VirGL (off)
- ssh: On host: ssh user@localhost -p 22220
- SPICE: On host: spicy --title "windows-10" --port 5930 --spice-shared-dir /home/steve/Public
- WebDAV: On guest: dav://localhost:9843/
- smbd: On guest: smb://10.0.2.4/qemu
/usr/bin/quickemu: line 845: windows-10/windows-10.sh: Permission denied
/usr/bin/quickemu: line 1016: windows-10/windows-10.sh: Permission denied
- Process: Starting windows-10.conf as windows-10 (64838)
It seems that quickemu settings are not quite right for Windows VMs, though the difficulty is finding out which it is. I ran an edited version of quickemu with lines 845 and 1016 commented out, but it still couldn't start the VM even though directly using bash windows-10.sh
worked fine.
I have a workable solution:
in quickemu line 553 I commented out the rest of the line after kvm=on
so it reads CPU="-cpu host,kvm=on"
and the VM ran perfectly. However, I haven't investigated which of those commented out parameters are the cause of the problem.
I was a bit confused at first because, although quickemu writes a script on line 1016, it doesn't use it, but instead runs ${QEMU} "${args[@]}" > "${VMDIR}/${VMNAME}.log" &
on line 1017 - thus altering the script (and making it read only) had no effect.
Chiming in to say that the above doesn't appear to work on Arch running the latest kernel. I've tried messing with quotes and with putting a # before the + directly after your quoted bit.
Can you give me the full line so I know what I'm doing wrong?
My line 553 in /usr/bin/quickemu is CPU="-cpu host,kvm=on"
This version CPU="-cpu host,kvm=on,-hypervisor"
also works and helps hide from Windows that it's a VM.
I can not reproduce this issue.
Please can you update and test with Quickemu 4.0 and let me know if this is still an issue.
Issue has been resolved, Quickemu works fine with the latest version that was uploaded today, for both Windows 10 and 11, thanks very much.
I did a comparison with the original version 3.11 that I started with but not sure which change has solved the problem (the original bloated kern.log and syslog entries weren't helpful back in April).