DEV Community

dom
dom

Posted on

Windows WSL under Proxmox

When trying to enable Hyper-V/VMP in Windows, after VM reboot, the virtual machine stuck at boot process/virtual machine can’t boot at all

check in pve:
cat /sys/module/kvm_intel/parameters/nested

If the guest OS tries to access an unsupported MSR, instead of throwing a general protection fault or killing the VM, KVM ignores the access.
echo "Y" > /sys/module/kvm/parameters/ignore_msrs #temp
echo "options kvm ignore_msrs=1" >> /etc/modprobe.d/kvm.conf #perm

modprobe -r kvm

Set CPU to HOST
CPU set to HOST

Also Machine settings under Hardware, we are using i440fx not q35

SSH to server,
Navigate to /etc/pve/qemu-server/
Edit the machine ID (e.g. 123.conf) which will need nested virtualization (Proxmox server having Windows VM which will use Docker, WSL, Hyper-V, etc)

Add args: -cpu host,hv_passthrough,level=30,-waitpkg
If you have some issues, experiment by removing some arguments or changing values

In Windows as admin cmd
wsl --set-default-version 2
wsl --update
wsl --install -d debian
(will install Virtual Machine Platform, and WSL support)

if still can't boot, stuck on Logo, do
bcdedit /set hypervisorlaunchtype off

If error code:
An error occurred during installation. Distribution Name: 'Debian GNU/Linux' Error Code: 0x80072ee7
Make sure windows is up to date. If you use IOT Enterprise, enable Microsoft store wsreset -i

Top comments (0)