-
-
Notifications
You must be signed in to change notification settings - Fork 203
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
FATAL: kernel too old #190
Comments
had the same issue, at the end "solved" by updating the kernel with these instructions and switching to WSL 2 |
Is it possible for me to stay on wsl1? Since wsl2 has terrible IO performance on Windows disks, a simple |
It's most likely due to glibc 2.33-4 update which happened today. |
I have the same issue, arch wsl conldn't work after glibc update. |
just a work around if you want to use WSL 1: |
I studied those instructions and found out installing a preview build of Windows 10 is required but I do not want to put my working computer at risk of using an unstable system. It can't be helped. I googled how to upgrade the kernel of WSL but no useful information was found. |
Set your distribution version to WSL 2:
If version still shows 1, run the following and reboot:
Run
If update successful,
|
For those who want to stay at WSL1 and want to fix the problem, a simple (also risky) solution is to overwrite the WSL installation directly with the old glibc package. Update: Please follow the #190 (comment) for more detailed steps. It is important to reiterate that there are risks associated with this operation, such as the permissions of the replaced files being reset. Although in my case these file permissions would be reset to According to this document, permissions are stored in NTFS extended attributes. Using some specific way to overwrite (e.g. dd) can preserve NTFS extended attributes, which is also safer. |
I had tried this myself, but by overwriting all the files of glibc package, and unfortunately it broke the installation even further. I now tried to overwrite all files from In the end I had to install a new instance of Arch and set the server to the archive as suggested by @claudiocabral. Packages from the 14th of February are still ok.
Very annoying I had to reinstall/reconfigure everything though. |
我的也失败了,就等着作者更新了。 |
After more testing, I have refined that solution. Here are the steps.
The whole point of the process is to make sure that the replaced files have proper permissions. While this may be the safest steps, please note that it still carries risks. You can also try upgrading to WSL2 first, downgrading glibc and then downgrade to WSL1. This should work too. |
I also tested that the shell immediately closes may be because the overwritten file permissions have been reset to unreadable or unexecutable. |
@dynxer thanks, will try for sure in the next days |
I checked my location |
I have a sneaking suspiction that my ArchWSL is overwrited by Ubuntu which I have just installed in order to follow @dynxer steps. However it still returns the FATAL error when I open Powershell and execute |
The
If you still get FATAL, this means that ArchWSL has not been overwrited. You can check your all WSL installation with |
Okay, I found my ArchWSL location. Let me try again.
You are right. My |
My ArchWSL reborned successfully! I thought arch-chroot but I didn't know where to chroot into. Now @dynxer dispensed a viable way. Thanks a lot! |
It seems microsoft never update WSL1 kernel version, so if we do not want to use WSL2, we need keep glibc to IgnorePkg in To fix the problem temporarily, just download a pacman-static and |
I really do not like WSL2, which memory usage is a hell, I am really upset now. |
ArchLinux will never have a plan to solve it, see here While microsoft update is very slow, and it seems WSL1 kernel is not updated for a long time. And more, see here, Recent release notes are all about WSL2! although microsoft says "WSL1 is not abandoned", |
Thanks very much! This did work. For China users, TUNA has provided an Arch Linux Rollback Machine. I successfully recovered my access to Archlinux on WSL1 using the mirror below. |
In case you don't want to deal with separate files and risk breaking your machine more than it already is, while it no longer starts up, here's what you can do:
|
Updated for both new
|
If you use an accessible clean archwsl with wsl1. pacman -Syu --nodeps glibc-linux4 |
https://github.com/archlinuxcn/mirrorlist-mirrors archlinux-cn mirrorlist🤗 |
This saved my WSL. However, I encountered errors when using
But the operation seems succeeded anyway, so if anyone have met the same issue just don't worry. After some searching I learned what that |
this snapshot install glibc-2.33-4, byt the day 13 not |
ArchWSL installed as WSL1 recently used the new ArchWSL installed long ago is still using the old As microsoft/WSL#1744 (comment) said:
|
I have update |
I try it. Can't solve this problem. Can you tell me how can I use it? |
I would like to provide a detailed report but I am away from my PC and posting this issue on my phone instead. Actually I think it is needless to explicate it so far because today the new version of glibic is released so that thereafter everyone who have once updated their system will, maybe, encounter the same issue. I think it may be time to update the kernel of ArchWSL and release it.
Update: The specific issue is that when you upgrade the system, you will encounter "FATAL: kernel too old" after the update of glibc and some programs (maybe because they are depended on it?) and every prompt in a Shell.
The text was updated successfully, but these errors were encountered: