在 WSL 中安装 Ubuntu 失败,错误代码:Wsl/Service/RegisterDistro/CreateVm/ConfigureNetworking/HNS/0x8007001f

在 WSL 中安装 Ubuntu 失败,错误代码:Wsl/Service/RegisterDistro/CreateVm/ConfigureNetworking/HNS/0x8007001f

Windows 版本

Microsoft Windows [版本:10.0.22621.3374]

WSL 版本

2.1.5.0

您使用的是 WSL 1 还是 WSL 2?

  • [X] WSL 2
  • [ ] WSL 1

内核版本

5.15.146.1-2

发行版本

无(无法安装)

其他软件

Docker Desktop Windows,Docker 版本 25.0.3,内部版本 4debf41

重现步骤

  1. 首先下载Docker Desktop Windows,运行Docker Desktop Installer.exe安装Docker Desktop 4.28.0(139021)

  2. 安装完成后,我应该勾选使用推荐设置(需要管理员密码)来完成 Docker Desktop 的安装。我当然这样做了,然后出现提示:("C:\Program Files\Docker\Docker\resources\com.docker.admin.exe" wsl -update我之前没有安装过 WSL)。

  3. 看来这个命令没有起作用,因为在设置 Docker 包括同意之后wsl -update,我wsl --version在 Powershell 中运行,成功看到了 WSL 的安装,但没有按预期安装任何发行版。参见:

    Windows PowerShell
    
    版权所有(C) Microsoft Corporation。保留所有权利。
    安装最新的 PowerShe11,了解新功能和改进!https://aka.ms/PSWindows
    
    PS C: \WINDOWS\system32> ws1 -- version
    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.22621.3374
    PS C: \WINDOWS\system32> wsl -1 -v
    适用于 Linux 的 Windows 子系统没有安装的分发版。
    
    使用’wsl.exe -- list -- online'列出可用的分发版
    和'ws1. exe -- install<Distro>'进行安装。
    
    也可以通过访问 Microsoft Store 来安装分发版:
    https://aka. ms/wslstore
    Error code: Wsl/WSL_E_DEFAULT_DISTRO_NOT_FOUND
    PS C:\WINDOWS\system32>
    
    1. 然后运行Docker Desktop会出现Unexpected WSL错误,如下:

    Docker 桌面

    Docker Desktop-意外的 WSL 错误

    执行 WSL 命令时遇到意外错误。常见原因包括访问权限问题,这种情况发生在唤醒计算机或未连接到域/活动目录后。

    请尝试关闭 WSL(wsl --shutdown)和/或重新启动计算机。如果还不够,可能需要完全重新安装 WSL。作为最后的手段,尝试卸载/重新安装 Docker Desktop。如果问题仍然存在,请收集诊断信息并提交问题...: //docs.docker.com/desktop/troubleshoot/overview/#diagnose-from-the-termin...

    诊断与反馈

    X

    X

    辞职

    将 Docker 重置为出厂默认设置

  4. 在PowerShell中运行得到的诊断文件& "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" gather -upload如下 Docker诊断.zip

  5. 接下来我通过在PowerShell中运行自我诊断工具。& "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" check截图如下

    管理员:Windows PowerShell请注意以下12条警告:

    1:检查:应用程序是否正在运行?产生了以下警告:Docker 未运行

    Docker Desktop 应用程序是否正在运行?

    2:检查:是否安装了 WSL 发行版?产生以下警告:缺少 WSL 发行版 docker-desktop

    Docker 引擎使用多个 WSL 发行版。因此必须安装这些发行版。

    3:检查:是否安装了 WSL 发行版?产生以下警告:缺少 WSL 发行版 docker-desktop

    Docker 引擎使用多个 WSL 发行版。因此必须安装这些发行版。

    4:检查:WSL 2 Linux 文件系统是否损坏?产生以下警告:先决条件失败:是否安装了 WSL 发行版?

    如果 WSL 2 Linux 文件系统损坏,Docker Desktop 将无法启动。Windows Insider 版本中修复了一个已知问题,该问题可能会导致文件系统损坏,请参阅:https://github. com/microsoft/WSL/issues/5895

    尝试运行“wsl --shutdown”来停止您的 WSL 虚拟机。重新启动时,它将运行文件系统检查并希望解决问题。

    5:检查:是否安装了 WSL 发行版?产生以下警告:缺少 WSL 发行版 docker-desktop

    如果 Docker 网络使用的子网与主机使用的 IP 重叠,则容器将无法联系重叠的 IP 地址。

    尝试在 docker-compose.yml 中配置网络使用的 IP 地址范围:请参阅 https://docs.docker.com/compose/compose-file/compose-file-v2/#ipv4_address-ipv6_address

    请调查以下 2 个问题:

    1:测试:应用程序正在运行吗?失败:Docker 未运行

    Docker Desktop 应用程序是否正在运行?

    2:测试:WSL 发行版是否已安装?失败:缺少 WSL 发行版 docker-desktop

    Docker 引擎使用多个 WSL 发行版。因此必须安装这些发行版。

    PS C:\Program Files\Docker\Docker\resources>

  6. 从现在开始,我推断我的 WSL 发行版的安装出了问题。

  7. 由于缺少 WSL 发行版 docker-desktop,我尝试了其他发行版是否可以成功安装。不幸的是,可以观察到 WSL 已成功安装和更新,但没有安装任何发行版。

  8. 然后我就跑了wsl --installUbuntu 已默认安装,但过了一会儿,我遇到了致命错误,错误代码为:0x8007001f. 参见:Ubuntu

    PS C:\Program Files\Docker\Docker\resources> ws1 -1 -v 适用于 Linux 的 Windows 子系统没有安装的分发版本。

    使用'wsl。 exe --list-online'列表能够发送分发版本和

    您可以通过访问 Microsoft Store 来安装分发版本:https://aka. ms/wslstore 错误代码:Ws1/WSL_E_DEFAULT_DISTRO_NOT_FOUND PS C:\Program Files\Docker\Docker\resources> ws1 -- install 正在安装:Ubuntu 已安装 Ubuntu。 正在启动 Ubuntu ... 正在安装,这可能需要几分钟.. 。WslRegisterDistribution 失败,错误:0x8007001f 错误:0x8007001f ???????????????

    按任意键继续 ...

    wsl。 exe -- install'进行安装。

  9. 在一些教程中,我检查了 BIOS 中对硬件虚拟化的支持,以及在 Windows 功能中勾选虚拟机平台和适用于 Linux 的 Windows 子系统,但还是失败了。教程链接如下,对于大多数遇到 WSL 错误的问题应该有所帮助: 教程

  10. 无法通过 Microsoft 商店或 PowerShell 命令行安装 Linux 发行版,因此我决定下载 Ubuntu WSL 发行版 rootfs 并将其直接导入到我的 WSL 中。

  11. 跟着邮政在 AskUbuntu 网站上,我下载了ubuntu-20.04-server-cloudimg-amd64-wsl.rootfs.tar.gz它并尝试导入。我们看到:

    选择管理员:Windows PowerShell SC:\Program Files\Docker\Docker\resources>#注意:如果路径中存在空格,请使用双引号” wsl -- import Ubuntu-20。 04 "D:\WSL\Ubuntu-20.04" "D:\WSL\Ubuntu\ubuntu-20.04-server-cloudimg-amd64-ws1.rootfs.tar.gz 正在导入,这占用几分钟时间。无法配置networkingMode Nat)(网络。若要禁用网络,请在C:\Users\保存者青音.wslconfig中设置“ws12.networkingMode=None” 错误代码:Wsl/Service/RegisterDistro/CreateVm/ConfigureNetworking/HNS/ 0x8007001f SC:\Program Files\Docker\Docker\resources> 和直接在PowerShell命令行安装发行版的错误代码相同,错误代码:0x8007001f

预期行为

成功安装发行版。

实际行为

错误代码:0x8007001f

诊断日志

所有截图、链接和文件均附在 Repro Steps 部分

相关内容