WSL 更新失败 (退出代码: 1603) 解决方案
本文最后更新于 2024.11.06 15:59:21
问题
使用 wsl --update --web-download
命令升级 WSL,出现以下报错:
PS C:\Users\jjl9807> wsl --update --web-download
正在检查更新。
正在将适用于 Linux 的 Windows 子系统更新到版本: 2.2.4。
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)。
日志文件: C:\Users\jjl98\AppData\Local\Temp\wsl-install-logs.txt
Error code: Wsl/UpdatePackage/ERROR_INSTALL_FAILURE
笔者所用 WSL 版本如下:
PS C:\Users\jjl9807> wsl -v
WSL 版本: 2.1.5.0
内核版本: 5.15.146.1-2
WSLg 版本: 1.0.60
MSRDC 版本: 1.2.5105
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 版本: 10.0.19045.4651
解决
打开注册表编辑器,将以下注册表项删除或重命名后再次尝试升级即可:
计算机\HKEY_CLASSES_ROOT\Drive\shell\WSL
计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\WSL
计算机\HKEY_CLASSES_ROOT\Directory\shell\WSL
由于系统版本的不同,以上注册表项的具体路径也有可能是下面这样:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shell\WSL
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\WSL
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\WSL
参考资料
WSL 更新失败 (退出代码: 1603) 解决方案
https://blog.jjl9807.com/archives/25/