Summary
After running CCleaner on Windows 11, my WSL2 (Ubuntu) installation stopped working entirely. Trying to launch WSL returned:
The service cannot be started, either because it is disabled or because it
has no enabled devices associated with it.
Error code: Wsl/0x80070422
For a moment I thought my entire Ubuntu environment had been wiped, since the Linux drive in File Explorer appeared empty and wsl --list --verbose failed. I had no Windows restore point, and the Recycle Bin was empty.
Root cause
CCleaner had set the WSLService Windows service to Disabled and stopped it. This is the service used by the modern Microsoft Store version of WSL (MicrosoftCorporationII.WindowsSubsystemForLinux). With it disabled, WSL cannot start at all — even though the ext4.vhdx file (containing the entire Linux filesystem) was untouched on disk.
Diagnostic that confirmed it:
Get-Service | Where-Object {$_.Name -like "*wsl*"} | Format-Table Name, Status, StartType
# Output:
# Name Status StartType
# WSLService Stopped Disabled
The Hyper-V related services (vmcompute, vmms, HvHost) were fine, the WSL Store package was installed and Ok, and the ext4.vhdx was intact (24 GB, untouched). The only problem was the disabled service.
Fix
Re-enable and start the service from an elevated PowerShell:
Set-Service -Name WSLService -StartupType Automatic
Start-Service WSLService
wsl --list --verbose
WSL came back instantly with all data intact.
Questions / Feedback for the CCleaner team
-
Why does CCleaner disable
WSLService? It is a legitimate, in-use Windows service required by an officially supported Microsoft feature. -
Is this controlled by a specific cleaning rule (services optimization, “unused services”, etc.)? If so,
WSLServiceshould be added to the exclusion list by default, since disabling it makes WSL unusable and looks (very convincingly) like data loss to the user. -
Same concern likely applies to:
-
LxssManager(legacy WSL service) -
vmcompute/vmms(Hyper-V Host Compute Service / VM Management) — required by WSL2, Docker Desktop, Windows Sandbox, WSA
-
-
Would it be possible to add a clear warning before disabling any of these, mentioning the impact on WSL/Docker/Hyper-V users?
How to avoid this if you use WSL
Until this is addressed, if you use WSL2 (or Docker Desktop, or any Hyper-V based VM), I’d strongly recommend:
-
In CCleaner, disable any “services optimization” / “unused services” feature
-
Or uninstall CCleaner and rely on Windows’ built-in Storage Sense
-
Keep an exported list of running services before running cleaning tools, so you can spot what got changed:
Get-Service | Where-Object {$_.Status -eq 'Running'} | Export-Csv services-before.csv
System info
-
Windows 11
-
WSL version:
MicrosoftCorporationII.WindowsSubsystemForLinux 2.6.3.0 -
Distribution: Ubuntu (from Microsoft Store)
-
CCleaner version: 7.7.1313.0
Sharing this so anyone else hitting Wsl/0x80070422 after running CCleaner can recover quickly without panicking. Your ext4.vhdx is almost certainly fine — just check the WSLService state first.