一、问题

        最近应该是因为更新系统,正要使用 wsl 发现无法运行,并报错:

wsl: WSL 安装似乎已损坏 (错误代码: Wsl/CallMsi/Install/REGDB_E_CLASSNOTREG)。
按任意键修复 WSL,或 CTRL-C 取消。
此提示将在 60 秒后超时。

        只要与 WSL 相关的指令,一律都是同样的报错,所以只能外部卸载。并且按任意键自动修复,结束后也无法使用。

二、解决方案

        1、尝试使用命令行重新安装 WSL,也没有作用:

打开 PowerShell 或 Windows 命令提示符(以管理员身份运行),卸载 WSL 可选组件:

dism.exe /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart

重新启用 WSL 可选组件:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

        2、尝试使用用系统文件检查器(SFC)和部署映像服务和管理工具(DISM)来检查和修复系统文件:

sfc /scannow

然后

dism.exe /online /cleanup-image /restorehealth

重启还是没有用,盲猜当前版本官方的包会不会出问题。

        3、于是我在Github下载了发行版,下载的最新的:

我下的 wsl.2.4.10.0.x64.msi,链接:

Releases · microsoft/WSL · GitHubhttps://github.com/microsoft/WSL/releaseshttps://github.com/microsoft/WSL/releases下载完成执行程序,会提示无法写入注册表,这里只需要将注册表里对应的文件夹,增加用户的权限即可,我这里提示的是下面两个目录,路径为:

\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\WSL

依次点击:

右键文件夹-权限-Users

增加 Users 的完全控制,保存后点击弹窗的 Retry 按钮即可通过安装。

如果有新的弹窗,继续重复的操作即可。

重新运行 WSL,可以正常使用了。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐