场景:docker desktop安装后提示wsl问题无法正常使用,之后去下载了wsl_update_x64.msi安装却提示:This update only applies to machines with the WindowsSubsytem for Linux。所以根本问题是解决执行安装程序报错的问题

说明:在执行wsl --install之前,还执行了这两个命令,并重启了系统(不知是否有关,但还是加以说明)

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

问题:执行wsl --install提示以下错误

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

解决:

  1. 当执行命令wsl --install提示上述信息后,直接按回车即可,系统会自动下载更新

    wsl: WSL 安装似乎已损坏 (错误代码: 	Wsl/CallMsi/Install/REGDB_E_CLASSNOTREG)。
    按任意键修复 WSL,或 CTRL-C 取消。
    此提示将在 60 秒后超时。
    (提示上面这个的时候回车就行,就会出现下面的下载,最好挂梯子下载的快)
    正在将适用于 Linux 的 Windows 子系统更新到版本: 	2.5.10。
    [=============             22.7%                           ]
    
  2. 待上面的下载完毕之后,我们再次执行wsl --install命令即可

    PS C:\Users\36515> wsl --install
    正在下载: Ubuntu
    [                           1.4%                           ]
    
  3. 下载完毕以后,需要我们创建一个账号且不能为root

    PS C:\Users\36515> wsl --install
    正在下载: Ubuntu
    正在安装: Ubuntu
    已成功安装分发。可以通过 “wsl.exe -d Ubuntu” 启动它
    正在启动 Ubuntu...
    wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 	模式下的 WSL 不支持 localhost 代理。
    Provisioning the new WSL instance Ubuntu
    This might take a while...
    Create a default Unix user account: 你的用户名
    New password:
    Retype new password:
    passwd: password updated successfully
    
  4. 第3步完成以后应该dockerdesktop应该就可以正常使用了,如果还是不行,则可以卸载docker desktop重新安装,记得安装时要勾选wsl2的选项。因为我是先卸载了执行wsl --install后,再重新安装就可以正常使用dockerdesktop了

最后:该帖由于网上各种执行命令后无果,之后发现回车后会自动处理提示的错误才加以分享,希望能解决大家的问题。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐