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

Latest Windows update uninstalled WSL #9355

Open
1 of 2 tasks
brevzin opened this issue Dec 17, 2022 · 29 comments
Open
1 of 2 tasks

Latest Windows update uninstalled WSL #9355

brevzin opened this issue Dec 17, 2022 · 29 comments
Assignees

Comments

@brevzin
Copy link

brevzin commented Dec 17, 2022

Version

Microsoft Windows [Version 10.0.25267.1000]

WSL Version

  • WSL 2
  • WSL 1

Kernel Version

No response

Distro Version

No response

Other Software

No response

Repro Steps

Whatever the latest Windows update was, I installed it. When I rebooted my laptop and tried to open Ubuntu, I was greeted with this message:

Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x8007019e
The Windows Subsystem for Linux optional component is not enabled. Please enable it and try again.
See https://aka.ms/wslinstall for details.
Press any key to continue...

I don't want to install WSL. I already had WSL, and have been using it for a long time, and have unsaved work there. Did the latest update uninstall it? Is my work just completely destroyed?

Expected Behavior

I expected WSL to still exist, since I did not actually remove it.

Actual Behavior

I apparently no longer have WSL.

Diagnostic Logs

No response

@brevzin
Copy link
Author

brevzin commented Dec 17, 2022

I tried uninstalling the last update, which now puts me at build 25267.rs_prerelease.221209-1557.

But still no WSL.

@brevzin
Copy link
Author

brevzin commented Dec 17, 2022

Note that it is listed as installed from the Optional Features tab under Apps:
image

@jkamashian
Copy link

same happened to me

@Biswa96
Copy link

Biswa96 commented Dec 18, 2022

Is virtualization enabled in BIOS/UEFI settings?

@lvyangdev
Copy link

I tried uninstalling the last update, and now version is 25262.1000 ,wsl2 is back!

@jkamashian
Copy link

I was able to reinstall WSL but it just gives me more trust issues with Microsoft like they don't take WSL feature seriously.

@benhillis
Copy link
Member

The inbox version of WSL has been removed from build 25267. You'll have to run wsl.exe --update or wsl.exe --install to packaged version.

Didn't realize this update would ship yet, sorry about that. We are working on a change to make this experience more clear and automatically install the new version.

@brentmjohnson
Copy link

After failing to find a workaround, I ended up reverting back to build 25262 as the app store version's lack of support for executing under session zero (#9231) breaks remote dev workflows.

@HotCakeX
Copy link

HotCakeX commented Jan 5, 2023

have unsaved work there. Did the latest update uninstall it? Is my work just completely destroyed?

@brevzin fact is, these are preview builds, Dev channel, experimental and unstable in nature, if you are worried about important work being lost, you should use stable builds.

@brevzin
Copy link
Author

brevzin commented Jan 6, 2023

@HotCakeX Well, the only way it appears for me to do that is to erase all my data pre-emptively. I can't even change away from the Dev channel.

@fxzxmicah
Copy link

Isn't that a good thing? I only use WSL1 and don't want to install WSL2. What's in it for me?

@Biswa96
Copy link

Biswa96 commented Jan 6, 2023

Uninstalled WSL does not mean it destroys installed Linux distributions in WSL. Try to install the WSL from Windows Store and find if any distributions survived the change with wsl.exe -l -v command.

@fxzxmicah
Copy link

fxzxmicah commented Jan 6, 2023

I just don't want WSL2. Anyway, WSL1 is no longer updated, and the store version is of no use to me.
Why not leave inbox wsl as a single version of WSL1 and distribute only WSL2 through the store?

@HotCakeX
Copy link

HotCakeX commented Jan 6, 2023

@HotCakeX I can't even change away from the Dev channel.

What? how? lol

@HotCakeX
Copy link

HotCakeX commented Jan 6, 2023

I just don't want WSL2. Anyway, WSL1 is no longer updated, and the store version is of no use to me. Why not leave inbox wsl as a single version of WSL1 and distribute only WSL2 through the store?

Android subsystem is more important and useful, yet it's not bundled with the Windows ISO file, i.e not an inbox app, so after every clean install of OS I install it from store.
why would this be any different for WSL/Linux subsystem?

this change they made is OK imo, if that results in reducing file size of Windows ISO file and Windows installation size in OS drive.

honestly, I didn't know WSL was an inbox app, I thought it'd only be available and installed if we manually downloaded it from store or command-line, if/when we needed it. like a good modular OS.

@fxzxmicah
Copy link

I just don't want WSL2. Anyway, WSL1 is no longer updated, and the store version is of no use to me. Why not leave inbox wsl as a single version of WSL1 and distribute only WSL2 through the store?

Android subsystem is more important and useful, yet it's not bundled with the Windows ISO file, i.e not an inbox app, so after every clean install of OS I install it from store. why would this be any different for WSL/Linux subsystem?

this change they made is OK imo, if that results in reducing file size of Windows ISO file and Windows installation size in OS drive.

honestly, I didn't know WSL was an inbox app, I thought it'd only be available and installed if we manually downloaded it from store or command-line, if/when we needed it. like a good modular OS.

Yes, you are right. If WSL1 is still being updated, I won't have any comments. The problem is that bringing together a non-updating WSL1 and a frequently updated WSL2 will not benefit anyone who only uses WSL1.

@fxzxmicah
Copy link

fxzxmicah commented Jan 6, 2023

Or I have another idea: How about to strip WSL1 from the system and the current store app and distribute it separately through the store? This is more in line with a modular OS.

@Biswa96
Copy link

Biswa96 commented Jan 6, 2023

How about to strip WSL1 from the system and the current store app and distribute it separately through the store?

It is not possible. The WSL1 part depends on Windows kernel mode driver, name LxCore.sys. Kernel mode driver may not be shipped in UWP like packages. But the WSL1 user mode part is present in WslService.exe of WSL Store version.

@HotCakeX
Copy link

HotCakeX commented Jan 6, 2023

Yes, you are right. If WSL1 is still being updated, I won't have any comments. The problem is that bringing together a non-updating WSL1 and a frequently updated WSL2 will not benefit anyone who only uses WSL1.

Well why are you still sticking with WSL1? WSL2 is naturally newer and better, things like Docker use WSL2, it has WSLg, improvements on file transfer and many other improvements, if I were them I wouldn't waste resources and engineers on WSL 1 either.

WSL2 is frequently updated because Linux is frequently updated or because it needs to be frequently updated. common sense basically. everything is being frequently updated, phone apps, OS, browsers etc.
most importantly, threat actors are frequently updating their attacks and tools.

for me personally, WSL made sense and became useful ever since it started supporting WSLg in WSL2 which lets me test GUI apps, otherwise I'd never want to bother learning terminal of Linux while I'm already fluent at PowerShell.

@fxzxmicah
Copy link

WSL1 user mode part

I'm not on dev channel, I don't know to what extent Microsoft has peeled WSL1, but I guess this is what I said.

@fxzxmicah
Copy link

fxzxmicah commented Jan 6, 2023

Yes, you are right. If WSL1 is still being updated, I won't have any comments. The problem is that bringing together a non-updating WSL1 and a frequently updated WSL2 will not benefit anyone who only uses WSL1.

Well why are you still sticking with WSL1? WSL2 is naturally newer and better, things like Docker use WSL2, it has WSLg, improvements on file transfer and many other improvements, if I were them I wouldn't waste resources and engineers on WSL 1 either.

WSL2 is frequently updated because Linux is frequently updated or because it needs to be frequently updated. common sense basically. everything is being frequently updated, phone apps, OS, browsers etc. most importantly, threat actors are frequently updating their attacks and tools.

for me personally, WSL made sense and became useful ever since it started supporting WSLg in WSL2 which lets me test GUI apps, otherwise I'd never want to bother learning terminal of Linux while I'm already fluent at PowerShell.

Because I don't need those new features, WSL1 will save more resources in this case. I also prefer how WSL1 works. I used to use Cygwin, which is very similar to WSL1 at the user side.
This is also one of the reasons.
It should also be noted that I am strictly a user, not a developer.

@HotCakeX
Copy link

HotCakeX commented Jan 7, 2023

Yes, you are right. If WSL1 is still being updated, I won't have any comments. The problem is that bringing together a non-updating WSL1 and a frequently updated WSL2 will not benefit anyone who only uses WSL1.

Well why are you still sticking with WSL1? WSL2 is naturally newer and better, things like Docker use WSL2, it has WSLg, improvements on file transfer and many other improvements, if I were them I wouldn't waste resources and engineers on WSL 1 either.
WSL2 is frequently updated because Linux is frequently updated or because it needs to be frequently updated. common sense basically. everything is being frequently updated, phone apps, OS, browsers etc. most importantly, threat actors are frequently updating their attacks and tools.
for me personally, WSL made sense and became useful ever since it started supporting WSLg in WSL2 which lets me test GUI apps, otherwise I'd never want to bother learning terminal of Linux while I'm already fluent at PowerShell.

Because I don't need those new features, WSL1 will save more resources in this case. I also prefer how WSL1 works. I used to use Cygwin, which is very similar to WSL1 at the user side. This is also one of the reasons. It should also be noted that I am strictly a user, not a developer.

I see, well nothing to worry about, WSL 1 isn't going anywhere, just stopped being a pre-installed app since that specific Windows Dev build. you can of course install it 🙂

@fxzxmicah
Copy link

I see, well nothing to worry about, WSL 1 isn't going anywhere, just stopped being a pre-installed app since that specific Windows Dev build. you can of course install it 🙂

I just don't want WSL1 to be bound to WSL2, it doesn't matter if it's an inbox app or not (although I think WSL1 works better as an inbox app). WSL1 is no longer updated but will be updated with WSL2, and these updates have nothing to do with WSL1. In case an update breaks WSL1 ...

@fxzxmicah
Copy link

How about to strip WSL1 from the system and the current store app and distribute it separately through the store?

It is not possible. The WSL1 part depends on Windows kernel mode driver, name LxCore.sys. Kernel mode driver may not be shipped in UWP like packages. But the WSL1 user mode part is present in WslService.exe of WSL Store version.

It does not have to be distributed through the store. It can be in the form of win32 software package. Anyway, there is no more updates, and it should not be bound to WSL2.

@HotCakeX
Copy link

HotCakeX commented Jan 8, 2023

I see, well nothing to worry about, WSL 1 isn't going anywhere, just stopped being a pre-installed app since that specific Windows Dev build. you can of course install it 🙂

I just don't want WSL1 to be bound to WSL2, it doesn't matter if it's an inbox app or not (although I think WSL1 works better as an inbox app). WSL1 is no longer updated but will be updated with WSL2, and these updates have nothing to do with WSL1. In case an update breaks WSL1 ...

We don't know the details about it, the change they made probably makes more sense for the overall OS. the important thing is that the functionality is there, whether or not it's bound together (from our perspective as end-users) isn't really an important factor to consider for engineers working on it.

if you want tighter control over hardware like amount of CPU, RAM, network adapters etc., you should use Hyper-V to virtualize a lightweight Linux OS. benefits are that you can store the VHDX in a different drive so your data will stay intact when you clean install OS.

what are your hardware specs anyway? I test Windows 11 latest Dev build with WSL2 + Android subsystem + Windows Sandbox + WDAG + Hyper-V VM + VBS and all of its supported features on 6+ years old hardware and still not complaining, even though my hardware isn't officially supported by Windows 11.

@fxzxmicah
Copy link

I see, well nothing to worry about, WSL 1 isn't going anywhere, just stopped being a pre-installed app since that specific Windows Dev build. you can of course install it 🙂

I just don't want WSL1 to be bound to WSL2, it doesn't matter if it's an inbox app or not (although I think WSL1 works better as an inbox app). WSL1 is no longer updated but will be updated with WSL2, and these updates have nothing to do with WSL1. In case an update breaks WSL1 ...

We don't know the details about it, the change they made probably makes more sense for the overall OS. the important thing is that the functionality is there, whether or not it's bound together (from our perspective as end-users) isn't really an important factor to consider for engineers working on it.

if you want tighter control over hardware like amount of CPU, RAM, network adapters etc., you should use Hyper-V to virtualize a lightweight Linux OS. benefits are that you can store the VHDX in a different drive so your data will stay intact when you clean install OS.

what are your hardware specs anyway? I test Windows 11 latest Dev build with WSL2 + Android subsystem + Windows Sandbox + WDAG + Hyper-V VM + VBS and all of its supported features on 6+ years old hardware and still not complaining, even though my hardware isn't officially supported by Windows 11.

Not related to my hardware. I have reasons not to use WSL2 or a VM (after all, Cygwin has satisfied me in the past), as I mentioned some of them above. And my focus is not on whether to remove WSL1 from the system, but on how the removed WSL1 should be distributed.

Let me make an analogy, and if you don't like it, look at it as a story:
In the past, a man named Microsoft built a small house in a city named Windows. The house was small and simple, but it was just enough, attracting some people who like this type of house. But later, Microsoft built another very large house in Windows, which was luxuriously decorated and often constructed to make the house more perfect. The house also attracted many people, but people who liked the old house were reluctant to move because they thought the old house was warmer and just enough. Later, Microsoft forced these people who like the old house to move to the new house, but it built a house in the corner of the new house exactly like the old house, and did not carry out the same decoration as the new house. People living in the old house know that their house will not be renovated, but they have to endure the noise caused by the continuous renovation of the new house, the possible damage to their house caused by the renovation of the new house, and the ostentation of new house residents (although they are not intentional). People who like the old house lose their original quiet and stability.

If you want to give the engineer a reason, then this is: WSL1 is no longer updated and engineers should not take care of it, whether it is removed from the system or not. So why not develop a pure WSL2, and why come with messy WSL1 code? Is it better to publish WSL1 as a stand-alone package and never take care of it again?

To say a word to Microsoft, let WSL1 die naturally or continue to develop. If WSL1 is still under development, I welcome any changes. But if you don't develop it anymore, don't disturb me or us with updates that make no sense for WSL1. Don't mess up WSL2 because of WSL1.

@HotCakeX
Copy link

HotCakeX commented Jan 8, 2023

Not related to my hardware.

it is though, if you had a 12gen i7 CPU with 16/32GB RAM and a modern SSD then you wouldn't worry about file system performance or be forced to work with WSL1, which doesn't even have the full Linux kernel, instead you would easily use either Hyper-V or WSL 2 which also lets you run GUI apps among many other benefits.

so yes, it very much is related to what hardware you use.

@fxzxmicah
Copy link

fxzxmicah commented Jan 9, 2023

Not related to my hardware.

it is though, if you had a 12gen i7 CPU with 16/32GB RAM and a modern SSD then you wouldn't worry about file system performance or be forced to work with WSL1, which doesn't even have the full Linux kernel, instead you would easily use either Hyper-V or WSL 2 which also lets you run GUI apps among many other benefits.

so yes, it very much is related to what hardware you use.

Not forced, just I like it. Cygwin doesn't even have any Linux Kernel. I switched to WSL only because Cygwin's package manager was too bad. If one day I have to give up WSL1, I may use WSL2, but it is more likely that I will switch back to Cygwin.

I think it's good for both sides not to bind the two WSL together. If I switch to WSL2 in the future, I also don't want WSL2 to contain WSL1 code.

@freemjohn
Copy link

It's still there. But it's a bug, just reboot if update process is stuck after getting this message.

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

10 participants