首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ubuntu wsl寄存器分发失败,错误: 0x80041002

ubuntu wsl寄存器分发失败,错误: 0x80041002
EN

Stack Overflow用户
提问于 2022-01-15 05:10:40
回答 3查看 2.2K关注 0票数 5

谢谢,我已经做了详尽的研究,5天后无法解决这个问题。

我试图将Ubuntu作为Windows发行版安装在WSL-2内核之上。以下是我所采取的步骤:

  1. 我从这个URL -> https://learn.microsoft.com/en-us/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package下载Linux内核更新包
  2. 我打开Windows功能"Windows子系统的Linux";“虚拟机平台”
  3. 我重新启动机器,并确保在我的BIOS中启用虚拟化。
  4. 我从微软商店安装Ubuntu。(我尝试了3种不同版本的Ubuntu)。
  5. 我以管理员的身份运行Ubuntu

当我以管理员身份运行Ubuntu时,我总是得到以下错误:

"ubuntu wsl寄存器分发失败,错误: 0x80041002“

我已经在网络上搜索了修复程序,但是这个错误中没有什么不只是与Windows更新有关的。唯一解决这一问题的操作是将wsl --设置为默认版本--设置为"1“,默认为2。当我降级为wsl-1时,Ubuntu可以启动。

然而,根据我的研究和经验,我不能使用wsl-1运行Desktop,因为它需要版本2。

当我使用wsl-1运行Ubuntu,然后键入命令"wsl -l -v“时,它确实会这样说:

代码语言:javascript
运行
复制
  NAME      STATE           VERSION
* Ubuntu    Running         1

我认为码头部分应该与上述Ubuntu/wsl的问题分开,但是,由于我的目标是简单地运行DD中的Docker引擎,我将包括以下有关Docker Desktop的信息:

我试图在Windows 11 Enterprise上运行Desktop。码头引擎总是无法启动,我相信问题在于WSL/Ubuntu如上所述,因为我不能运行Ubuntu与wsl-2。有时,Docker Desktop根本不会启动,而是显示以下错误消息,提示我重置为工厂默认值;但我知道我的问题在于WSL:

代码语言:javascript
运行
复制
System.InvalidOperationException:
Failed to deploy distro docker-desktop to C:\Users\v-kescul\AppData\Local\Docker\wsl\distro: exit code: -1
 stdout: Error: 0x80041002 

任何帮助都会受到感谢,因为我们确实需要让Docker在新的Windows 11机器上运行,这样我们就可以将Spring环境修改为一个基于Linux的AWS EC2实例。谢谢!

EN

回答 3

Stack Overflow用户

发布于 2022-03-07 03:07:03

我想我可以为你找到解决办法。我研究了0x80041002的错误,发现它不是来自WSL2,而是来自超调。这个错误意味着由于WSL2使用hyper-v来工作,hyper-v试图创建一个虚拟以太网适配器,但是有东西阻止了它的工作。

所有虚拟机软件都将使用物理控制器作为链接来创建虚拟网络适配器,因此,如果安装了许多vm软件,并在控制面板中检查网络连接,您将看到您的pc有许多虚拟以太网适配器。如果您的问题是0x80041002,这意味着您的虚拟适配器之一正在阻止超级v为其创建一个新的网络。

在我的例子中,我在我的第二个硬盘中安装了vmware,并且从我的pc上删除了我的硬盘驱动器。因此,vmware虚拟适配器试图与源代码对话,但它不能,而且由于它与我的物理控制器链接,它阻止了超级v正常工作。

因此,请检查是否有任何虚拟机软件导致此问题或VPN,如果您有Oracle vm、vmware或VPN,请尝试卸载它并重试。或者重新安装你的物理网络驱动程序。

票数 3
EN

Stack Overflow用户

发布于 2022-06-14 17:43:42

使用wsl版本作为1,而不是版本2和命令。

代码语言:javascript
运行
复制
wsl --set-default-version 1 

并尝试重新安装要使用的linux。安装或修复wsl后,您可以再次切换wsl版本2。

代码语言:javascript
运行
复制
wsl --set-version <Dist> 2

正如您提到的,如果您使用了docker并且上面的方法是无用的,您应该尝试取消注册当前发行版并先卸载,然后重复上面的步骤。用于注销当前版本:

代码语言:javascript
运行
复制
wsl --unregister <Distro>
票数 -1
EN

Stack Overflow用户

发布于 2022-10-21 12:35:17

这确实与虚拟网络适配器的问题有关。

在我的例子中,WSL2 Ubuntu18.04在没有警告的情况下从工作状态转到错误0x80041002。在这种情况发生前几天,我一直在摆弄网络适配器,试图使用同一台PC上的WiFi适配器创建一个无线热点,但失败了。FWIW,我遵循指南这里试图解决我的另一个问题。我相信其中一个命令可能是造成这种情况的根本原因。

我注意到,每次bash.exe试图启动时(在发出错误之前),Hyper-V Virtual Switch Extension Adapter下的Windows 10设备管理器中都会出现故障设备。

在搜索适配器和错误代码时,我最终发现了以下内容:https://learn.microsoft.com/en-us/troubleshoot/windows-client/virtualization/cannot-create-hyper-v-virtual-switch

代码语言:javascript
运行
复制
This article solves an error message when you try to re-create a Hyper-V virtual switch (vSwitch) for the same physical adapter.

Applies to:   Windows 10 - all editions
Original KB number:   3101106

它们提供了一个简易修复向导 (easyfix20159),它似乎正确地重置了所有网络适配器(警告:它将删除所有虚拟网络适配器和主适配器的配置)。

代码语言:javascript
运行
复制
Before you run the Easy fix, note the following points:

    You will lose network connectivity after the wizard finishes.
    You must restart your computer manually after the wizard finishes.
    You will have to connect manually to all known Wi-Fi networks after your computer restarts.
    You must re-create the vSwitch by using the Hyper-V Virtual Switch Manager after your computer restarts.

在应用此修复并重新启动Windows之后,我的Linux Windows子系统再次开始工作。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70719008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档