microsoft / WSL

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

Failure converting WSL1 distro to WSL2 #4626

Open abelal opened 4 years ago

abelal commented 4 years ago

Microsoft Windows [Version 10.0.19008.1000]

Following WSL2 installation guide I get the following error while trying to convert WSL1 distro to WSL2.

the operation could not be started because a required feature is not installed.

Both VirtualMachinePlatform and Microsoft-Windows-Subsystem-Linux windows features are already enabled. I configured WSL2 as the default version and now even installing new distributions fail with the same error. And the GUI displays error "0x80370114", which I believe is the same as above. Detailed logs of the issue are attached. wsl2-log.zip

benhillis commented 4 years ago

@abelal - Is virtualization enabled in your bios?

abelal commented 4 years ago

@benhillis, yup.

benhillis commented 4 years ago

@abelal - Does msinfo32 show virtualization is enabled?

ev-dev commented 4 years ago

I believe there are many related and possibly duplicate open issues for installing/upgrading to v2 (including one I just closed #4573).

There doesn't seem to be access to more detailed errors/logs for the wsl2 installation/upgrade process and so problems which may have a shared set of root causes, can all show the same misleading message:

operation could not be started because a required feature is not installed

The catch-all response is quite unhelpful for addressing compatibility/install issues. Does anyone else think it would be worth while for me to open an "improved error messaging for wsl2 install" feature request ?

abelal commented 4 years ago

@abelal - Does msinfo32 show virtualization is enabled?

I'm not sure which exact setting you want me to look at under msinfo32 but this is what I get through the task manager. TskMgr

gajama commented 4 years ago

Hi,

I had the same problem.

It occurred to me to see whether I could create a normal Hyper-V VM.

I had to disable and re-enable Hyper-V to get the Virtual Machine Management Service to run.

Once that was running I tried to use the Hyper-V Quick Create facility, as detailed here: https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/quick-create-virtual-machine

But that failed to start correctly with a 'Not found' error. This led me to a Reddit post: https://www.reddit.com/r/HyperV/comments/9thubc/create_virtual_machine_returns_not_found_error/

With the following instructions:

1, Open "Window Security"

2, Open "App & Browser control"

3, Click "Exploit protection settings" at the bottom

4, Switch to "Program settings" tab

5, Locate "C:\WINDOWS\System32\vmcompute.exe" in the list and expand it

6, Click "Edit"

7, Scroll down to "Code flow guard (CFG)" and uncheck "Override system settings"

8, Start vmcompute from powershell "net start vmcompute"

After doing the above Hyper-V Quick Create launched correctly.

I then went back and the command

wsl --set-version Debian 2

completed successfully.

mtraudt commented 4 years ago

@gajama Thank you so much! I tried the instructions you mentioned and they worked perfectly.

gajama commented 4 years ago

@mtraudt glad they worked for you too

gajama commented 4 years ago

After a recent Insider Slow Ring update the Code Flow Guard setting had reverted and WSL was refusing to start. I changed the setting again and then had to restart, after which it's working again. I'm on 10.0.19025 Build 19025 - but I don't know if it's the most recent update that caused this.

ssnyder commented 4 years ago

Version 10.0.19033.1 - I am getting this error when I try to convert or try to run a wsl2 distro

wsl --set-version Ubuntu 2 Conversion in progress, this may take a few minutes... For information on key differences with WSL 2 please visit https://aka.ms/wsl2 Error: 0xffffffff and on a new distro (just installed through MS Store)

Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0xffffffff Error: 0xffffffff (null)

I've stopped DockerDesktop, checked for port 53 and it seems that dnscrypt-proxy.exe is using it.

Any ideas?

gajama commented 4 years ago

I don't use docker or dnscrypt-proxy so I doubt anything in this issue is relevant. Reading around it seems that anything that binds to port 53 stops the WSL conversion process at least, so turn off anything using port 53 and see if that works.

ssnyder commented 4 years ago

Unfortunately I can't turn off dnscrypt-proxy.....or at least I haven't figured out how to do this. I stop the process, but it just restarts itself. I'm not sure which service is actually started it, but it appears that the logical one (DNS Client) is started via a trigger(?) so I can't stop/start/pause it in the services control panel app. Any ideas?

alexk111 commented 4 years ago

Had the 0xffffffff error on wsl --set-version Ubuntu 2. Had a service that used port 53. Confirm that after stopping the service the version update went ok.

JudeLiu commented 4 years ago

Great! gajama's solution works for me

chryzsh commented 4 years ago

gajama's solution worked for me as well

meizenga commented 4 years ago

@gajama thanks! Also worked for me

adpeyre commented 4 years ago

I confirm, it works. Thanks! ;)

Sollace commented 4 years ago

Can confirm, @gajama 's solution works!

What's more, it appears to have also fixed Windows Sandbox.

fonnesbeck commented 4 years ago

Why does the Control Flow Guard keep resetting? It seems like every time I restart my machine, the setting reverts and I have to dig through the security settings again. How can I make this change permanent?

xiaods commented 4 years ago

even use the @gajama steps. i also come across issue blow:

The conversion is underway, which may take a few minutes...
For information on the key differences with WSL 2, visit https://aka.ms/wsl2
There are no more endpoints available in the Endpoint Mapper.

win10pro ver 19041.508

no idea

taseikyo commented 3 years ago

even use the @gajama steps. i also come across issue blow:

The conversion is underway, which may take a few minutes...
For information on the key differences with WSL 2, visit https://aka.ms/wsl2
There are no more endpoints available in the Endpoint Mapper.

win10pro ver 19041.508

no idea

same issue 😕 OS version: 1909 OS build: 18363.1198

LOuroboros commented 3 years ago

even use the @gajama steps. i also come across issue blow:

The conversion is underway, which may take a few minutes...
For information on the key differences with WSL 2, visit https://aka.ms/wsl2
There are no more endpoints available in the Endpoint Mapper.

win10pro ver 19041.508

no idea

~~Same deal here. Win10 x64 v19041.388. I've been trying multiple things, most recently the instructions stated here, but sadly, nothing has worked. Been craving to try WSL2 ever since I first heard of it back in September, when I brought up the problem in another existing issue post due to it supposedly having Linux like speeds as far as I heard, but it doesn't seem like someone who knows about WSL's inner workings will step in to lend us a hand anytime soon.~~

EDIT: I never edited this comment, but as I explained here, miraculously, the problem was solved when I reinstalled Windows 10 back in August 2021. It was the Version 2004 specifically. I'm currently on Windows 10 Version 21H2 and WSL2 is also working fine on it.

ahminus commented 2 years ago

I never would have figured this out without stumbling on @gajama's answer.

Those steps worked for me perfectly.

Thanks very much!

olegKusov commented 1 year ago

Having same issue. Windows 11 22621.1555 core i3 1215u virtualization enabled

Halima-AddAndCo commented 1 year ago

le dossier n existe pas qu es ce qu il y a d ecri dans le ficher

zulfanovita commented 5 months ago

i want ask, what if there is no C:\WINDOWS\System32\vmcompute.exe. Should i add program to customize ?

oayoade commented 3 days ago

Having same issue. Windows 11 22621.1555 core i3 1215u virtualization enabled

same, did you find a fix?