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
重现步骤
首先下载Docker Desktop Windows,运行Docker Desktop Installer.exe安装Docker Desktop 4.28.0(139021)
安装完成后,我应该勾选使用推荐设置(需要管理员密码)来完成 Docker Desktop 的安装。我当然这样做了,然后出现提示:(
"C:\Program Files\Docker\Docker\resources\com.docker.admin.exe" wsl -update
我之前没有安装过 WSL)。看来这个命令没有起作用,因为在设置 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>
- 然后运行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 重置为出厂默认设置
在PowerShell中运行得到的诊断文件
& "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" gather -upload
如下 Docker诊断.zip接下来我通过在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>
从现在开始,我推断我的 WSL 发行版的安装出了问题。
由于缺少 WSL 发行版 docker-desktop,我尝试了其他发行版是否可以成功安装。不幸的是,可以观察到 WSL 已成功安装和更新,但没有安装任何发行版。
然后我就跑了
wsl --install
,Ubuntu 已默认安装,但过了一会儿,我遇到了致命错误,错误代码为:0x8007001f. 参见:UbuntuPS 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'进行安装。
在一些教程中,我检查了 BIOS 中对硬件虚拟化的支持,以及在 Windows 功能中勾选虚拟机平台和适用于 Linux 的 Windows 子系统,但还是失败了。教程链接如下,对于大多数遇到 WSL 错误的问题应该有所帮助: 教程
无法通过 Microsoft 商店或 PowerShell 命令行安装 Linux 发行版,因此我决定下载 Ubuntu WSL 发行版 rootfs 并将其直接导入到我的 WSL 中。
跟着邮政在 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 部分