-
Notifications
You must be signed in to change notification settings - Fork 0
docs: add WSL setup and 'Catastrophic failure' troubleshooting #173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -273,6 +273,8 @@ Access the dashboard at `http://localhost:8080`. | |||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| ### Windows Installation | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| > **WSL 2 prerequisite (Docker mode):** The Docker-based installation requires Windows Subsystem for Linux 2. Run `wsl --status` to verify WSL 2 is active. If WSL is not installed or needs updating, see [Troubleshooting Issue #10](#10-catastrophic-failure-when-updating-wsl-on-windows) for setup steps and fixes. | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| The PowerShell installer mirrors the same workflow on Windows. | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| ```powershell | ||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -1939,6 +1941,74 @@ grep -i "warning" restore-diag.log | |||||||||||||||||||||||||||||||||||||||||||
| 2. Enable garbage collection logging | ||||||||||||||||||||||||||||||||||||||||||||
| 3. Reduce concurrent subscriptions | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| #### 10. "Catastrophic failure" when updating WSL on Windows | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| **Context:** The Docker-based DevContainer and `install.ps1 -Mode Docker` workflows require | ||||||||||||||||||||||||||||||||||||||||||||
| Windows Subsystem for Linux 2 (WSL 2). Attempting to install or update WSL may fail with: | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||||||||||||||
| Downloading: Windows Subsystem for Linux 2.6.3 | ||||||||||||||||||||||||||||||||||||||||||||
| Installing: Windows Subsystem for Linux 2.6.3 | ||||||||||||||||||||||||||||||||||||||||||||
| Catastrophic failure | ||||||||||||||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| **Causes:** | ||||||||||||||||||||||||||||||||||||||||||||
| - Command was not run as Administrator (elevation is required) | ||||||||||||||||||||||||||||||||||||||||||||
| - Windows Update is pending a reboot | ||||||||||||||||||||||||||||||||||||||||||||
| - Corrupted WSL installation state | ||||||||||||||||||||||||||||||||||||||||||||
| - Virtual Machine Platform Windows feature not enabled | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| **Resolution — try in order:** | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| 1. **Run as Administrator** | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| Open PowerShell as Administrator and retry: | ||||||||||||||||||||||||||||||||||||||||||||
| ```powershell | ||||||||||||||||||||||||||||||||||||||||||||
| wsl.exe --update | ||||||||||||||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| 2. **Install or update from the Microsoft Store** | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| Search for "Windows Subsystem for Linux" in the Microsoft Store and click **Update** or **Install**. | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| 3. **Install from GitHub releases (offline / behind firewall)** | ||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
| Download the latest `.msixbundle` from the [WSL releases page](https://github.com/microsoft/WSL/releases) | ||||||||||||||||||||||||||||||||||||||||||||
| and double-click to install, or install from an elevated PowerShell: | ||||||||||||||||||||||||||||||||||||||||||||
| ```powershell | ||||||||||||||||||||||||||||||||||||||||||||
| Add-AppxPackage .\Microsoft.WSL_<version>_x64_ARM64.msixbundle | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
| Add-AppxPackage .\Microsoft.WSL_<version>_x64_ARM64.msixbundle | |
| Add-AppxPackage .\Microsoft.WSL*.msixbundle |
Copilot
AI
Mar 26, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The note here is inaccurate: wsl --install does not “replace the existing WSL installation”; it typically no-ops if WSL is already installed. Consider changing this to an actual reset/uninstall sequence (e.g., wsl --shutdown, unregister distros if needed, uninstall the WSL app / disable features, reboot, then reinstall).
| # Run as Administrator — replaces the existing WSL installation | |
| wsl --install | |
| # Run as Administrator — this will fully reset WSL and remove distros/data | |
| # 1) Stop WSL | |
| wsl --shutdown | |
| # 2) (Optional but recommended) Remove broken distros | |
| # WARNING: This deletes the selected distro and its Linux filesystem. | |
| # Replace <DistroName> with a name from `wsl --list`. | |
| # wsl --unregister <DistroName> | |
| # 3) Disable WSL features | |
| dism.exe /online /disable-feature /featurename:VirtualMachinePlatform /norestart | |
| dism.exe /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart | |
| # 4) Reboot to complete feature removal | |
| Restart-Computer | |
| # 5) After reboot, repeat step 4 above to re-enable WSL features and run: | |
| # wsl --set-default-version 2 | |
| # wsl --update |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The filename
Microsoft.WSL_<version>_x64_ARM64.msixbundlein theAdd-AppxPackagecommand might be misleading. Typically, MSIX bundles are specific to an architecture (e.g.,_x64or_ARM64), not a combined one. Please clarify that users should select the appropriate architecture-specific bundle from the GitHub releases page. For example,Microsoft.WSL_<version>_x64.msixbundlefor x64 systems.