没想到微软在这里留了个坑,WSL 2 的 Linux 内核是通过 Microsoft Update 推送更新的,但是我收不到,也不知道为啥……

所以记录一下手动更新的步骤

https://github.com/microsoft/WSL/issues/5650#issuecomment-733221696
https://github.com/microsoft/WSL/issues/5650#issuecomment-733224111
https://github.com/microsoft/WSL/issues/5650#issuecomment-765825503

主要由上面三个 Comment 结合而来:

首先 https://aka.ms/wsl2kernel 的版本不是最新的,需要前往 Microsoft Update Catalog 下载更新补丁:
https://www.catalog.update.microsoft.com/Search.aspx?q=Windows%20Subsystem%20for%20Linux%20Update

找到最新的那一个,点击“Download”按钮,再选择你的架构类型。
之后将下载到的 CAB 档案文件进行解压,得到 wsl_update_x64.msi
值得一提的是,这个 wsl_update_x64.msi 是没有被签名的,所以会被 Microsoft Defender SmartScreen 拦截,允许运行即可。

之后打开终端,CMD 或 Windows PowerShell 等都行。
执行 wsl --shutdown,然后再运行 wsl_update_x64.msi

然后就搞定了


更傻逼的事情出现了:
Windows Update.png
因为它没有新版本的数据,所以它要我降级……


感谢 @NoSubstitute 提供的方法,通过官方工具隐藏更新即可:https://www.tenforums.com/tutorials/8280-hide-show-windows-updates-windows-10-a.html
该工具的官方下载途径已经关闭了,不过互联网档案馆自动保存了:wushowhide.diagcab

标签: Windows, WSL, Linux 内核

添加新评论