When WSL Broke at 0x80080005 and Even Its Core Services Were Missing

Published:

Environment:

OS: Windows 10
Installed distro: Arch Linux
Error log:
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80080005
Error: 0x80080005 ???????

Press any key to continue...

I started by following a commonly suggested fix: open Command Prompt as administrator and restart the WSL service with sc stop LxssManager and sc start LxssManager.

Instead, Windows answered with this:

C:\Windows\system32>sc stop LxssManager
[SC] OpenService failed 1060:

The specified service does not exist as an installed service.

So this stopped being a simple WSL registration error and turned into a more fundamental question: if LxssManager does not exist, how is WSL even supposed to work?

I dug around for ways to install or restore the LxssManager service. I did not find a direct fix, but one clue pointed me toward Windows services. Searching for Services from the Start menu brought up an entry called WSL Service. From there, I tried starting it manually. The key hints were 1058, disabled, and the associated device is not running.

That led to the next basic check: whether the required Windows features were even enabled.

Press Win+S, search for Turn Windows features on or off, and make sure these two are checked:

  • Windows Subsystem for Linux
  • Virtual Machine Platform

After that, reboot.

Once the system came back up, I opened PowerShell as administrator and tried to reset WSL forcefully:

wsl --shutdown
wsl --unregister Arch # replace with your distro name
wsl --install -d Arch # re-register the distro

If WSL reports a missing kernel, install it here:

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

At one point, running wsl --shutdown produced this:

zcz  system32  ♥ 21:32  wsl --shutdown
This application requires the Windows Subsystem for Linux optional component.
Install it by running: wsl.exe --install --no-distribution
The system may need to be restarted so the changes can take effect.
Error code: Wsl/WSL_E_WSL_OPTIONAL_COMPONENT_REQUIRED

At that stage, there were really only two possibilities:

  1. the WSL service was never installed
  2. the service existed but had been disabled

The second case is harder to untangle, so I started with the first one.

Forcing WSL components to install

Run PowerShell as administrator:

# Install WSL core components (this also enables the virtualization-related feature automatically)
wsl --install

The output looked normal:

zcz  system32  ♥ 21:34  wsl --install
Installing: Windows optional component Microsoft-Windows-Subsystem-Linux

Deployment Image Servicing and Management tool
Version: 10.0.19041.3636

Image Version: 10.0.19045.5487

Enabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.
Installing: Windows optional component VirtualMachinePlatform

Deployment Image Servicing and Management tool
Version: 10.0.19041.3636

Image Version: 10.0.19045.5487

Enabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.
The requested operation is successful. Changes will not be effective until the system is rebooted.

So I rebooted again.

That is when Windows greeted me with the familiar rollback screen: We couldn’t complete the updates. Undoing changes.

I tried booting into Safe Mode and forcing updates from there. No luck. Safe Mode failed too.

Since the system kept tripping over WSL-related changes, I even tried temporarily disabling the WSL service from an elevated Command Prompt:

sc config LxssManager start= disabled
shutdown /r /t 0

And Windows hit me with the same thing again:

C:\Windows\system32>sc config LxssManager start= disabled&& shutdown /r /t 0
[SC] OpenService failed 1060:

The specified service does not exist as an installed service.

Same old friend, back again.

Last-resort attempt: wipe and reinstall WSL completely

I moved on to a full cleanup:

# Unregister all distros
wsl --unregister *
# Remove leftover configuration
Remove-Item -Path "$env:USERPROFILE\AppData\Local\Packages\*Linux*" -Recurse -Force

The result:

zcz  system32  ♥ 22:04  # Unregister all distros
> wsl --unregister *
> # Remove leftover configuration
> Remove-Item -Path "$env:USERPROFILE\AppData\Local\Packages\*Linux*" -Recurse -Force
Unregistering.
This application requires the Windows Subsystem for Linux optional component.
Install it by running: wsl.exe --install --no-distribution
The system may need to be restarted so the changes can take effect.
Error code: Wsl/WSL_E_WSL_OPTIONAL_COMPONENT_REQUIRED

So I followed the suggestion directly:

wsl.exe --install --no-distribution

Output:

zcz  system32  ♥ 22:09  wsl.exe --install --no-distribution
Installing: Windows optional component Microsoft-Windows-Subsystem-Linux

Deployment Image Servicing and Management tool
Version: 10.0.19041.3636

Image Version: 10.0.19045.5487

Enabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.
Installing: Windows optional component VirtualMachinePlatform

Deployment Image Servicing and Management tool
Version: 10.0.19041.3636

Image Version: 10.0.19045.5487

Enabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.
The requested operation is successful. Changes will not be effective until the system is rebooted.

Then I rebooted again.

And again: We couldn’t complete the updates. Undoing changes.

Manually trying to restore the services

Next I went into an elevated CMD window:

Press Win+S → type cmd → right-click and choose Run as administrator.

Then run:

sc config LxssManager start= auto
sc config vmcompute start= auto
net start LxssManager
net start vmcompute

That still failed, now with 1085. So I fell back to DISM and tried enabling the required features explicitly:

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

dism /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Another WSL reinstall attempt led to this:

![[ _posts\Windows-WSL报错:Error-0x80080005\Pasted image 20250304222548.png ]]

After more digging, the root problem looked much uglier than a normal WSL install failure: both vmcompute (the virtual machine compute service) and LxssManager (the WSL management service) appeared to be unregistered, which caused the WSL installer itself to break.

I tried enabling one more related feature as well:

# Run as administrator
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:HypervisorPlatform /all /norestart

Reboot.

Same rollback screen.

At that point it was hard not to conclude that the damage was at the system level. The realistic options were starting to look like either reinstalling Windows or doing a reset while keeping files. Still, I was not ready to give up on it yet.

2025.3.4 22:57


2025.3.5

Trying to repair Windows itself

Since WSL recovery kept crashing into missing services and failed feature activation, I switched to repairing core system components.

Run PowerShell as administrator:

# Run as administrator in PowerShell
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth

Then reset Windows Update components:

# Run in elevated cmd
net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
rmdir C:\Windows\SoftwareDistribution /S /Q
net start wuauserv
net start cryptSvc
net start bits
net start msiserver
# Force recreation of WSL core services
sc create vmcompute binPath= "C:\Windows\System32\vmcompute.exe" start= auto type= kernel
sc create LxssManager binPath= "C:\Windows\System32\lxss\LxssManager.dll" start= auto type= own
net start vmcompute
net start LxssManager

Still no success.

This turned into one of those absurd WSL bugs that consumes hours and gives nothing back. After spending this much time fighting it, the obvious question started to feel unavoidable: why not just install Linux directly instead of wrestling with a broken Windows setup?

At this rate, the weekend plan may simply be replacing the whole thing with Arch.