7

我最近在使用docker工具箱一段时间没有问题后遇到了这个问题。无法创建主机专用适配器 - windows 10,docker,virtualbox

Windows更新后开始发生?

的Windows 10家 - 64

卸载和重新泊坞窗工具箱

卸载并重新安装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... 

回答

0

这个答案不明确与Docker相关,但看到这是最新的Stack Overflow搜索结果之一(连同this问题)在Google上搜索“无法创建仅适用于主机的适配器”来自VirtualBox的错误消息,我在此离开此处,希望它能帮助其他人。请注意,如果您的可以,我建议您使用Docker For Windows而不是Docker Toolbox在Windows上运行Docker(需要Windows 10 Professional或Enterprise 64位)。


我的情景:

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

当尝试使用主机网络管理器GUI创建仅主机适配器时,我遇到了可怕的“创建仅主机适配器“错误消息,详细信息如下:”查询NetCfgInstanceId失败(0x00000002)“

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

Network Connections

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

Hyper-V Extensible Virtual Switch

然后我发现VirtualBox的出现(希望)以类似的方式工作,因为它已经成功地安装并启用名为“VirtualBox的NDIS6桥接网络驱动器”的新协议驱动程序。

VirtualBox NDIS6 Bridged Networking Driver

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

我觉得在这个阶段我投入了一个好的旧的重启,祝你好运,但我怀疑这是否真的有必要。当我随后尝试再次创建VirtualBox主机专用适配器时,它工作正常! (我实际上从VirtualBox得到一个错误消息,在我必须在任务栏上找到的模式中,已经使用了适配器名称,但是在Windows网络连接下显示了一个新的“仅VirtualBox主机以太网适配器”,以及何时我关闭并重新打开了VirtualBox主机网络管理器窗口,该适配器也出现在那里。)

TL; DR;

我的理论是,VirtualBox是由于某种原因无法确定哪个适配器是实际的物理网络适配器,在一个相当卖力的方式继续运行并能够对其“VirtualBox的NDIS6桥接网络驱动器”它找到的适配器。

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

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

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


这当然不是VirtualBox的判断得到了众多在其公开的错误追踪系统,并在其他地方的相关门票的,有些超过2岁,一个新的问题。我有一种感觉,对很多人来说,这个问题可能与我上面描述的有关,所以希望这可以帮助他们。


编辑01/15

嗯,现在回想起来,我不知道它是多么正常的Windows使用了Hyper-V“外部虚拟交换机”的网络连接。如果我没有记错的话,Hyper-V创建的“默认”开关以及通过NAT提供到客人的连接是一个相对较新的事情,并且在需要添加和使用“外部”开关之前......在我的家用PC上,没有一个“外部”交换机,正常(TCP/IPv4等)协议驱动程序在物理网络适配器上保持启用状态,并且在物理适配器和虚拟适配器上禁用“Hyper-V可扩展虚拟交换机”。如果在这些情况下添加新的“外部虚拟交换机”,我还没有机会测试会发生什么情况。

+0

我没有使用Docker,而且我在Windows 7 x64上,以前从未遇到过这个问题。但是我刚将VirtualBox从5.2.4升级到5.2.6,并且开始接受'无法在'vagrant up'上创建仅主机适配器',无论是使用新的还是现有的VM。卸载/重新安装/修复VirtualBox没有任何作用,但是感谢你的帖子,我想在Windows 7中查看Control Panel \ Network and Internet \ Network Connections,并且VirtualBox一直使用的两个仅限主机的适配器是灰色(禁用)!我只需右键点击它们,重新启用它们,就可以参加比赛了! –

+0

@BenJohnson嗯,我很高兴我的(非常长)的帖子对你有帮助:)在我的阅读中,我已经遇到过几次你的特殊场景。另一个常见问题似乎是“VirtualBox NDIS6桥接网络驱动程序”在适配器上未启用。 – bszom

+0

就我而言,重启也很有可能解决了问题。变量太多... – bszom

0

Windows刚刚更新我建立1709和我的主机只适配器已经消失,我不能创建一个新的由于此错误: 查询NetCfgInstanceId失败(0x00000002)。

看来回滚更新是目前唯一的选择。

0

tl; dr如果您正在使用趋势科技或Symantec防病毒解决方案,请尝试卸载Virtualbox,然后在禁用防病毒的情况下重新安装它。 它也可能与其他人一起工作。

我正在为记录添加此答案。

我的同事和我开始有一个类似的问题只是从Windows 10专业版1703更新到1709版本

我试图回滚到1703版本后,和它的工作,但当然这不是一个可以接受的解。

由于某种原因,必须使用防病毒软件(在我们的例子中为趋势科技Office扫描)。在禁用防病毒的情况下进行干净的重新安装后,只有主机的适配器再次可用。

问题已报道VirtualBox的论坛和问题跟踪:
https://forums.virtualbox.org/viewtopic.php?f=6&t=86179#p413876
https://www.virtualbox.org/ticket/17354#comment:22

不幸的是,这个错误是相当频繁,而且据报道几十种不同病因倍。 在我们的示例中,bszom's answer中显示的设置已经正确。

相关问题