Windows 10 1803 as guest with QEMU/KVM, BSOD under install

Okay, so when trying to launch a Windows 10 guest in KVM after updating to 1803 it just BSOD with the lines “System Thread exception not handled”. This happens when launching through KVM when Windows 10 1803 was installed on a drive, when upgrading Windows 10 1703 to 1803 and when plug in a live media to clean install(in a passed through usb controller).
The windows guest ran fine with 1703. Anyone know anything?
I am aware of the problems with the 600p drives.

The xml file of the VM
xmlVM.txt (4.5 KB)

The conf file of QEMU
xml.txt (28.4 KB)

Manjaro 17.1 XFCE as host
Linux kernel 4.14.39-1
Ryzen 1800x
32 GB RAM Corsair Dominator Platinum 3000MHz
Gigabyte Aorus Gaming K7
Passthrough: Nvidia 1070
Host: Nvidia 970
Guest installed on a sata ssd Kingston Savage 480 GB or run from a live media usb
Host is installed on a nvme ssd Samsung 960 EVO 480 GB

As said by @magicthighs not using host-passthrough solves the BSOD, configurations that does not cause BSOD includes, but are not limited to, kvm64, qemu64 and core2duo. So I’m going with using qemu64 at the moment.

Yeah, I had the same problem. Use 1709 for now.

There’s some funny business going on here that I can’t quite figure out.

2 Likes

Will do that, if you find something on your search for a fix let me know :slight_smile:

Maybe microsoft is silently cutting our legs to keeps us on the platform, puts on tinfoil hat.

I doubt it. In all likeihood, this came from a lack of QC. This is what happens when you fire your entire testing/QA/QC department.

4 Likes

Try not using host-passthrough for the CPU.

I’ve encountered this issue with intel cpu models, host-passthrough (R7 1700) and epyc model.

It’s a windows issue with the hypervisor, most likely.

1 Like

So have I. I ran into it about a year ago with an i5 4690K while performing a windows update, and I’m running into it now with a TR 1950X. In both cases setting the cpu type to something like core 2 duo at least alllowed me to boot/install/update/run the VM.

2 Likes

I would like to confirm @magicthighs advice.
If you remove host-passthrough and replace it with your cpu equivalent. It wont BSOD.

2 Likes

Temporary remove "-cpu host,kvm=off " from qemu options works for me.

2 Likes

Try this before you start your seesion in qemu; if you are having issues with with epyc cpu option.

  • echo 1 > /sys/module/kvm/parameters/ignore_msrs

If that works add thiis option to a new conf file in modprobe with

  • options kvm ignore_msrs=1

This works for me. I haven’t had any issues so far.

8 Likes

Thanks for sharing this. Seeing that you had “options kvm ignore_msrs=1” enlightned me to why it wasn’t working from grub, I only had ignore_msrs=1 there.

Grub should have the following for kernel parameters:
kvm.ignore_msrs=1

1 Like

I’ve got a similar rig than @nialonh and I get the same problem. Has anyone manage to enable host-passthrough back?

Check my previous post, it is working fine for me with that modification or tinfoil’s suggestion

Okay, I managed to get it working. Thank you.

In case other people have the same issue I had to setup the cpu to be a core2duo during the windows 10 installation process. After the windows installation, switching back to host-passthrough with the options kvm ignore_msrs=1 on /etc/modprobe.d/kvm.conf worked fine.

2 Likes

Damn, you are my hero. Didn’t got my VM running for nearly a year and couldn’t figure out why. I thought I already had tried another cpu model, but seems not.
level1techs forum and perhaps arch forum/wiki was my only hope :smiley:

You can remove the msrs stuff from the kvm.conf.
Latest libvirt (4.7.0 as of this moment as I see it on Fedora 29) fixes the problem and the Windows 1803 and 1809 installation works perfectly OK.
So check your version of libvirt* and upgrade it if necessary.

(tested on 2 machines with Ryzen 7 2700)

VM is fine , just change you windows os version. some windows os version get this error. Me 27x time try and i found this easy way. Same setting just different Os version And must your cpu configuration host-passthrough