解决"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,数据备份:

  1. 通过CTRL+R打开运行窗口,输入regedit进入注册表
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services目录树下找到WslService,右键将整个文件夹删除
  3. 重启电脑
  4. 找到Github上WSL的Repo,下载最新的WSL安装包,我AMD平台,所以下载了x64的安装包
  5. 安装后终端输入wsl启动服务

问题解决了

posted @ 2023-12-12 21:44  JustInCase  阅读(3895)  评论(0编辑  收藏  举报