安装Docker Desktop时出现报错,WSL2 升级更新失败(退出代码: 1603,错误代码: Wsl/CallMsi/Install/ERROR_INSTALL_FAILURE)解决办法

 

一、问题

首先遇到的问题是安装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

大功告成!

人心如良苗,得养乃滋长。苗以泉水灌,心以理义养。一日不读书,胸臆无佳想。一月不读书,耳目失精爽。
 
 
posted @ 2024-12-09 21:06  悦动代码  阅读(355)  评论(0编辑  收藏  举报