Skip to content
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

WSL2. Can no longer find 'C:\Program Files\WSL\system.vhd' #11069

Closed
1 of 2 tasks
simonlaszcz opened this issue Jan 24, 2024 · 37 comments
Closed
1 of 2 tasks

WSL2. Can no longer find 'C:\Program Files\WSL\system.vhd' #11069

simonlaszcz opened this issue Jan 24, 2024 · 37 comments

Comments

@simonlaszcz
Copy link

Windows Version

10.0.22621.3007

WSL Version

2.0.14.0

Are you using WSL 1 or WSL 2?

  • WSL 2
  • WSL 1

Kernel Version

No response

Distro Version

Debian

Other Software

No response

Repro Steps

Try to open console
or
try wsl --export

Expected Behavior

For it to work

Actual Behavior

Failed to attach disk 'C:\Program Files\WSL\system.vhd' to WSL2: The system cannot find the file specified.
Error code: Wsl/Service/CreateInstance/CreateVm/MountVhd/HCS/ERROR_FILE_NOT_FOUND

[process exited with code 4294967295 (0xffffffff)]
You can now close this terminal with Ctrl+D, or press Enter to restart.

Diagnostic Logs

No response

Copy link

Hi I'm an AI powered bot that finds similar issues based off the issue title.

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it. Thank you!

Open similar issues:

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

@alexbogias
Copy link

Same here after installed v2.1.1.0

@soudai
Copy link

soudai commented Jan 26, 2024

me too.

PS C:\Users\alfta> wsl --version
WSL バージョン: 2.0.14.0
カーネル バージョン: 5.15.133.1-1
WSLg バージョン: 1.0.59
MSRDC バージョン: 1.2.4677
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows バージョン: 10.0.22631.3085

PS C:\Users\alfta> wsl --update
更新プログラムを確認しています。
Linux 用 Windows サブシステムの最新バージョンは既にインストールされています。
PS C:\Users\alfta>

@simonlaszcz
Copy link
Author

I just reinstalled WSL2 in the end, after first copying the vhdx in my AppData to a safe location, just in case.
My original distro was untouched by the reinstallation and worked as expected.

@ZKBL
Copy link

ZKBL commented Jan 30, 2024

mee too

@alexbogias
Copy link

I reinstalled also and worked...

@OneBlue
Copy link
Collaborator

OneBlue commented Jan 30, 2024

This is unfortunately a known issue when upgrading from an older version. The way to solve this is to manually download and install the new version.

You can find the latest MSI there: https://github.com/microsoft/WSL/releases/tag/2.1.1

@OneBlue OneBlue closed this as completed Jan 30, 2024
@simonlaszcz
Copy link
Author

I have to say though, that it worked fine for a couple of days after the upgrade. Then the vhd suddenly 'disappeared overnight'. Nevertheless, I will give this a go if it happens again.

@CoreySchnedl
Copy link

@OneBlue Thank you! Confirmed this fixed the issue for me. Saved me a bunch of time, because every other thread seemed to recognize unmounting and re-installing which would have took a ton of time for me to re-setup my workspaces.

Same thing as @simonlaszcz, I updated wsl everything worked fine, next day I get this error.

@jeromefischer
Copy link

I was also using 2.0.14 and lost two days in a row the Ubuntu distro. Now I give a try with the latest version 2.1.1.

Error message in wsl 2.0.14:

Failed to attach disk 'C:\Program Files\WSL\system.vhd' to WSL2: Das System kann die angegebene Datei nicht finden.
Error code: Wsl/Service/CreateInstance/CreateVm/MountVhd/HCS/ERROR_FILE_NOT_FOUND

@github-actions github-actions bot mentioned this issue Feb 16, 2024
2 tasks
@ICHx
Copy link

ICHx commented Feb 16, 2024

this helped, thanks. But absolutely confusing as an 'known issue' this is nowhere to be seen

@xijujie
Copy link

xijujie commented Mar 3, 2024

Thanks @OneBlue! Upgrading to v2.1.3 fixed this issue.

@DMBerlin
Copy link

This is unfortunately a known issue when upgrading from an older version. The way to solve this is to manually download and install the new version.

You can find the latest MSI there: https://github.com/microsoft/WSL/releases/tag/2.1.1

You saved my file! Thank you!

@jtognazzi
Copy link

jtognazzi commented Mar 18, 2024

Same behavior here.
I update WSL2 on Friday with wsl --update.
It worked until I rebooted today, and now I have the same error.

Reinstalling wsl.2.1.5.0.x64.msi does not fix the issue !
I never got the feedback that it was successfully installed, but there was also no error...

I then went to look into the msi archive a extracted the systemd.vhd file as system.vhd.
and now it seems to work.

But this is really not a user friendly process :-(

@OneBlue
Copy link
Collaborator

OneBlue commented Mar 18, 2024

@jtognazzi: Can you share logs of the installation of 2.1.5.0 if that doesn't solve the issue ?

You can collect them via msiexec /i /L*V C:\wsllogs.txt

@jtognazzi
Copy link

@OneBlue
Should I try to reinstall the msi package via your cmd ?
So this is what I did:
msiexec.exe /i wsl.2.1.5.0.x64.msi /L*V C:\Securiton\wsllogs.txt
and I attached the resulting logs...
wsllogs.txt

@FrameMuse
Copy link

I couldn't initiate my old vhdx disk eventually, but I handled to move all my precious data to another subsystem by mounting the disk via wsl --mount ext4.vhdx --vhd command.

https://learn.microsoft.com/en-us/windows/wsl/wsl2-mount-disk

@PascalRoessnerDSA
Copy link

Same behavior here. I update WSL2 on Friday with wsl --update. It worked until I rebooted today, and now I have the same error.

Reinstalling wsl.2.1.5.0.x64.msi does not fix the issue ! I never got the feedback that it was successfully installed, but there was also no error...

I then went to look into the msi archive a extracted the systemd.vhd file as system.vhd. and now it seems to work.

But this is really not a user friendly process :-(

Exact same issue here. The proposed solution also worked -

for extracting the system.vhd file from the msi installer I ran

msiexec /a c:\tmp\wsl.2.1.5.0.x64.msi /qb TARGETDIR=c:\tmp\wsl

The file is then at the following location

c:\tmp\wsl\system.vhd

from there just copy it to C:\Program Files\WSL\system.vhd

@WangFengtu1996
Copy link

WangFengtu1996 commented Jun 14, 2024

I also have same error.

(base) PS C:\Users\11487> wsl --version
WSL 版本: 2.2.4.0
内核版本: 5.15.153.1-2
WSLg 版本: 1.0.61
MSRDC 版本: 1.2.5326
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26091.1-240325-1447.ge-release
Windows 版本: 10.0.22631.3737

I copy from my colleague PC same file to my PC with same version, then it can launch. system.vhd is rootfs for OS.

@stephenLucien
Copy link

Same behavior here. I update WSL2 on Friday with wsl --update. It worked until I rebooted today, and now I have the same error.

Reinstalling wsl.2.1.5.0.x64.msi does not fix the issue ! I never got the feedback that it was successfully installed, but there was also no error...

I then went to look into the msi archive a extracted the systemd.vhd file as system.vhd. and now it seems to work.

But this is really not a user friendly process :-(

Perfect, it works for me! Actually, I extracted the systemd.vhd from latest msi archive and renamed it to system.vhd, and it works well. But I cannot extract this file directly to folder C://Program Files/WSL, it pops up a window indicating permission deny, so I extract it to other folder and then copy to C://Program Files/WSL.

@stephenLucien
Copy link

Same behavior here. I update WSL2 on Friday with wsl --update. It worked until I rebooted today, and now I have the same error.
Reinstalling wsl.2.1.5.0.x64.msi does not fix the issue ! I never got the feedback that it was successfully installed, but there was also no error...
I then went to look into the msi archive a extracted the systemd.vhd file as system.vhd. and now it seems to work.
But this is really not a user friendly process :-(

Perfect, it works for me! Actually, I extracted the systemd.vhd from latest msi archive and renamed it to system.vhd, and it works well. But I cannot extract this file directly to folder C://Program Files/WSL, it pops up a window indicating permission deny, so I extract it to other folder and then copy to C://Program Files/WSL.

image

@PascalRoessnerDSA
Copy link

Same behavior here. I update WSL2 on Friday with wsl --update. It worked until I rebooted today, and now I have the same error.
Reinstalling wsl.2.1.5.0.x64.msi does not fix the issue ! I never got the feedback that it was successfully installed, but there was also no error...
I then went to look into the msi archive a extracted the systemd.vhd file as system.vhd. and now it seems to work.
But this is really not a user friendly process :-(

Exact same issue here. The proposed solution also worked -

for extracting the system.vhd file from the msi installer I ran

msiexec /a c:\tmp\wsl.2.1.5.0.x64.msi /qb TARGETDIR=c:\tmp\wsl

The file is then at the following location

c:\tmp\wsl\system.vhd

from there just copy it to C:\Program Files\WSL\system.vhd

I have just now updated to wsl 2.2.4.0 and the issue still persists.

After running the msiexec command as stated in my previous response the system.vhd file is now in the following directory

C:\tmp\wsl\PFiles64\WSL\system.vhd from there you can then still just copy it over to c:\tmp\wsl\system.vhd

@DriverCat
Copy link

DriverCat commented Nov 14, 2024

Same behavior here. I update WSL2 on Friday with wsl --update. It worked until I rebooted today, and now I have the same error.
Reinstalling wsl.2.1.5.0.x64.msi does not fix the issue ! I never got the feedback that it was successfully installed, but there was also no error...
I then went to look into the msi archive a extracted the systemd.vhd file as system.vhd. and now it seems to work.
But this is really not a user friendly process :-(

Perfect, it works for me! Actually, I extracted the systemd.vhd from latest msi archive and renamed it to system.vhd, and it works well. But I cannot extract this file directly to folder C://Program Files/WSL, it pops up a window indicating permission deny, so I extract it to other folder and then copy to C://Program Files/WSL.

image

Today it worked with exactly same problem with version 2.3.26.0
Just downloaded msi arch of the same version and copied the file to destination.
Thank you!

@ranggakd
Copy link

Same behavior here. I update WSL2 on Friday with wsl --update. It worked until I rebooted today, and now I have the same error.
Reinstalling wsl.2.1.5.0.x64.msi does not fix the issue ! I never got the feedback that it was successfully installed, but there was also no error...
I then went to look into the msi archive a extracted the systemd.vhd file as system.vhd. and now it seems to work.
But this is really not a user friendly process :-(

Exact same issue here. The proposed solution also worked -

for extracting the system.vhd file from the msi installer I ran

msiexec /a c:\tmp\wsl.2.1.5.0.x64.msi /qb TARGETDIR=c:\tmp\wsl

The file is then at the following location

c:\tmp\wsl\system.vhd

from there just copy it to C:\Program Files\WSL\system.vhd

I do this with several adjustments for example I work with this version below

Image

then I search for the exact version in this Release page which is 2.3.26.0

It worked. Just find the missing system.vhd on the target directory then copy-paste it to the supposed directory.

@allusernamestakenexceptthis
Copy link

allusernamestakenexceptthis commented Feb 6, 2025

copying system.vhd from the MSI worked.

but how does Microsoft keep doing things like that? not only they forced restart to update wsl, while I just went to get my coffee. and then wsl2 doesn't work. when are going to assume users need their PCs for work and not want forced restart and issues like this?

edit: it happened again!

@armenatt
Copy link

I simply went to Settings -> System -> System Components -> Windows Subsystem for Linux -> Advanced Settings and hit Repair and my Ubuntu distro WORKED again. No data was lost

@Junhao42
Copy link

@simonlaszcz Does reinstalling WSL2 makes you lose your existing data?

@simonlaszcz
Copy link
Author

@simonlaszcz Does reinstalling WSL2 makes you lose your existing data?

It's been a while so I can't remember exactly, but I think my data was left untouched. I'd advise taking a copy of your vhd files first though. I haven't been using WSL2 a lot recently so setup/installation etc might have changed.

@bryant-finney
Copy link

I experienced this issue after upgrading to 2.4.11

Using the attached wsl.2.4.11.0.x64.msi to reinstall that release didn't help; but downgrading to 2.4.10 restored C:\Program Files\WSL\system.vhd and solved the issue for me

There was no data loss ✅

@PichuChen
Copy link

I experienced this issue after upgrading to 2.4.11

Using the attached wsl.2.4.11.0.x64.msi to reinstall that release didn't help; but downgrading to 2.4.10 restored C:\Program Files\WSL\system.vhd and solved the issue for me

There was no data loss ✅

I unregistered the old system first, and now all the data in WSL is gone.

@Blue-Pilkinton-Ching
Copy link

I experienced this issue after upgrading to 2.4.11

Using the attached wsl.2.4.11.0.x64.msi to reinstall that release didn't help; but downgrading to 2.4.10 restored C:\Program Files\WSL\system.vhd and solved the issue for me

There was no data loss ✅

I had this issue as well when. Something in the new 2.4.11 version is broken, downgrading to https://github.com/microsoft/WSL/releases/tag/2.4.10 works.

@daniel-cohen
Copy link

I just wanted to say thank you !
A forced windows updated must have updated my WSL2 to 2.4.11.0 and broke it.
Installing 2.4.10.0 fixed it for me.

@borjamunozf
Copy link

Same, reported by one developr today.

It has been automatically upgraded to 2.4.1.1.0

@fseneque
Copy link

I also faced the same issue yesterday, after an automatic update to 2.4.11.0

Downgrading manually to 2.4.10.0 fixed it.

@EDIflyer
Copy link

I noticed the same issue today - auto update to 2.4.11.0 from Windows store then repeated errors about missing vhd (and consequent Docker Desktop errors too)

Thanks to the suggestion from @OneBlue I downgraded to 2.4.11.0 and I'm now up and running again but this needs to be fixed before a further auto update!

I did also get two errors when downgrading:
Image
Image

However they didn't appear to affect the functionality.

How do we get this issue reopened?

@Shariaty
Copy link

Same here. Happened earlier this morning, manual downgrade to 2.4.10.0 fixed the issue.

@Uretashi
Copy link

Same behavior here. I update WSL2 on Friday with wsl --update. It worked until I rebooted today, and now I have the same error.
Reinstalling wsl.2.1.5.0.x64.msi does not fix the issue ! I never got the feedback that it was successfully installed, but there was also no error...
I then went to look into the msi archive a extracted the systemd.vhd file as system.vhd. and now it seems to work.
But this is really not a user friendly process :-(

Exact same issue here. The proposed solution also worked -

for extracting the system.vhd file from the msi installer I ran

msiexec /a c:\tmp\wsl.2.1.5.0.x64.msi /qb TARGETDIR=c:\tmp\wsl

The file is then at the following location

c:\tmp\wsl\system.vhd

from there just copy it to C:\Program Files\WSL\system.vhd

Perfectly worked for me without downgrading, and if you're looking where to find the WSL's MSI, run the following command in PowerShell:

get-wmiobject Win32_Product | Sort-Object -Property Name | Format-Table Name, LocalPackage

It should print the installed WIN32 apps, locate "Windows Subsystem for Linux" in the name column and in LocalPackage, the MSI file's location.

Then run the very above suggested commands.

PS: for me the system.vhd file was located in C:\tmp\wsl\PFiles64\WSL
PS2: I would like to point that in my case, the WSL update has been done without me manually requesting it.

Hope it's gonna help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests