Proxmox + Windows Server 2019 host = BSOD

MonkY

New Member
Jul 30, 2020
8
0
1
46
Hello everyone!
Sorry to bother you, but I've been searching for an answer to my issue, and after a lot of tries and lost nights, I've decided to create an account and post in here. I hope you can help me figure this out.

So, I have a really really bad situation with a Windows Server 2019 virtual machine, that was installed on an older Proxmox version, using the "kvm64" emulation. As it was (and still is) really slow (although it's a dual Xeon X5650 with 96GB RAM), I've decided it's time to try to make the switch to "host" mode. Unfortunately, every time I've tried, the Windows goes into a BSOD. I even tried different other CPU's emulation, but it only ended up in Windows Server 2019 not loading.

I have the latest virtio-win-0.1.187, Proxmox Virtual Environment 6.2-10 (upgraded from 5.x), and Linux pve 5.4.44-2-pve #1 SMP PVE 5.4.44-2 (Wed, 01 Jul 2020 16:37:57 +0200) x86_64.

Can you please let me know what else to try?
Thank you in advance!
 
From my experience you don't need to tweak the CPU type unless, you want to achieve some very specific results or have a need for a specific CPU flag, which is not offered by kvm64. Note, that these are not emulations per se, these settings enable/disable certain CPU flags which are provided - or hidden from the guest.

If your WS 2019 runs slow in plain kvm64 mode, you should take the time to check what it is, that slows it down. Most often these issues are more I/O-related than CPU-bound… so grab a decent monitoring tool for your WS2019 guest and determine, what bugger is.

And note as well, that you can always add single CPU flags to kvm64, e.g. kvm64+aes, if your setup makes real use of those computations.
 
  • Like
Reactions: MonkY
I thought the same, but then I saw how bad the server loads (you can even see when the windows refresh every line of it). And then I saw it took me 3 times more to create the same archives. And then users started complaining about sql performance, smb performance, and so on. This server was supposed to be a huge upgrade, but it's actually 2x slower than the old one. Although it has 4x the RAM, double the CPU numbers and 3x more cores.

So, we have tried what you recommended (to enable CPU flags) and the only one that we were able to enable without getting a BSOD, was the AES one. And that didn't helped too much. So we need a better solution.

P.S. What's even worse then the CPU performance, is the GPU one. As I said, you can see almost every icon being redrawn, sometimes you have to wait to draw a window. Something I've never seen so slow in a while. But I don't know what to do about the GPU, as I can only see a Microsoft Basic Display Adapter installed. And can't find better/newer ones...

Help? :rolleyes:
 
Would be good to know, what your intent with this setup is. You seem to try to roll some kind of VDI service? If that's the case, then you should look into passing through the GPU to the guest directly. No CPU can match a GPU for it's designed purpose. If you need graphics power, you will have to pass-through the GPU.

There are quite a number of threads about passing through PCI devices…
 
No, no noo. It's not a graphics intense server. We actually don't need graphics for anything else but clients RDP's (which I don't even know if they need any kind of GPU rendering). I was just pointing out that even the dialog windows are beeing displayed very slow. I am sure it's CPU related, but maybe some better GPU driver could help. Anyway, the main issue is i can't set it to host. It will just BSOD. Shall I try to create another virtual machine, with "host" by default, and if it works, to transfer the data and settings from the initial machine?
 
Hmm… I am still not sure, that setting the guest's CPU config to host will help you. Regarding the BSODs… does this new server has some radical different CPU? Did you switch from Intel to AMD perhaps…? If you're getting a BSOD, there should be an error message, that you can try to look up and get a pointer of what's wrong with your install.
 
The new server was installed from scratch on this hardware. But it was kvm64 by default. Now I just want to change it to host without Windows crashing. The BSOD errors don't help... sometimes it just reboots, sometimes i get random errors.
 
Well… the best advice I can give you is to try a new install to a different guest and see, if it runs stable. If your guest crashes randomly, then it looks to me like there are some other issues with your host. We do run a couple of RDP hosts - admittedly not WS2019, but 2016 but they all run fine.

Also, did you not only install the virtio drivers, but also modify the guest's hardware config to use them? Only installing the virtio drivers buys you nothing. (Just saying… ;) )
 
  • Like
Reactions: MonkY
The BSOD message is almost the same everytime: "kmode exception not handled".
 
Thank you for such a generic answer. Was it the first result you got in Google search? Or was it the second one? ;)
 
Relax… ;) Cut @alexskysilk some slack… it's not unreasonable to suggest that. However, having not experienced those errors myselg, I also went for some searching and found a couple of posts which deal with this dreadful KMODE_EXCEPTION_NOT_HANDLED error. To get to know, what actually causes this almost all of them suggest to turn of "fast Startup" in Windows. What obviously happens is that either some driver or some other process are overwriting each others memory and thus cause the kernel to abort.

So, while I still finding that trying CPU host mode on a new guest, just to see, whether it works as expected, you might want to look at this post:
https://hackernoon.com/fix-kmode-exception-not-handled-windows-10-eu5ck2dqy and see, if it helps you. If you can get the guest to work, you will have to decide of the amount of time, you may need to invest into trouble shooting is likely to be shorter than to re-setup the guest using host mode right from the start.
 
  • Like
Reactions: MonkY
Thank you budy. Unfortunately, there is no such option as "Fast Startup" in Windows Server 2019. The article is meant for Windows 10.
I was thinking about installing from zero, but guess what? The setup process crashes during with the host mode active. So, I'm guessing right now that Windows Server 2019 + Proxmox in host mode is a no go... Or maybe I'm missing something...
 
Yeah, unfortuanetly it seems to be that way - bummer. So you either focus on how to speed-up your WS 2019/guest setup or you abandon the idea of running WS2019 on kvm for the time being. Maybe you should start a new thread about the performance issues of WS2019 on Proxmox - worth a shot.
 
The point I was making is that just because you're running your system as a guest doesnt mean all other normal guest OS issues dont apply. I can tell you I have W2019 guests running without issue so I can say with some degree of confidence that any/all of the below are true:
1. The issue is guest driver/software related
2. The issue is faulty host ram related

Install a vanilla w2019 with a preassigned (not ballooned) RAM, KVM CPU, pro1000 NIC and IDE boot disk, and dont install anything else. does the problem still manifest?
 
I also wasn't able to import my ex-XCP-ng Windows 2019 server with host type cpu. It BSODs with the same exception even just booting an install CD. If I switch to kvm64 it runs but really slowly. I have to set it to Opteron G3 to get max speed and it's pretty quick then. It's an Athlon II X4 651 so ancient but it's a dev box.
 
I am running WS2019 with host as the CPU type. I actually restored it from a UrBackup of a physical server. I have no performance issues with this VM; I do not RDP to it very often anymore as it all up and running, but I do not have issues like you describe. I built mine with the Q35 machine type and UEFI, though, knowing I was going to be doing passthrough.

If trying to install a new VM using @alexskysilk's suggestion does not work, then you should re-download the ISO you are using to install from; it could be corrupt. I have had to do that in the past.
 
My VM is q35 and UEFI. It started with the 2016 best practices and I installed all the Virtio drivers and then switched to all virtio with SPICE. Before I imported I used the instructions and dism to remove all xen and xen filter drivers. Works a treat on Proxmox 6.2 with latest updates except if I set cpu to host or max. I have verified it's not hardware because Linux vm have no issues and also Windows VM of any type that are empty with just the install iso crash immediately during iso boot with those settings. I'm not sure if it's a problem with older AMD CPU or not.
 
I know this is an old thread but I am experiencing this issue as well after I change the cpu to host after installation. I gave up and created a fresh VM with host set from the start. As I am installing Windows Server 2019, NetKVM\2k19\amd64 doesn't give me a driver that is "compatible with my hardware." I think this may be the issue. I am adding to this thread as the issue is still there and I hope this helps someone.

Edit: This installation did not work still. It blue screened with the same message.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!