quickemu icon indicating copy to clipboard operation
quickemu copied to clipboard

Cannot start Windows VM

Open stevem6 opened this issue 2 years ago • 5 comments

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.

stevem6 avatar Apr 05 '22 11:04 stevem6

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.

github-actions[bot] avatar Apr 05 '22 11:04 github-actions[bot]

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.

stevem6 avatar Apr 12 '22 17:04 stevem6

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.

stevem6 avatar Apr 13 '22 18:04 stevem6

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?

celtichawk avatar May 06 '22 19:05 celtichawk

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.

stevem6 avatar May 06 '22 19:05 stevem6

I can not reproduce this issue.

flexiondotorg avatar Aug 18 '22 15:08 flexiondotorg

Please can you update and test with Quickemu 4.0 and let me know if this is still an issue.

flexiondotorg avatar Aug 19 '22 18:08 flexiondotorg

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).

stevem6 avatar Aug 19 '22 19:08 stevem6