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

Unable to revert rollback from WSL2 4.19.121 to 4.19.104 #5452

Closed
Methylamphetamine opened this issue Jun 20, 2020 · 5 comments
Closed

Unable to revert rollback from WSL2 4.19.121 to 4.19.104 #5452

Methylamphetamine opened this issue Jun 20, 2020 · 5 comments

Comments

@Methylamphetamine
Copy link

Methylamphetamine commented Jun 20, 2020

Environment

Windows build number: 10.0.20150.0
Your Distribution version: Debian 
Whether the issue is on WSL 2 and/or WSL 1: WSL2

Steps to reproduce

in Powershell administrator mode:

wsl.exe --update --rollback
wsl.exe --update --status
wsl.exe --update

Expected behavior

WSL 2 kernel should be updated to the latest (4.19.121)

Actual behavior

After rolling back, the version of WSL kernel is shown to be 4.19.104, and the update status is shown as

WSL automatic updates are on.
The WSL 2 kernel is in the rollback state and is using a previous kernel version.
Kernel version: 4.19.104

But the last update command would only return

No updates are available.
Kernel version: 4.19.104

, which is clearly incorrect because I manually rolled it back from WSL2 4.19.121

@licanhua
Copy link
Collaborator

@Methylamphetamine May I ask why you rolled it back and why you want to revert the rollback?
No public interface is provided to revert the rollback and it's by design. Assume we have three release:
A(.104)->B(.121)->C, and when B has problem, customer can rollback to A. When C is shipped, user will be back to mainstream C automatically. wsl --update doesn't allow you to revert back to B(.121) because it's assumed that B has problem and that's why you rolled back.

You are able to do it manually by deleting RollbackKernel in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss. then run wsl --shutdown with admin and then the kernel is forwarded to .121.
Please note that this procedure is subject to change in the future.

@Methylamphetamine
Copy link
Author

@licanhua Thank you for your help and explanation. The procedure worked well.

When WSL 2 kernel .121 was first released days ago, it suffered from problems in its connection with vscode, as described in microsoft/vscode-remote-release#3212 (comment)

I was not too familiar with the current software development procedure, so I chose to rollback the version, thinking that I can revert the rollback with a similar command.

@YevheniiPokhvalii
Copy link

In my case, the rollback described above by @licanhua did not help. I am using Windows 11 and tried to update the WSL kernel manually to the latest which led to the broken docker.
What actually helped, is to install the previous kernel version. I downloaded it from this site: https://www.catalog.update.microsoft.com/Search.aspx?q=wsl

P.S. My recommendation, if you use Windows 11, install Windows Subsystem for Linux Preview from the MS Store - it will enable some advanced features like WSLg and don't experiment with the latest kernels manually.

@korenmic
Copy link

Unfortunately seems that --rollback was removed as a subflag for wsl --update

That is a darn shame because after a recent wsl --update I have a wsl which 100% of launch attempts just hangs forever and due to the flag removal I cannot perform rollback. Very problematic!

@klibr007
Copy link

we can't rollback anymore after mistakingly installing a pre-release I can't rollback. Now I don't even know what to do

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

5 participants