WSL 2 error 0x80370102: fixing virtualization, Virtual Machine Platform and the hypervisor

You ran wsl --install, Ubuntu downloaded fine, and then the first launch died with this:

WslRegisterDistribution failed with error: 0x80370102
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.

WSL 2 runs a real Linux kernel inside a lightweight virtual machine. If any of the three layers is off (CPU virtualization in firmware → Windows features → the hypervisor itself), you get this error. Work through them in order and it’s almost always fixed by step 3.

Quick map of common error codes

ErrorMeaningGo to
0x80370102The VM couldn’t startSteps 1–3
0x8007019eThe WSL feature isn’t enabledStep 2
0x800701bcWSL 2 kernel component needs an updateStep 4 (wsl --update)

1. Make sure virtualization is enabled in BIOS/UEFI

This is the usual culprit. Open Task Manager (Ctrl+Shift+Esc) → Performance → CPU and look for Virtualization in the lower right.

  • Enabled: firmware is fine, move on to step 2.
  • Disabled: reboot into BIOS/UEFI setup and turn it on. On Intel boards it’s typically Intel Virtualization Technology (VT-x); on AMD it’s often called SVM Mode. Look under Advanced → CPU Configuration. Some laptops tuck it under the Security menu instead.

Save with F10, reboot, and confirm in Task Manager again.

2. Turn on both Windows features

WSL 2 needs Windows Subsystem for Linux and Virtual Machine Platform. From an elevated PowerShell:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

When both report “The operation completed successfully,” reboot. If you prefer the GUI, tick the same two items under Control Panel → Programs → Turn Windows features on or off.

3. Re-enable the hypervisor at boot

Firmware and features both on, still 0x80370102? Something (an old VM app, a game anti-cheat guide, a tweak script) may have disabled the hypervisor. Check from an elevated Command Prompt:

bcdedit /enum {current}

If you see hypervisorlaunchtype Off, set it back and reboot:

bcdedit /set hypervisorlaunchtype auto

After the restart, systeminfo should end with “A hypervisor has been detected” under the Hyper-V section.

4. Update WSL and set version 2 as default

wsl --update
wsl --set-default-version 2
wsl --install -d Ubuntu

This also clears 0x800701bc. If a half-installed distro is hanging around, wsl --unregister Ubuntu removes it so you can start clean. That deletes everything inside the distro, so only use it on a fresh install.

5. Confirm it worked

wsl --version
wsl -l -v

Your distro should show VERSION 2. If it says 1, run wsl --set-version Ubuntu 2. Planning to run GPU workloads inside WSL 2? Continue with our RTX 50 series PyTorch CUDA setup guide.

FAQ

  • Running Windows inside a VM? The host has to expose nested virtualization. On a Hyper-V host, with the VM off: Set-VMProcessor -VMName "YourVM" -ExposeVirtualizationExtensions $true. Other hypervisors have their own nested virtualization toggle.
  • Does it conflict with VirtualBox or VMware? Current versions run on top of the Windows hypervisor. Old versions don’t, so update them.
  • Does it work on Windows Home? Yes. WSL 2 and Virtual Machine Platform are available on Home; only tools like Hyper-V Manager need Pro.

Leave a Comment