What's happening
You ran wsl --install or tried to launch a Linux distro, and got hit with:
WslRegisterDistribution failed with error: 0x80370102
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
Windows is telling you exactly what's wrong โ it can't spin up a virtual machine because either hardware virtualization is disabled in BIOS, or the required Windows components aren't turned on. Work through the steps below in order. Most people are up and running in under 15 minutes.
Checklist before debugging
- You're on Windows 10 (build 19041+) or Windows 11
- Your CPU supports virtualization (nearly all CPUs made after 2010 do)
- You have admin rights
Step 1 โ Check if hardware virtualization is enabled
Open Task Manager โ Performance tab โ click CPU. Look for the Virtualization row at the bottom right. If it says Disabled, that's your root cause.
You need to enter your BIOS/UEFI and enable it. The setting name varies by manufacturer:
- Intel CPUs: Intel VT-x, Intel Virtualization Technology, or VT-x
- AMD CPUs: AMD-V, SVM Mode, or AMD Virtualization
To enter BIOS: reboot and press Del, F2, or F10 โ the correct key flashes briefly during POST. Once inside, look under Advanced, CPU Configuration, or System Configuration. Enable the virtualization setting, save, and exit.
Back in Windows, open Task Manager again. Virtualization should now read Enabled.
Step 2 โ Enable required Windows features
WSL 2 needs two Windows features: Virtual Machine Platform and Windows Subsystem for Linux. Open PowerShell as Administrator and run:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Then reboot. After the reboot, set WSL 2 as the default version:
wsl --set-default-version 2
Step 3 โ Make sure Hyper-V is running
Even if Hyper-V isn't strictly required for WSL 2, the hypervisor platform underneath it is. Check whether it's active:
bcdedit /enum | findstr hypervisorlaunchtype
If the output shows hypervisorlaunchtype Off, turn it back on:
bcdedit /set hypervisorlaunchtype auto
Reboot after this change.
Step 4 โ Conflict with third-party virtualization software
VMware Workstation, VirtualBox (in legacy mode), and certain antivirus hypervisor drivers can grab hardware virtualization exclusively โ which shuts WSL 2 out entirely.
VMware Workstation 15.5.5+ supports Hyper-V coexistence. If you're on an older version, update it.
VirtualBox: versions before 6.1 don't coexist with Hyper-V. Update to VirtualBox 6.1+ and enable Hyper-V paravirtualization in the VM settings.
Docker Desktop users: make sure it's configured to use the WSL 2 backend, not Hyper-V isolation. That actually resolves the conflict rather than adding to it.
Older antivirus tools โ Avast, AVG, Kaspersky pre-2020 builds โ can also block the hypervisor. Temporarily disable the antivirus to confirm it's the culprit, then update or add a whitelist rule for the hypervisor process.
Step 5 โ Re-register the distro
Fixed virtualization but the distro still fails? The registration state might be corrupted. Check what's currently registered:
wsl --list --verbose
If the distro shows a broken state, unregister and reinstall it:
wsl --unregister Ubuntu
wsl --install -d Ubuntu
Or update WSL itself first โ this clears a lot of registration bugs:
wsl --update
wsl --shutdown
Verifying the fix
Launch your distro from the Start menu, or just run:
wsl
You should drop into a bash shell. Confirm WSL 2 is running correctly:
wsl --list --verbose
Expected output:
NAME STATE VERSION
* Ubuntu Running 2
VERSION showing 2 and STATE showing Running means you're good.
Lessons learned
BIOS virtualization being off is the root cause in roughly 60โ70% of cases โ especially on machines fresh out of the box or after a BIOS reset. Task Manager's CPU panel catches this in seconds, no reboot required.
Another common pattern: a machine that had VMware or VirtualBox installed years ago, before Hyper-V coexistence was standard. Those old installations leave behind hypervisor configurations that clash with WSL 2. Keeping third-party virtualization tools up to date avoids most of this friction.
Corporate laptop? IT policy sometimes locks BIOS virtualization. If that's your situation, ask your sysadmin to enable it โ or fall back to WSL 1 (wsl --set-default-version 1), which doesn't need hardware virtualization at all.

