microsoft / WSL

Issues found on WSL
https://docs.microsoft.com/windows/wsl
MIT License
17.46k stars 822 forks source link

No such interface supported Error code: Wsl/0x80004002 #8849

Closed Brunlof closed 2 months ago

Brunlof commented 2 years ago

Version

Microsoft Windows [Version 10.0.22621.521]

WSL Version

Kernel Version

5.10.102.1

Distro Version

No response

Other Software

No response

Repro Steps

Update WSL with wsl --update --web-download

Run WSL after upgrade wsl --status

Expected Behavior

I expect that wsl should work after being updated.

Actual Behavior

PS C:\WINDOWS\system32> wsl --update --web-download
Downloading: Windows Subsystem for Linux
Installing: Windows Subsystem for Linux
Windows Subsystem for Linux has been installed.
PS C:\WINDOWS\system32> wsl --status
No such interface supported
Error code: Wsl/0x80004002

Diagnostic Logs

Not sure where to put additional information so I'll add it here

I have a "native" version of wsl installed which I am using without any actual problems, I would just like to upgrade to the latest version. "wsl --update --web-download" installs the preview version which I cannot use as described above. If I uninstall it I can still fall back on the "native" version.

I get the same problem with all these options:

benhillis commented 2 years ago

Thanks for posting, going to need /logs to diagnose.

ghost commented 2 years ago

Hello! Could you please provide more logs to help us better diagnose your issue?

To collect WSL logs, download and execute collect-wsl-logs.ps1 in an administrative powershell prompt:

Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-wsl-logs.ps1" -OutFile collect-wsl-logs.ps1
Set-ExecutionPolicy Bypass -Scope Process -Force
.\collect-wsl-logs.ps1

The scipt will output the path of the log file once done.

Once completed please upload the output files to this Github issue.

Click here for more info on logging

Thank you!

Brunlof commented 2 years ago

WslLogs-2022-09-22_19-40-46.zip

Thanks for the reply!

Not sure if this includes the right information. I started the script, ran the failing command in another shell, returned and pressed a button to save the logs.

benhillis commented 2 years ago

Interesting - I'm seeing at least one COM call to the service succeed, but something else is failing. @OneBlue - could you take a look?

Brunlof commented 2 years ago

Hi, any ides on how to solve this issue? It is blocking me from using the more resent versions of WSL which contains a few features I really like to try out.

mmacarth commented 2 years ago

I too have this issue.

Windows version 10.0.22621.819 (a preview I believe)

WSL was working for me after installing the preview on Nov 2. I then ran updates yesterday (Nov. 8) and WSL no longer works. I initially installed the preview to get the latest WSL, one that supports --version, kernel 5.15 I think.

Attaching logs.

WslLogs-2022-11-09_17-58-37.zip

mmacarth commented 2 years ago

An update.

I managed to export my installation of ubuntu after uninstalling WSL and reinstalling an older version. I then attempted to reinstall a newer version WSL but continued to get the error above.

Using the Media Creation Tool I created a bootable USB which I used to re-install Windows without removing files or apps.

Once this completed WSL was working again and running at the latest version. Very happy, much rejoicing.

I then ran WSL import on my exported, existing Ubuntu distro. This required a couple of attempts as I got an error, but it did work eventually. For some reason, maybe because the export was done on an older WSL version, the default user was root not what I had setup and the DISPLAY var was no longer set. After switching users and resetting the DISPLAY=:0 my ubuntu was running well.

So I presume there was a setting in the registry or cached somewhere which was making my WSL crash. Also, I'm now very leery of installing Windows Updates as WSL seems a bit fragile.

kuhlaid commented 1 year ago

I have a fresh install of Windows 11 enterprise and the first thing I tried was to install WSL from the Microsoft store. It installed but trying to run WSL commands or open WSL from the store throws the error. I uninstalled from the store and installed from the command line but still receiving the error message. I will note, that when I installed from the store, it did not ask me to reboot as it did with the command line install.

I should also note, that when I installed from the command line (using wsl --install which defaults to the Store version of WSL), it installed Ubuntu, but trying to open the app it throws

Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80004002
Error: 0x80004002 No such interface supported

I removed the store version of WSL again and installed this time using the command wsl --install --inbox (which does not install using the store version) and this install DID NOT THROW the error and WSL seems to be working properly on the non-store version. However, I would prefer the store version since supposedly that is the only version with systemd supported (according to https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/) or is that old news?

ItaloBorrelli commented 1 year ago

@benhillis @OneBlue, I have further logs to share for this. I've tried everything I could to figure this out myself. I have can provide reg if you need any in particular that aren't included in the event logs.

I found something I think is interesting, but maybe it's mundane. The first logs I have were ran while lxss manager was not running: WslLogs-2022-12-08_20-55-07.zip. The second were after I realized I had stopped the service and restarted it: WslLogs-2022-12-08_20-56-52.zip. Maybe that's meaningless though. It's a hard issue to debug on ones own without much knowledge of windows program development.

Also interesting (maybe?) is that the kernel used is 5.10.102.1 (in the instance of the logs according to the HKLM.reg file) or 5.10.16 depending on whether or not I wsl --update or use the wsl_update_x64 installer (respectively) before installing wsl through the store. I can't remember what happens if I remove the update before installing wsl through the store, just that I still get 0x80004002.

I also once got 0x8007007e but that I think is because I deleted the lxssmanager dll file. It was interesting (to me at least) that in that instance the failure in "wil\result_macros.h" was at a different line that was very close to the other (see event Microsoft.Windows.Subsystem.Lxss/LxssException). I'm not a c++ dev so I couldn't make much sense of it, but it makes sense to me that it has something to do with the lxssmanager in both instances. Here's the logs for that instance: WslLogs-2022-12-08_18-18-05.zip

Maybe something about the install isn't registering properly? I will also say that I have had the exact same bad luck by installing from the store and using the wsl_0.56.2.0, wsl_0.67.6.0 or 1.0.3.0 msixbundles downloaded from github https://github.com/microsoft/WSL/releases. I used the program "Advanced Installer" to check out the msixbundles to see if I could match up the register keys mentioned with the actual registry to no avail, though I don't actually totally understand registries.

So if I install one of those wsl doesn't work and throws that error. If I uninstall it from Add or Remove Programs it immediately goes back to running wsl.exe in System 32.

I've also tried installing from scratch by uninstalling as much as I could and removing the optional features related to virtualization and the wsl windows feature off and on. I've restarted my computer and I've also tried to install wsl through the store on 2 devices and 1 vm (with nested virtualization active) and still had this issue.

If I can provide any more information to help you, please let me know.

OneBlue commented 1 year ago

I wonder if this is caused by the same issue as #4177.

@Brunlof: Can you please export the content of HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2 and share the .reg file on this issue ?

ItaloBorrelli commented 1 year ago

Here's mine if it helps: WinSock2.zip

ItaloBorrelli commented 1 year ago

Sorry to muddy the waters. The above zip was provided after I ran the debugging steps provided on the ticket linked though it didn't fix the issue. This registry contains the registry on a different device I'm using where I haven't run those debugging steps: WinSock2.zip.

Brunlof commented 1 year ago

Sure, here is mine as well. WinSock2.zip

ItaloBorrelli commented 1 year ago

If it wasn't problematic before, it is definitely problematic now, because files that were created by wsl when it was working cannot be changed from read only. Even with admin permissions I cannot remove them because they are read only. Can I provide any more information to help with this issue?

ItaloBorrelli commented 1 year ago

Possible relation to https://github.com/microsoft/WSL/issues/5259? In my and my coworkers testing I have always gotten 0x80004002 when trying to install on an AD account and never had a problem on a non AD account. Unfortunately that was a failure-to-launch which is actively terrible for any users with a active directory or domain account. My work requires using an AD account, not to mention that it benefits one to use the services being paid for.

LordNoteworthy commented 1 year ago

I had the same issue but the problem for me that Virtualization was disabled in the BIOS.

Jhird commented 1 year ago

What worked for me was the following:

  1. Open PowerShell as admin
  2. Run the following command Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  3. Restart computer
HotshotGT commented 1 year ago

What worked for me was the following:

1. Open PowerShell as admin

2. Run the following command `Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux`

3. Restart computer

This worked for me as well.

difzhao commented 1 year ago

I am still getting the same error... "Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux" didn't help me. Attaching the log here. Thanks! WslLogs-2023-06-10_16-18-47.zip

Ddscully commented 1 year ago

I got around this by ensuring both Hyper-V and WSL are enabled through: Apps & Features -> Programs and Features -> Turn Windows Features on or off -> check both "Hyper-V" and "Windows Subsystem for Linux" checkboxes -> restart computer

Reflyer823 commented 1 year ago

Possible relation to #5259? In my and my coworkers testing I have always gotten 0x80004002 when trying to install on an AD account and never had a problem on a non AD account. Unfortunately that was a failure-to-launch which is actively terrible for any users with a active directory or domain account. My work requires using an AD account, not to mention that it benefits one to use the services being paid for.

I had the exact same problem and I was also logged in using an AD account. Have you found a solution ?

microsoft-github-policy-service[bot] commented 2 months ago

This issue has been automatically closed since it has not had any activity for the past year. If you're still experiencing this issue please re-file this as a new issue or feature request.

Thank you!