WSL 2 Error 0x80370102: Virtual Machine Platform or Virtualization Not Enabled
Overview
WSL 2 error 0x80370102 means the WSL virtual machine cannot start because Virtual Machine Platform is off, CPU virtualization is disabled in firmware, hypervisorlaunchtype is Off, or nested virtualization is unavailable. Prove which one with read-only checks, change only that setting, restart and verify; never unregister the distribution.
Diagnose
Symptom
What responders observe.
A user runs wsl or opens a WSL 2 distribution and sees:Error: 0x80370102 The virtual machine could not be started because a required feature is not installed.The same code can appear when WSL installation fails. Ask what changed on the device recently, such as a new build, a firmware update or reset, a boot configuration change, or moving the Windows image into a virtual machine.
Detection
Metrics, logs and confirmation commands.
- Work through the causes in this order and stop at the first one that is proven.Is this Windows a virtual machine? On a Hyper-V guest, nested virtualization must be exposed by the host. On an Azure VM, check whether Trusted Launch is enabled: Microsoft states nested virtualization is not supported on Azure VMs with Trusted Launch.Is Virtual Machine Platform disabled? If DISM reports the feature as disabled, this is the cause.Is the hypervisor switched off at boot? If the bcdedit line reads hypervisorlaunchtype Off, the hypervisor is disabled.Is virtualization off in firmware, or missing? If any Hyper-V requirement in systeminfo reads No, check hardware-assisted virtualization (Intel VT or AMD-V), Second Level Address Translation (SLAT) and Data Execution Prevention. WSL 2 needs SLAT; older CPUs such as the Intel Core 2 Duo cannot run it.Is a third-party hypervisor in the way? Microsoft asks for VMware 15.5.5 or later and VirtualBox 6 or later, which can run alongside Hyper-V, or for older versions to be turned off.
Root cause
Why the incident occurred.
-
Work through the causes in this order and stop at the first one that is proven.Is this Windows a virtual machine?
-
On a Hyper-V guest, nested virtualization must be exposed by the host.
-
On an Azure VM, check whether Trusted Launch is enabled: Microsoft states nested virtualization is not supported on Azure VMs with Trusted Launch.Is Virtual Machine Platform disabled?
-
If DISM reports the feature as disabled, this is the cause.Is the hypervisor switched off at boot?
-
If the bcdedit line reads hypervisorlaunchtype Off, the hypervisor is disabled.Is virtualization off in firmware, or missing?
-
If any Hyper-V requirement in systeminfo reads No, check hardware-assisted virtualization (Intel VT or AMD-V), Second Level Address Translation (SLAT) and Data Execution Prevention.
-
WSL 2 needs SLAT; older CPUs such as the Intel Core 2 Duo cannot run it.Is a third-party hypervisor in the way?
-
Microsoft asks for VMware 15.5.5 or later and VirtualBox 6 or later, which can run alongside Hyper-V, or for older versions to be turned off.
Contain and prevent
Blast radius
What else this can affect.
Prevention
Controls and guardrails that stop it recurring.
-
Record which cause it was, the before and after values, and who changed them.
-
If the hypervisor had been switched off, find out what set it to Off.
-
If a script, tool or policy did, it can switch it off again.
-
Add the Virtual Machine Platform state and the hypervisorlaunchtype value to the build checks for developer images, and confirm that firmware baselines keep CPU virtualization on.
-
The next safe decision after closure is whether other devices share the same image or firmware baseline and need the same check.
Fix
Pre-flight checks
Check these before you change anything.
- Local administrator rights on the affected Windows device.nAccess to the device's BitLocker recovery key before any boot configuration or firmware change.nFor a Hyper-V guest, administrator access to the Hyper-V host.
Commands
wsl --statusnwsl --list --verbosenbcdedit /enum | findstr -i hypervisorlaunchtypendism.exe /online /get-featureinfo /featurename:VirtualMachinePlatformnsysteminfo.exendism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartnbcdedit /set hypervisorlaunchtype AutonSet-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
Verify and recover
Verification
Evidence required before you close the incident.
- Repeat the DISM, bcdedit or systeminfo check for the item you changed. u2014 VirtualMachinePlatform enabled, hypervisorlaunchtype Auto, all requirements Yes or hypervisor detected. u2014 The changed item shows the expected value after restart.nRun wsl --list --verbose and start the affected distribution. u2014 A shell opens; VERSION shows 2. u2014 No 0x80370102 error.nCompare wsl --status with the saved output. u2014 Only the expected difference. u2014 No unplanned configuration change.
Rollback
The safe way back.
- Virtual Machine Platform: Dism /online /Disable-Feature /FeatureName:VirtualMachinePlatform, and restart if prompted.nHypervisor launch: bcdedit /set hypervisorlaunchtype Off, then restart, only after confirming why it was Off.nFirmware: return the CPU virtualization option to the recorded value.nHyper-V guest: with the guest stopped, Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $false.
Escalate when
Conditions that need another owner.
-
The device is an Azure VM with Trusted Launch: escalate to the cloud platform owner.
-
Nested virtualization is not supported with Trusted Launch, and Microsoft says an Azure VM needs the Standard security type for it.systeminfo shows a requirement as No and the firmware has no virtualization option, or the CPU lacks SLAT: escalate for hardware replacement.Firmware is password-protected or managed by policy: escalate to the endpoint team.Every check passes and the error persists, or more than one device fails at the same time: escalate with the saved output and a list of recent changes.nEndpoint team if firmware is locked.nCloud platform owner.nHardware replacement.nEndpoint security team if no key is available.
Fixed? Get the next one before it hits you: The KBY Brief
Practical fixes for the systems you run, by email about twice a week. Unsubscribe at any time.
About this page
Credited to
Dates
Published
Corrections
No corrections are listed for this page. Some review sweeps corrected pages without naming each one; those are in the corrections log.
Was this useful?
Reports go to the site owner and are used to correct pages. Corrections are listed at /corrections.
Sources
Based on the vendor sources listed below. Check each step against your environment before acting.
First published 14 November 2026
Troubleshooting Windows Subsystem for Linux
Cited for: Supports the documented platform behaviour, diagnosis or recovery controls used by this Runbook.
Manual installation steps for older versions of WSL
Cited for: Supports the documented platform behaviour, diagnosis or recovery controls used by this Runbook.
Basic commands for WSL
Cited for: Supports the documented platform behaviour, diagnosis or recovery controls used by this Runbook.
System Requirements for Hyper-V on Windows and Windows Server
Cited for: Supports the documented platform behaviour, diagnosis or recovery controls used by this Runbook.
BCDEdit /set
Cited for: Supports the documented platform behaviour, diagnosis or recovery controls used by this Runbook.
Enable or Disable Windows Features Using DISM
Cited for: Supports the documented platform behaviour, diagnosis or recovery controls used by this Runbook.
Run Hyper-V in a Virtual Machine with Nested Virtualization
Cited for: Supports the documented platform behaviour, diagnosis or recovery controls used by this Runbook.
Enable Virtualization on Windows
Cited for: Supports the documented platform behaviour, diagnosis or recovery controls used by this Runbook.
Incident Response Recommendations and Considerations for Cybersecurity Risk Management
Cited for: Supports the documented platform behaviour, diagnosis or recovery controls used by this Runbook.