Hyper-V in windows guest not working for wsl2

tloe

New Member
Apr 15, 2021
7
1
1
41
I am struggling to get wsl2, which uses Hyper-V to work in a Windows 10 Pro guest. Proxmox is running on a Intel NUC with a i7-10710U CPU. "Intel Virtualization Technology" and "Intel VT for directed I/O (VT-d)" is both enabled in the bios. I got the latest bios (0050) I have followed this
https://pve.proxmox.com/wiki/Nested_Virtualization

Code:
root@TNUC:~# cat /sys/module/kvm_intel/parameters/nested
Y

This is my vm config.

Code:
root@TNUC:~# qm config 100
agent: 1,type=virtio
args: -cpu 'host,kvm=off,-hypervisor'
boot: order=ide2;scsi0;net0
cores: 4
cpu: host
ide2: local:iso/Win10_20H2_v2_EnglishInternational_x64.iso,media=cdrom
ide3: local:iso/virtio-win-0.1.185.iso,media=cdrom,size=402812K
kvm: 1
memory: 4096
name: winbuild
net0: virtio=C6:15:77:2E:CD:81,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
scsi0: local-lvm:vm-100-disk-0,cache=writeback,discard=on,size=45G
scsihw: virtio-scsi-pci
smbios1: uuid=e0ce8611-b2fc-4e2a-9c32-c586641dbac2
sockets: 1
vga: qxl,memory=32
vmgenid: ad9c9efa-c794-49bd-a617-bd46782336f2
root@TNUC:~#

I read that some have luck with kvm=0
Code:
root@TNUC:~# qm start 100
kvm: CPU model 'host' requires KVM
start failed: QEMU exited with code 1

Windows features are enabled on the windows vm
windowsfeatures.png

Systeminfo shows that all Hyper-V requirements returns Yes
Code:
PS C:\Windows\system32> systeminfo

Host Name:                 DESKTOP-NED97RE
OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.19042 N/A Build 19042
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Standalone Workstation
OS Build Type:             Multiprocessor Free
Registered Owner:          TerjeLoe@hotmail.com
Registered Organization:
Product ID:                00330-80000-00000-AA703
Original Install Date:     15/04/2021, 20:54:22
System Boot Time:          17/04/2021, 12:34:29
System Manufacturer:       QEMU
System Model:              Standard PC (i440FX + PIIX, 1996)
System Type:               x64-based PC
Processor(s):              1 Processor(s) Installed.
                           [01]: Intel64 Family 6 Model 166 Stepping 0 GenuineIntel ~1608 Mhz
BIOS Version:              SeaBIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org, 01/04/2014
Windows Directory:         C:\Windows
System Directory:          C:\Windows\system32
Boot Device:               \Device\HarddiskVolume1
System Locale:             en-gb;English (United Kingdom)
Input Locale:              en-us;English (United States)
Time Zone:                 (UTC+00:00) Dublin, Edinburgh, Lisbon, London
Total Physical Memory:     4,095 MB
Available Physical Memory: 1,403 MB
Virtual Memory: Max Size:  5,503 MB
Virtual Memory: Available: 2,927 MB
Virtual Memory: In Use:    2,576 MB
Page File Location(s):     C:\pagefile.sys
Domain:                    WORKGROUP
Logon Server:              \\DESKTOP-NED97RE
Hotfix(s):                 7 Hotfix(s) Installed.
                           [01]: KB4601050
                           [02]: KB4562830
                           [03]: KB4570334
                           [04]: KB4580325
                           [05]: KB4586864
                           [06]: KB5001330
                           [07]: KB5001405
Network Card(s):           2 NIC(s) Installed.
                           [01]: Red Hat VirtIO Ethernet Adapter
                                 Connection Name: Ethernet
                                 DHCP Enabled:    Yes
                                 DHCP Server:     192.168.1.1
                                 IP address(es)
                                 [01]: 192.168.1.144
                                 [02]: fe80::99b5:4520:f8e4:d8a3
                                 [03]: fd1c:1386:d454:100:eccd:b4f3:a469:77a1
                                 [04]: 2a02:2121:2c8:8aca:eccd:b4f3:a469:77a1
                                 [05]: fd1c:1386:d454:100:99b5:4520:f8e4:d8a3
                                 [06]: 2a02:2121:2c8:8aca:99b5:4520:f8e4:d8a3
                                 [07]: 2a02:2121:2c8:8aca:1c13:86d4:5401:5
                           [02]: Hyper-V Virtual Ethernet Adapter
                                 Connection Name: vEthernet (Default Switch)
                                 DHCP Enabled:    No
                                 IP address(es)
                                 [01]: 172.27.240.1
                                 [02]: fe80::997b:55d8:cc90:8e4a
Hyper-V Requirements:      VM Monitor Mode Extensions: Yes
                           Virtualization Enabled In Firmware: Yes
                           Second Level Address Translation: Yes
                           Data Execution Prevention Available: Yes
PS C:\Windows\system32>

But when I try to start wsl2 I get:

Code:
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80370102
Error: 0x80370102 The virtual machine could not be started because a required feature is not installed.

Press any key to continue...
 
Last edited:
I also tried to copy the full cpu args line from the qm command to get all the default flags
Code:
➜  ~ qm config 100
agent: 1,type=virtio
args: -cpu 'host,hv_ipi,hv_relaxed,hv_reset,hv_runtime,hv_spinlocks=0x1fff,hv_stimer,hv_synic,hv_time,hv_vapic,hv_vpindex,+kvm_pv_eoi,+kvm_pv_unhalt,-kvm,-hypervisor'
boot: order=ide2;scsi0;net0
cores: 4
cpu: host
ide2: local:iso/Win10_20H2_v2_EnglishInternational_x64.iso,media=cdrom
ide3: local:iso/virtio-win-0.1.185.iso,media=cdrom,size=402812K
kvm: 1
memory: 4096
name: winbuild
net0: virtio=C6:15:77:2E:CD:81,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
scsi0: local-lvm:vm-100-disk-0,cache=writeback,discard=on,size=45G
scsihw: virtio-scsi-pci
smbios1: uuid=e0ce8611-b2fc-4e2a-9c32-c586641dbac2
sockets: 1
vga: qxl,memory=32
vmgenid: ad9c9efa-c794-49bd-a617-bd46782336f2
 
I have tried without kvm=off .. as far as I know though that does not disable kvm.. its only suppose to hide it from the guest..

Disable kvm is "kvm: 0", but as you can see in my config kvm is enabled
 
Finally got it working :)

I had to have these args

Code:
args: -cpu host,-hypervisor,-mpx

What does the mpx flag do?
 
  • Like
Reactions: pier

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!