Quick fix
# Admin PowerShell, pick the line for YOUR error code:
# 0x800701bc (kernel missing, most frequent) — Store WSL first choice:
wsl --update
# 0x800701bc non-Store: install the official kernel update package wsl_update_x64.msi (see official manual install guide)
# 0x80370102 (virtualization not active):
bcdedit /set hypervisorlaunchtype auto
# then: Control Panel → Turn Windows features on or off → check "Virtual Machine Platform" → restart
# 0x80370114 (Windows Hypervisor Platform missing):
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 0x80040154 (feature disabled, common after Windows Update):
# Control Panel → Turn Windows features on or off → check "Windows Subsystem for Linux" + "Virtual Machine Platform" → restart
# 0x800706f7 (network software blocking):
netsh winsock reset
All commands need admin; anything touching feature toggles/boot type requires a restart to take effect.
What you will run into
Right after installing WSL or a Windows update, double-clicking Ubuntu (or any distro) flashes a black window and fails:
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ? ? ?
On Chinese systems the message is often garbled or truncated; Windows 11 commonly shows Error code: Wsl/Service/....
0x800701bc is the most frequent WSL startup failure — in most cases it means "kernel update package not installed after upgrading WSL1 to WSL2".
Its siblings 0x80370102 / 0x80040154 / 0x80370114 / 0x800706f7 each mean a different root cause (virtualization off / feature disabled / component missing / network software blocking). Read the error code first, don't try fixes one by one.
Why this happens
"Registering a distro" = the Windows WSL service (LxssManager) creates a WSL2 VM for the distro and mounts its filesystem.
This step depends on three things: the WSL2 kernel (C:\Windows\System32\lxss\tools\kernel), the Virtual Machine Platform feature (Virtual Machine Platform / hypervisorlaunchtype), and the WSL service itself (COM components).
The error code is the index of which one is missing:
- 0x800701bc = kernel component missing (no kernel update package after WSL1→WSL2 upgrade; Store WSL not
wsl --updated to latest); - 0x80370102 = virtualization not active (disabled in BIOS / "Virtual Machine Platform" off / hypervisorlaunchtype not auto);
- 0x80370114 = "Windows Hypervisor Platform" feature missing (common on fresh Win11);
- 0x80040154 = WSL feature or COM registration broken (commonly the feature got disabled after a Windows update);
- 0x800706f7 = third-party network software (proxy/security suite) blocking the WSL service's internal RPC.
A WSL2 distro is not "an extracted folder" — the LxssManager service creates a lightweight VM: the kernel comes from lxss/tools/kernel on the Windows side, and the disk is a vhdx virtual disk.
Registration failure means one prerequisite for creating the VM is not met, and the error codes layer exactly as "kernel → virtualization → feature → service → network".
The 0x800701bc "kernel missing" case is historical baggage: in WSL1 the distro ran as an isolated process and needed no kernel;
after upgrading to WSL2 the kernel update package must be installed separately (or wsl --update on Store builds), otherwise you get this code.
Deterministic takeaway: the same error code = the same root-cause layer, so reading the code and picking the matching fix beats trying 5 commands in sequence;
verify only after restarting the terminal/OS, because feature toggles and hypervisorlaunchtype only take effect after a reboot.
Step by step
1. Read the error code first — Required (the code decides the root-cause layer, don't guess)
Find the hex code in the error text (0x800701bc / 0x80370102 / 0x80040154 / 0x80370114 / 0x800706f7) and pick the matching path above. Can't see it → run wsl --status in an admin PowerShell / reopen the distro to get the full error.
2. 0x800701bc: install the kernel — Required (most frequent, the majority of cases)
Store build: wsl --update (add --web-download if needed). Non-Store build: download and install wsl_update_x64.msi from the official manual install guide. Then reopen the distro.
3. 0x80370102 / 0x80370114: enable virtualization — Depends on diagnosis (BIOS/feature/boot type, three layers)
Run bcdedit /set hypervisorlaunchtype auto (admin), enable "Virtual Machine Platform" (Control Panel feature toggle), and check virtualization (VT-x/AMD-V) isn't off in BIOS.
Still failing → disable "Virtual Machine Platform" → restart → re-enable → restart (officially recommended in Microsoft Q&A).
4. 0x80040154: re-enable the feature — Depends on diagnosis (common after Windows Update)
Check "Windows Subsystem for Linux" + "Virtual Machine Platform" in Control Panel, restart. Still failing → uninstall and reinstall Store WSL, or wsl --update --rollback to roll back a recent WSL update.
5. 0x800706f7: reset Winsock — Depends on diagnosis (proxy/security software suspected)
Admin netsh winsock reset, restart. Still failing → temporarily exit the proxy/security software and retry (to locate the blocker).
How to confirm it works
wsl --version # prints WSL version + kernel version (no error code)
wsl -d Ubuntu # distro opens a shell
Both passing = the registration chain works. Important: verify after a restart (feature toggles/boot type only take effect after reboot) — don't misjudge failure before rebooting.
Other environments
| Environment | Notes |
|---|---|
| Win10 vs Win11 | Same error-code family; on Win11 "Windows Hypervisor Platform" is off by default, so 0x80370114 is more common |
| Store vs built-in WSL | Store builds use wsl --update; built-in (legacy) needs the kernel update package msi |
| WSL1 → WSL2 upgrade | 0x800701bc hotspot: the kernel update package must be installed after upgrading |
| Fresh machine | 0x80370102/0x80370114 hotspot: enable "Virtual Machine Platform" before installing a distro |
Symptom
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ? ? ? (garbled Chinese text is common)
Installing, this may take a few minutes... → fails immediately
Signature: fails on the first launch of a distro; black window flashes; the error code is stable and reproducible (same machine, same code).
Cause
Registering a WSL2 distro = LxssManager creates a lightweight VM; four prerequisites: WSL2 kernel, Virtual Machine Platform feature, hypervisorlaunchtype, WSL service/COM. The error codes index the missing layer: 0x800701bc=kernel missing (no kernel update package after WSL1→2, most frequent); 0x80370102=virtualization not active; 0x80370114=Windows Hypervisor Platform missing; 0x80040154=feature disabled/COM broken (common after Windows Update); 0x800706f7=third-party network software blocks RPC.
Solution
- Read the error code (table above); 2. 0x800701bc →
wsl --updateor install the kernel update package msi; 3. 0x80370102/0x80370114 →bcdedit /set hypervisorlaunchtype auto+ enable "Virtual Machine Platform" + restart; 4. 0x80040154 → re-enable "Windows Subsystem for Linux" + restart, reinstall WSL if needed; 5. 0x800706f7 → adminnetsh winsock reset+ restart. All need admin; feature-level fixes must be verified after a reboot.
Verification Evidence
- Not reproducible on this machine (custom prebuilt WSL runs fine), evidence = official mechanism-check local repro log 2026-08-31
- Healthy-state criteria verified locally:
wsl --versionprints 12 lines of version info;C:\Windows\System32\lxss\tools\kernelexists;wsl bash -lcenters the distro. - Error-code semantics and fix commands come from Microsoft official troubleshooting / install-manual / Microsoft Q&A official replies (URLs in the mechanism log); fix commands were NOT executed locally (nothing to fix, and some need admin/reboot).
Variant quick reference
| Error code | One-line root cause | One command |
|---|---|---|
| 0x800701bc | kernel update package missing | wsl --update |
| 0x80370102 | virtualization not active | bcdedit /set hypervisorlaunchtype auto + enable "Virtual Machine Platform" + restart |
| 0x80370114 | Windows Hypervisor Platform missing | dism /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart |
| 0x80040154 | feature disabled / COM broken | re-enable "Windows Subsystem for Linux" + restart |
| 0x800706f7 | network software blocks service | netsh winsock reset + restart |
Related canonicals
Read in order: precondition -> same root / same domain / related:
- Related (similar errors, different cause):
- This page is the "WSL startup failure" canonical; adjacent WSL problems: wsl-dns-resolution-failure (no network / DNS failure after start), wsl-no-space-left (can't write to disk), wsl-pipe-encoding (garbled output when calling wsl from PowerShell).
Applicable tools (1)
This problem is linked from the tool pages below — reachable from either side.
wslSource & evidence
← Coding Agents & Terminal domain | Problem Catalog Experience | Facing another issue? Go to the Helpdesk