Skip to content

Cannot start WSL: Wsl/Service/CreateInstance/CreateVm/HCS/ERROR_FILE_NOT_FOUND #40488

Description

@Hai-Ren

Solution

  1. Download the installer from https://github.com/microsoft/WSL/releases/download/2.7.14/wsl.2.7.14.0.x64.msi. Please check this is your current version.
  2. Exit docker desktop.
  3. Right click on the installer -> show more options -> repairImage

Roll back also works but is not required

The issue was fixed in 2.9.3 #40625. And back ported to 2.7.14. However, the fix only works when updating from a fixed version.


Windows Version

Microsoft Windows [Version 10.0.26200.8246]

WSL Version

2.7.3.0

Are you using WSL 1 or WSL 2?

  • WSL 2
  • WSL 1

Kernel Version

6.6.114.1-1

Distro Version

Ubuntu 22.04

Other Software

  • Visual Studio Code 1.109.2 with WSL extension
  • CERN ROOT (C++ Data Analysis Framework), version 6.26
  • WSLg (GUI support for WSL)

Repro Steps

The issue started after an abrupt crash, and now the broken state is permanent for any WSL2 operation.

  1. I was running a C++ plotting task using CERN ROOT inside WSL2 (Ubuntu 22.04) via VS Code Remote.
  2. The ROOT drawing failed to render, ROOT exited unexpectedly, and VS Code immediately lost connection to WSL.
  3. I opened a new Windows PowerShell and ran wsl. It failed with Wsl/Service/CreateInstance/CreateVm/HCS/ERROR_FILE_NOT_FOUND
  4. I rebooted the Windows host machine completely and ran wsl again. The same error persists.
  5. Attempted to bypass the broken distro by installing a brand new WSL2 instance: wsl --install -d Ubuntu-24.04. This ALSO fails with the exact same HCS error.
  6. Switched default version to WSL1 (wsl --set-default-version 1) and ran the install command again. The installation SUCCEEDED and WSL1 works perfectly.

Troubleshooting steps I have already taken (None of these worked for WSL2):

  • Verified the VHDX file exists, is on an NTFS drive, and the folder is NOT compressed.
  • Checked diskpart and verified the original ext4.vhdx file is not corrupted.
  • Unregistered the old distro and tried wsl --import-in-place.
  • Completely cleared old configurations by deleting the registry key: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss.
  • Windows Settings -> System Components -> Windows Subsystem for Linux -> Advanced options -> Repair & Reset.
  • Turned off "Virtual Machine Platform", "Hyper-V" (via script for Home Edition), and "Windows Subsystem for Linux" in Windows Features, rebooted, turned them back on, and rebooted.
  • Ran sfc /scannow and DISM /Online /Cleanup-Image /RestoreHealth.

Expected Behavior

After a crash or a host machine reboot, WSL2 should be able to restart normally. Even if the specific distro's VHDX was locked or corrupted, I should be able to create and install a brand new WSL2 instance (e.g., Ubuntu-24.04) without the Host Compute Service (HCS) blocking the VM creation.

Actual Behavior

WSL2 is permanently broken on the host machine. Any attempt to start an existing WSL2 instance or install a new one results in the following HCS error. Only WSL1 is functional.

Terminal output when trying to start WSL:
The system cannot find the file specified.
Error code: Wsl/Service/CreateInstance/CreateVm/HCS/ERROR_FILE_NOT_FOUND

Terminal output when trying to install a new WSL2 distro:
Installing, this may take a few minutes...
The system cannot find the file specified.
Error code: Wsl/InstallDistro/Service/RegisterDistro/CreateVm/HCS/ERROR_FILE_NOT_FOUND

Diagnostic Logs

WslLogs-2026-05-11_05-53-27.tar.gz

Activity

github-actions commented on May 10, 2026

@github-actions
Contributor

No logs.etl found in the archive. Make sure that you ran collect-wsl-logs.ps1 as administrator and that the logs.etl file is in the archive.

Diagnostic information
.wslconfig found
Detected appx version: 2.7.3.0
No logs.etl found in archive.
Error while parsing the logs. See action page for details

github-actions commented on May 10, 2026

@github-actions
Contributor
Diagnostic information
Issue was edited and new log file was found: https://github.com/user-attachments/files/27574743/WslLogs-2026-05-11_05-53-27.tar.gz
.wslconfig found
Detected appx version: 2.7.3.0
Detected user visible error: Wsl/Service/CreateInstance/CreateVm/HCS/ERROR_FILE_NOT_FOUND
Found evidence of disk failing to attach. Error: 0xC0000034, Path: C:\Program Files\WSL\system.vhd

nickbotica commented on May 10, 2026

@nickbotica

I found rolling back (reinstalling) 2.6.3 resolved this for me. https://github.com/microsoft/WSL/releases/tag/2.6.3

chemwolf6922 commented on May 11, 2026

@chemwolf6922
Contributor

Hi Hai-Ren Could you please check if the file C:\Program Files\WSL\system.vhd and C:\Program Files\WSL\tools\modules.vhd exist on your system? If so, could you please provide their file hash with these commands?

Get-FileHash -Algorithm SHA256 "C:\Program Files\WSL\system.vhd"
Get-FileHash -Algorithm SHA256 "C:\Program Files\WSL\tools\modules.vhd"

And share the file's acl with these commands:

Get-Acl "C:\Program Files\WSL\system.vhd" | Format-List
Get-Acl "C:\Program Files\WSL\tools\modules.vhd" | Format-List

Hai-Ren commented on May 11, 2026

@Hai-Ren
Author

Hi Feng Wang (@chemwolf6922),

Thank you for your response!

I just checked my system. While the directory C:\Program Files\WSL\tools does exist, both system.vhd and modules.vhd are completely missing from the WSL folder.

To manually restore the missing files, I downloaded the latest offline installer (wsl.2.7.3.0.x64.msi) from the GitHub releases page and attempted to run it.

However, the installation failed silently. A dialog box popped up saying "Please wait while Windows configures Windows Subsystem for Linux", but before the progress bar could finish, the window just closed automatically without any error message.

I checked the directories again, and both system.vhd and modules.vhd are still missing.

chemwolf6922 commented on May 11, 2026

@chemwolf6922
Contributor

Hi Hai-Ren , you may try these steps to restore wsl (won't loss distro data)

  1. Disable WSL in Windows features.
  2. Reboot.
  3. Enable WSL in Windows features.
  4. Reboot.
  5. Reinstall WSL from the msi.

Hai-Ren commented on May 11, 2026

@Hai-Ren
Author

I found rolling back (reinstalling) 2.6.3 resolved this for me. https://github.com/microsoft/WSL/releases/tag/2.6.3

Huge thanks to Nick Botica (@nickbotica)! Rolling back to 2.6.3 worked perfectly for me too.

Feng Wang (@chemwolf6922), just to confirm, my issue is now resolved. The 2.6.3 installer successfully deployed the missing .vhd files, whereas the 2.7.3 installer was failing silently. Thank you both for the help!

brhahlen commented on May 11, 2026

@brhahlen

Feng Wang (@chemwolf6922) I tried your options, but that didn't work.
I also rolled back to 2.6.3 and everything now works again.

twuyts commented on May 11, 2026

@twuyts

Rollback to 2.6.3. fixed it for me as well.
To rollback, I downloaded and installed the .msi from https://github.com/microsoft/WSL/releases/tag/2.6.3

davidpullin-rldatix commented on May 11, 2026

@davidpullin-rldatix

Had an issue today myself. Same problem. wsl was working. Laptop reported low power issues and then Windows hibernated. wsl broken after. Rollback to 2.6.3 worked (https://github.com/microsoft/WSL/releases/tag/2.6.3)

chemwolf6922 commented on May 12, 2026

@chemwolf6922
Contributor

Hi, for anyone hitting this problem. Could you please try collect and share the installer log via these steps? Thanks.

foinf commented on May 12, 2026

@foinf

Same. Rolling back to 2.6.3 fixed it. Files are intact after rollback.

96 remaining items

JawaClass commented on Aug 23, 2026

@JawaClass

msi repair works indeed. perfect.

DavidRWB commented on Aug 26, 2026

@DavidRWB

Yes, what a nightmare. Repair didn't work for me, I had to remove and re-add WSL from Windows features. I backed up my Ubuntu vhd first, just in case. I didn't need to do this, and there was no data loss.

whit3st commented on Sep 7, 2026

@whit3st

Repair didn't work for me but install just worked. Regardless, thank you!

firxworx commented on Sep 9, 2026

@firxworx

For those who say .msi right click + repair didn't work, a possible reason is version incompatibility.

Confirm your WSL version in PowerShell: wsl --version

On the releases page scroll to the appropriate version. You are not likely to be running a pre-release version of WSL which is listed first, and the issue may be caused by an automatic update so you may actually be running a more current version than you last recall.

https://github.com/microsoft/wsl/releases

I won't make any assumptions in this era of vibe coders who may be new to things: make sure you download the appropriate x64 vs. arm64 version of the .msi depending on your CPU... Go with x64 for Intel/AMD or arm64 for Apple Silicon or Qualcomm (Copilot+ PC).

Thanks everyone, repair worked for me. Funnily enough, I never hit surprise WSL issues on my linux workstations :P

SDemonUA commented on Sep 11, 2026

@SDemonUA

For me nor reinstalling WSL didn't worked, nor DISM. But, manual copy of system.vhd and modules.vhd did.
Ref: https://linuxbeast.com/blog/how-to-fix-wsl-createvm-hcs-error-file-not-found-on-windows/

matillda123 commented on Sep 14, 2026

@matillda123

I just had the same issue with WSL 2.7.14.0
Following: https://linuxbeast.com/blog/how-to-fix-wsl-createvm-hcs-error-file-not-found-on-windows/ thankfully resolved it.

klaasvp commented on Sep 15, 2026

@klaasvp

I just had the same issue with WSL 2.7.14.0 Following: https://linuxbeast.com/blog/how-to-fix-wsl-createvm-hcs-error-file-not-found-on-windows/ thankfully resolved it.

Same here for 2.7.14.0.
The guide worked but the winget command didn't work for me, I had to download the MSI from github manually.

SDemonUA commented on Sep 15, 2026

@SDemonUA

I just had the same issue with WSL 2.7.14.0 Following: https://linuxbeast.com/blog/how-to-fix-wsl-createvm-hcs-error-file-not-found-on-windows/ thankfully resolved it.

Same here for 2.7.14.0. The guide worked but the winget command didn't work for me, I had to download the MSI from github manually.

There is a dedicated command in winget for downloading winget download --id Microsoft.WSL

klaasvp commented on Sep 15, 2026

@klaasvp

I just had the same issue with WSL 2.7.14.0 Following: https://linuxbeast.com/blog/how-to-fix-wsl-createvm-hcs-error-file-not-found-on-windows/ thankfully resolved it.

Same here for 2.7.14.0. The guide worked but the winget command didn't work for me, I had to download the MSI from github manually.

There is a dedicated command in winget for downloading winget download --id Microsoft.WSL

Yes, I know, didn't work either. Probably a issue specific to my machine. Just wanted to mention what worked for me.

matillda123 commented on Sep 15, 2026

@matillda123

I just had the same issue with WSL 2.7.14.0 Following: https://linuxbeast.com/blog/how-to-fix-wsl-createvm-hcs-error-file-not-found-on-windows/ thankfully resolved it.

Same here for 2.7.14.0. The guide worked but the winget command didn't work for me, I had to download the MSI from github manually.

There is a dedicated command in winget for downloading winget download --id Microsoft.WSL

Yes, I know, didn't work either. Probably a issue specific to my machine. Just wanted to mention what worked for me.

I also had to download it manually (forgot to mention that earlier). Using winget download --id Microsoft.WSL only provided the previous version 2.7.13.0. I guess because the newer one is so new that winget was/is not yet aware of it.

mijorus commented on Sep 16, 2026

@mijorus

I had the same issue today, with version 2.7.14.0; downloading the latest MSI and launching Right click > "Restore" fixed the issue for me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions