Skip to content

WSL kernel stuck at 5.15 – cannot update due to dual installation conflict (Windows Features + WindowsApps) #14342

@JaremaPiekutowski

Description

@JaremaPiekutowski

WSL kernel stuck at 5.15 – cannot update due to dual installation conflict (Windows Features + WindowsApps)

Environment

Windows Version Microsoft Windows 11 25H2 [10.0.26200.7840]
WSL Version 2.4.11.0 (reported by wsl --version)
Kernel Version 5.15.167.4-microsoft-standard-WSL2
Distro Ubuntu 24.04
Architecture x64

Problem

WSL was originally installed via Windows Features (the legacy method). Later, the MSI/Store package was also installed, resulting in two conflicting WSL installations coexisting:

Get-Package | Where-Object { $_.Name -like "*Windows Subsystem*" }

Name                           Version          ProviderName
----                           -------          ------------
Windows Subsystem for Linux    2.4.10.0         msi
Windows Subsystem for Linux... 1.0.27           msi        ← legacy Windows Feature
Windows Subsystem for Linux... 5.10.102.1       msi        ← legacy kernel

The legacy LxssManager service (from Windows Features) cannot be removed, blocking all kernel updates.


Steps to reproduce

  1. Have WSL originally installed via Windows Features (legacy method)
  2. Run wsl --update or wsl --update --pre-release
  3. Observe error:
Checking for updates.
Updating Windows Subsystem for Linux to version: 2.6.3.
The older version of Windows Subsystem for Linux cannot be removed. Contact your technical support group.
Update failed (exit code: 1603).
Error code: Wsl/UpdatePackage/ERROR_INSTALL_FAILURE

Attempted workarounds (all failed)

  1. wsl --update → error 1603
  2. wsl --update --pre-release → error 1603
  3. Manual MSI install (wsl.2.6.3.0.x64.msi via msiexec) → installs to WindowsApps but wsl --version still shows old version
  4. msiexec /x {GUID} /qn for all three legacy entries → triggers "network resource unavailable" dialog asking for original wsl.msi (which no longer exists)
  5. Registry removal of all three Uninstall keys → popup dialog persists on next boot, kernel unchanged
  6. DISM disable/enable of Microsoft-Windows-Subsystem-Linux and VirtualMachinePlatform features + reinstall → WSL 2.6.3 installed in WindowsApps, but wsl --version still reports 2.4.11 / kernel 5.15
  7. Replacing C:\Windows\System32\wsl.exe with the 2.6.3 binary from WindowsApps → wsl --version shows 2.6.3 and kernel 6.6, but running any distro fails with:
Error code: Wsl/Service/0x800706f4

This confirms the underlying LxssManager service is still the old version and incompatible with the new wsl.exe.

  1. winget upgrade --id Microsoft.WSL → "No available upgrade found"

Current state

  • C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_2.6.3.0_x64__8wekyb3d8bbwe exists and contains wsl.exe version 2.6.3.0
  • C:\Windows\System32\wsl.exe is a HardLink pointing to C:\Windows\WinSxS\amd64_microsoft-windows-lxss-wsl_...\wsl.exe (version 10.0.26100.1) and does not redirect to the WindowsApps binary
  • The legacy LxssManager service remains active and prevents the new WSL service from taking over
  • Ubuntu 24.04 distro runs fine on kernel 5.15 – data is intact

Expected behavior

wsl --update should replace the legacy Windows Feature installation with the modern MSI/Store package, including updating the kernel from 5.15 to 6.6.


Impact

Cursor IDE terminal sandbox requires kernel >= 6.2 and is non-functional:

"Terminal sandbox is not supported on Linux kernel 5.15. Kernel 6.2 or later is required for sandboxing."


Question

Is there an officially supported migration path from the legacy Windows Features WSL installation to the modern MSI/Store package without a full reinstall (export/unregister/import)?

If not, please consider adding a migration tool or improving the error message to guide users through the correct steps.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions