解决"WSL更新失败(退出代码: 1603) - Error code: Wsl/CallMsi/E_ABORT"
What happened?
WSL莫名其妙的更新了,完成更新以后莫名奇妙地启动不起来了。每次运行WSL的时候都会给我提示
WSL 正在完成升级...
更新失败(退出代码: 1603)。
Error code: Wsl/CallMsi/E_ABORT
抓耳挠腮找了半天,我甚至不管写了一半的代码和笔记,把WSL卸载后重装,倒是能进系统了,但是WSL版本很低,而且无法启动systemd,一旦升级WSL又会出现更新失败的问题,非常令人崩溃。
不过好在,终于找到了一个靠谱的解决方法。。。真是服了微软。
解决方案
原文在这里。
方法如下,操作前请先确保自己可以访问Github,数据备份:
- 通过CTRL+R打开运行窗口,输入
regedit
进入注册表 - 在
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
目录树下找到WslService
,右键将整个文件夹删除 - 重启电脑
- 找到Github上WSL的Repo,下载最新的WSL安装包,我AMD平台,所以下载了x64的安装包
- 安装后终端输入
wsl
启动服务
问题解决了