WSL 升级报错

一、问题

首先遇到的问题是安装docker desktop后,启动引擎时报错
wsl update failed: update failed: updating wsl: exit code: 4294967295: running wsl command wsl.exe c:\windows\system32\wsl.exe --update --web- download: ਍潃汵⁤潮⁴牷瑩⁥慶畬⁥琠敫⁹卜䙏坔剁居汃獡敳屳楄敲瑣牯屹桳汥屬南⹌†嘠牥晩⁹桴瑡礠畯栠癡⁥畳晦捩敩瑮愠捣獥⁳潴琠慨⁴敫漠⁲潣瑮捡⁴潹牵猠灵潰瑲瀠牥潳湮汥മ뒛雦놤듨⢥胩몇믤膠›㘱㌰芀਍铩꾯믤膠›獗⽬慃汬獍⽩湉瑳污⽬剅佒归义呓䱁彌䅆䱉剕൅: exit status 0xffffffff
可以看到是wsl更新时报错,由于后面是乱码,不知道具体是什么错误,所以接下来打开管理员终端,输入wsl --list测试一下,果然,报错了

PS C:\Users\ht> wsl --list WSL 正在完成升级... 
Could not write value to key \SOFTWARE\Classes\Directory\shell\WSL.
 Verify that you have sufficient access to that key, or contact your support personnel. 
 更新失败(退出代码: 1603)。 
 错误代码: Wsl/CallMsi/Install/ERROR_INSTALL_FAILURE

这时候,显然报错原因找到了,没有权限写入注册表,不得不吐槽一下微软,这个bug就是不更新。

二、解决办法

打开注册表编辑器,找到对应项
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\WSL,右键打开权限,上面选中 SYSTEM 用户(注意别选错!),给它加上 允许完全控制 的权限,点击确定就好了(即时生效,无需重启等等)!

当你重新运行的时候会发现,又有一个新的注册表项没有权限,所以你要把上述操作应用到以下所有目录

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\WSL
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\WSL\command
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\WSL
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\WSL\command
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shell\WSL
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shell\WSL\command

转自:
https://www.cnblogs.com/ydapi/p/18596021

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值