Error 0x80070641: Unable to Install Windows Subsystem for Linux

I’m trying to set up Ubuntu on my Windows PC, but first, I need to install the Windows Subsystem for Linux (WSL). However, I’m running into an issue. The installation process is stuck, saying “WSL is finishing an upgrade…” but ultimately fails with an error message. The error code is 1601, and the specific error is Wsl/CallMsi/Install/0x80070641.

Responding to: Error 0x80070641: Unable to Install Windows Subsystem for Linux

Here’s a concise guide to help you resolve the error and install the Windows Subsystem for Linux (WSL):

Common Causes and Troubleshooting Steps

Error 0x80070641 usually occurs due to corrupted installation files, issues with the system’s SafeOS environment, or conflicts with system services. Let’s start with the simplest steps first:

1. Check for Corrupted Installation Files:

  • Run the System File Checker to scan and fix corrupted system files:
    1. Open Command Prompt as an administrator (right-click on the Start menu and select Command Prompt (Admin)).
    2. Run the following command and let the process complete: sfc /scannow
  • This command may fix corrupted files that are causing the issue.

2. Disable Fast Startup:

  • Fast Startup might be interfering with the installation process:
    1. Navigate to Settings > System > Power & sleep.
    2. Click Additional power settings on the right side.
    3. Uncheck Turn on fast startup under Shutdown settings.
  • If you are using Power & sleep settings without additional power settings, follow this path instead:
    • Press Windows + I to open Settings.
    • Click Power & sleep > Choose what the power buttons do.
    • Click Change settings that are currently unavailable.
    1. Uncheck Turn on fast startup.
  • Restart your system and then try installing WSL again.

3. Disable Microsoft ACPI Compliance Driver:

  • Sometimes, an outdated ACPI driver can cause the installation to fail:
    1. Open the Device Manager:
      • Press Windows + X and select Device Manager.
    2. In the Device Manager, expand the System Devices section.
    3. Find Microsoft ACPI Compliance Driver and right-click on it.
    4. Select Disable device, then confirm.

4. Clean Boot and Disable Services:

  • Clean Boot can help isolate services causing the conflict:
    1. Press Windows + R to open the Run dialog.
    2. Type msconfig and press Enter to open System Configuration.
    3. Go to Services and select Hide all Microsoft services.
    4. Disable all remaining services.
    5. Go to Startup and click Open Task Manager.
    6. In Task Manager, disable all startup programs.
    7. Close Task Manager and System Configuration.
    8. Restart your system in Clean Boot mode.
  • If WSL installs without issues in Clean Boot, it means a service or program is causing the conflict.

5. Disable Windows Update Service:

  • Sometimes, Windows Update can interfere with the installation process:
    1. Open the Command Prompt as an administrator.
    2. Run the following commands to stop the Windows Update Service:
      • net stop wuauserv followed by net stop cryptSvc
    3. Try installing WSL again.
    4. After installation, restart the Windows Update Service:
      • net start wuauserv followed by net start cryptSvc

6. Reinstall and Re-enable VT-x:

  • WSL requires VT-x (Virtualization Technology):
    1. Ensure VT-x is enabled in your BIOS settings. Steps may vary depending on your system:
    • Restart your system.
    • Press the key to enter BIOS settings (usually F2 or F12, but refer to your system documentation).
    • Look for Virtualization, VT-x, or Virtualization Technology, and enable it.
    1. Reinstall WSL after enabling VT-x.

If none of these steps resolve the issue, expect that corrupt system files or other system issues may be the cause.