Enabling virtual machine platform on fully patched windows 10 22H2 causes vm to hang at boot

whiggs

New Member
Dec 11, 2024
29
0
1
To whom this may concern,
I have finally tracked down the source of an issue I have been having with some windows 10 22H2 vms that I have been trying to deploy recently. Like the subject states, when I attempt to enable the Virtual Machine Platform Windows feature (or, more acurartely, when Windows Subsystem for Linux attempt to do so when updating it), when I perform the needed restart, the proxmox vm will hang indefinately on the boot splash screen. The only way to get the vm back up and running again is to perform the following steps:
1) force reset the vm three times in order to force windows into the recovery environment
2) boot into safe mode
3) windows can now boot and will indicate that it had problems installing the windows feature and initiates the removal
4) Windows will automatically restart as part of the feature removal, and only now will the vm boot normally again

If I had to guess, I believe this probably has to do with some kind of incompatability with nested virtualization? I know the nested virtualization can be kind of tricky, but I figured that Hyper-v as a windows feature would be more applicable and more affected by such a thing than the virtualization platform feature. Is this a known incompatability? Is there a potential workaround? This is disapointing because it essentially means that Windows proxmox vms cannot run WSL. I hope that there is a fix for this.
 
What CPU type is set for the VM?
The issue is easily reproducable. Just install windows 10 using the iso for the latest version, install the patches, then attempt to install the virtuliaztion platform feature and restart the vm.
 
Ah. So, I was able to get the feature installed without the device hanging on boot. The fix involves two steps: 1 was a proxmox setting, and the other is a guest vm setting. I don't know if both or just one of these steps is what fixed it, but here they are:
1) Set the machine type to q35
2) in the guest windows vm, run the below command from an elevated command prompt and restart the vm:
bcdedit /set hypervisorlaunchtype off