14

在使用 docker 工具箱一段时间后,我最近遇到了这个问题。

Windows更新后开始发生?

Windows 10 家庭版 - 64

卸载并重新安装 Docker 工具箱

卸载并重新安装了各种版本的 VirtualBox

仍然得到同样的错误

Running pre-create checks...
Creating machine...
(default) Copying C:\Users\me\.docker\machine\cache\boot2docker.iso to C:\Users\me\.docker\machine\machines\default\boot2docker.iso...
(default) Creating VirtualBox VM...
(default) Creating SSH key...
(default) Starting the VM...
(default) Check network to re-create if needed...
(default) Windows might ask for the permission to create a network adapter. Sometimes, such confirmation window is minimized in the taskbar.
(default) Creating a new host-only adapter produced an error: C:\Program Files\Oracle\VirtualBox\VBoxManage.exe hostonlyif create failed:
(default) 0%...
(default) Progress state: E_FAIL
(default) VBoxManage.exe: error: Failed to create the host-only adapter
(default) VBoxManage.exe: error: Querying NetCfgInstanceId failed (0x00000002)
(default) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterface
(default) VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleCreate(struct HandlerArg *)" at line 71 of file VBoxManageHostonly.cpp
(default)
(default) This is a known VirtualBox bug. Let's try to recover anyway...
Error creating machine: Error in driver during machine creation: Error setting up host only network on machine start: The host-only adapter we just created is not visible. This is a well known VirtualBox bug. You might want to uninstall it and reinstall at least version 5.0.12 that is is supposed to fix this issue
Looks like something went wrong in step ´Checking if machine default exists´... Press any key to continue...
4

12 回答 12

5

此答案与 Docker 无关,但在从 VirtualBox搜索“无法创建仅主机适配器”错误消息时,看到这是 Google 上最近的堆栈溢出搜索结果之一(连同问题) ,我将其留在这里,希望对其他人有所帮助。

附带说明一下,如果可以的话,我建议您使用Docker For Windows而不是 Docker Toolbox 在 Windows 上运行 Docker(需要 Windows 10 Professional 或 Enterprise 64 位)。


我的场景:

  • Windows 10 专业版 1709
  • 我尽可能使用 Hyper-V 来运行虚拟机,但需要以 Windows XP 作为来宾操作系统运行旧的 VirtualBox VM
  • VirtualBox 5.2.4-119785(Windows 仅支持单个管理程序 -如果您需要在 Hyper-V 和 VirtualBox 之间切换,我可以推荐这种方法)
  • VirtualBox 在安装时没有(或未能)创建仅主机适配器

尝试使用主机网络管理器 GUI 创建仅主机适配器时,我收到可怕的“无法创建仅主机适配器”错误消息,详细信息为:“Querying NetCfgInstanceId failed (0x00000002)”

因为我使用 Hyper-V,所以除了实际的物理适配器之外,我还有许多 Hyper-V 虚拟以太网适配器。

网络连接

查看物理适配器的属性,Hyper-V 关闭除“Hyper-V 可扩展虚拟交换机”之外的所有协议驱动程序似乎是正常的。然后,Windows 通过其中一个虚拟适配器获得其网络连接,在我的例子中,它被称为“外部虚拟交换机”,并且在那里启用了通常的协议驱动程序集(TCP/IPv4 等)。

Hyper-V 可扩展虚拟交换机

然后我注意到 VirtualBox 似乎(想要)以类似的方式工作,因为它设法安装并启用了一个名为“VirtualBox NDIS6 Bridged Networking Driver”的新协议驱动程序。

VirtualBox NDIS6 桥接网络驱动程序

当我检查其他虚拟适配器的属性时,我注意到所有这些适配器都启用了“VirtualBox NDIS6 桥接网络驱动程序”,但没有启用“Hyper-V 可扩展虚拟交换机”。在 Hyper-V 虚拟适配器上启用了 VirtualBox 驱动程序似乎很奇怪,所以我在所有它们上都禁用了它,但在物理适配器上保持启用状态。

我认为在这个阶段我为了好运重新启动了一个很好的旧重启,尽管我怀疑这是否真的有必要。当我随后尝试再次创建 VirtualBox 仅主机适配器时,它成功了!(实际上,我从 VirtualBox 收到一条错误消息,在我必须在任务栏上找到的模式中,关于已使用的适配器名称。但是,在 Windows 网络连接下出现了一个新的“VirtualBox Host-Only Ethernet Adapter”,当我关闭并重新打开 VirtualBox Host Network Manager 窗口,适配器也出现在那里。)

TL;博士;

我的理论是,VirtualBox 出于某种原因无法确定哪个适配器是实际的物理网络适配器,并且以一种相当狂热的方式继续并在它找到的每个适配器上启用其“VirtualBox NDIS6 桥接网络驱动程序”。

此外,它似乎无法确定它需要为哪个适配器创建其虚拟“包装适配器”并且失败。

即使您不使用/拥有 Hyper-V,您也可能拥有多个适配器,包括虚拟适配器(例如,许多 VPN 软件也安装了虚拟适配器)。

您可以尝试在除实际物理网络适配器之外的所有适配器上禁用“VirtualBox NDIS6 桥接网络驱动程序”,然后再尝试再次创建 VirtualBox 仅主机适配器。


这对于 VirtualBox 来说肯定不是一个新问题,从他们的公共 bugtracker 和其他地方的大量相关票证来看,有些超过 2 年。我有一种感觉,对于很多人来说,问题可能与我上面描述的有关,所以希望这对他们有所帮助。


编辑 01/15

嗯,回想起来,我不确定 Windows 使用 Hyper-V“外部虚拟交换机”进行网络连接有多正常。如果我没记错的话,Hyper-V 创建的“默认”开关并通过 NAT 提供与来宾的连接是一个相对较新的东西,并且在需要添加和使用“外部”开关之前......在我的家用电脑上,没有“外部”开关,普通(TCP/IPv4 等)协议驱动程序在物理网络适配器上保持启用状态,而“Hyper-V 可扩展虚拟交换机”在物理和虚拟适配器上均被禁用。如果在这种情况下添加新的“外部虚拟交换机”,我还没有机会测试会发生什么。

于 2018-01-12T14:03:05.897 回答
5

tl;dr 如果您使用的是趋势科技或赛门铁克防病毒解决方案,请尝试卸载 Virtualbox,然后在禁用防病毒软件的情况下重新安装。它也可以与其他人一起使用。

我正在添加这个答案以作记录。

从 Windows 10 Pro 版本 1703 更新到版本 1709 后,我和我的同事开始遇到类似的问题。

我尝试回滚到版本 1703,并且它有效,但当然这不是一个可接受的解决方案。

出于某种原因,这与防病毒软件有关,在我们的案例中是趋势科技 Office Scan。在禁用防病毒软件的情况下重新安装后,仅主机适配器再次可用。

该问题已在 Virtualbox 论坛和问题跟踪器中报告:
https ://forums.virtualbox.org/viewtopic.php?f=6&t=86179#p413876
https://www.virtualbox.org/ticket/17354#comment: 22

不幸的是,这个错误相当频繁,并且已经报告了几十次,原因各不相同。在我们的例子中,bszom 的答案中显示的设置已经正确。

于 2018-02-28T11:54:38.123 回答
2

我可以通过在安装过程中禁用所有网络适配器(除了物理适配器)来完成这项工作。安装完成后,您可以重新启用它们。要禁用适配器,请执行以下步骤:

  1. 打开控制面板
  2. 网络连接
  3. 选择每个适配器,然后从顶部选择“禁用此网络设备”
于 2018-12-12T01:27:59.650 回答
2

我和你有同样的错误。在我的情况下,当我在出现错误后打开 VirtualBox 时,它会提醒 VirtualBox 需要更新。所以我安装了最新的并最终再次打开“Docker Quickstart Terminal”快捷方式,它起作用了。所以我认为重新安装虚拟盒或者在安装Docker ToolBox之前安装可能会解决这个问题。(我知道有人先安装它)。祝你好运。

于 2020-03-23T10:02:31.443 回答
1

我能够使用最新的 Virtualbox 版本 6.0.14 解决问题

于 2019-12-02T03:46:25.550 回答
0

我得到了同样的错误:

(default) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterface

但就我而言,我试图在Windows 8.1 64 位上安装Docker Toolbox 。

Windows-8.1-6.3.9600-SP0 : AMD64

以前,我的系统上安装了virtualbox 6.0 版,所以我取消选中 docker toolbox 安装程序选项,安装 virtualbox。

对于我的场景,它可以卸载 virtualbox 6.0 重新启动系统并安装VirtualBox-6.1.12-139181

注意:作为卸载程序使用此工具。

并准备好在 windows 8.1 中运行的 docker。

Windows 8.1 上的 Docker 工具箱

于 2020-08-11T09:42:35.100 回答
0

我昨天第一次安装了 Docker Toolbox,因为我有不支持 Docker Desktop 的 Windows 10 Home。

重新启动或安装 Java 并没有为我解决这个问题。所做的就是删除使用 Toolbox(5.2.12 或其他版本)安装的 Oracle 的 VM,然后重新安装新的 6.1.8。检查他们的网站,这是有道理的:

在此处输入图像描述

于 2020-05-29T13:08:37.833 回答
0

我遇到了同样的错误。

但是我在物理连接的属性中没有“ VirtualBox NDIS6 Bridged Networking Driver ”。来自wireshark安装的相同驱动程序“ NPCAP ... ”。如果查看描述,您可以看到这是 NDIS6 驱动程序。

然后我删除所有wireshark 包:NPCAP、WinPCAP、Wireshark 并删除VirtualBox。

重新开始。

重新安装虚拟盒子。安装 Docker ToolBox(取消选中安装 NDIS5)。并为 docker 创建默认虚拟机。

docker-machine create -d "virtualbox" default

Host-only 接口正常创建

docker-machine status
Running

这对我行得通。

于 2019-08-29T10:50:19.997 回答
0

不幸的是,我也遇到了这个问题(Win10、1709、virtualbox 5.1)。同时使用 vagrant 从网络上提取 linux 图像。

这修复了它

将您的网络驱动程序安装到最新版本

卸载 Virtualbox

重新安装 Virtualbox

检查您的网络适配器配置中是否有“仅主机”虚拟适配器。如果是,那么你很高兴。如果不。尝试从 vboxmanage 安装它。

C:\Program Files\Oracle\VirtualBox\VBoxManage.exe hostonlyif create

如果您看到它,请从设备管理器中卸载HyperV 虚拟以太网适配器(这通常会阻止创建 virtualbox 虚拟网络(仅主机以太网适配器))

我在我公司的一种类型的计算机上遇到了这个问题,但在其他类型的计算机上没有。所以这一定和网卡本身的类型有关。所以有时你很幸运,有时不是。但我更幸运拥有最新展台的硬件。

于 2018-05-28T17:00:16.260 回答
0

我卸载了wireshark、docker tooltip 和VirtualBox。我还临时停用了防病毒软件。然后,我在没有选择安装 NDIS5 的情况下安装了 docker tooltip,它对我有用。

于 2020-05-15T11:08:26.407 回答
0

上面的解决方案对我不起作用,所以我已经从这里Virtual Box单独安装了。

安装 Docker 时,取消选中该Virtual Box复选框。

于 2020-07-07T16:51:47.430 回答
0

我得到了同样的错误。

检查 Window 的设备管理器,发现一个带有感叹号的 Virtualbox 网络适配器设备。

该设备的状态表明由于某种原因存在签名问题。

我不鼓励任何人忽略警告,但我选择这样做:)

我使用此链接中描述的方法关闭了 Window 的签名验证,我终于可以将 Virtualbox 与仅主机适配器一起使用。

注意:这个答案是重复的。我已经删除了其他的

于 2019-08-22T20:19:10.693 回答