无法创建仅用于主机的适配器-windows 10、docker、virtualbox

无法创建仅用于主机的适配器-windows 10、docker、virtualbox,docker,virtual-machine,virtualbox,docker-machine,docker-toolbox,Docker,Virtual Machine,Virtualbox,Docker Machine,Docker Toolbox,在使用docker工具箱一段时间后,我最近遇到了这个问题 是否在windows update之后开始发生 Windows 10 Home-64 已卸载并重新安装Docker工具箱 已卸载并重新安装各种版本的VirtualBox 仍然会得到相同的错误 Running pre-create checks... Creating machine... (default) Copying C:\Users\me\.docker\machine\cache\boot2docker.iso to C:\Us

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

是否在windows update之后开始发生

Windows 10 Home-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...

这个答案与Docker没有特别的关系,但这是Google上最近的一个顶部堆栈溢出搜索结果(连同问题),搜索VirtualBox中的“无法创建仅主机适配器”错误消息,我把这个留在这里,希望它能帮助其他人

另外,如果可以,我建议您使用Docker工具箱代替Docker工具箱在Windows上运行Docker(需要Windows 10 Professional或Enterprise 64位)


我的设想:

  • Windows10Pro版本1709
  • 我尽可能使用Hyper-V来运行虚拟机,但需要运行旧的VirtualBox虚拟机,并将Windows XP作为来宾操作系统
  • VirtualBox 5.2.4-119785(Windows仅支持单个虚拟机监控程序-如果您需要在Hyper-V和VirtualBox之间切换,我建议您这样做)
  • VirtualBox未(或未能)在安装时创建仅限主机的适配器
尝试使用主机网络管理器GUI创建仅主机适配器时,我收到可怕的“无法创建仅主机适配器”错误消息,详细信息为:“查询NetCfgInstanceId失败(0x00000002)”

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

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

然后我注意到VirtualBox似乎(希望)以类似的方式工作,因为它已经成功安装并启用了一个名为“VirtualBox NDIS6桥接网络驱动程序”的新协议驱动程序

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

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

TL;博士

我的理论是,VirtualBox由于某种原因无法确定哪个适配器是实际的物理网络适配器,并且以一种非常积极的方式在找到的每个适配器上启用其“VirtualBox NDIS6桥接网络驱动程序”

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

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

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


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


编辑01/15


嗯,回想起来,我不确定Windows使用Hyper-V“外部虚拟交换机”进行网络连接有多正常。如果我没记错的话,Hyper-V创建的“默认”交换机通过NAT向来宾提供连接是一个相对较新的东西,在需要添加和使用“外部”交换机之前。。。在我的家用电脑上,如果没有“外部”交换机,物理网络适配器上的正常(TCP/IPv4等)协议驱动程序将保持启用状态,而物理适配器和虚拟适配器上的“Hyper-V可扩展虚拟交换机”将被禁用。我还没有机会测试在这种情况下添加新的“外部虚拟交换机”会发生什么;dr
如果您使用的是Trend Micro或Symantec防病毒解决方案,请尝试卸载Virtualbox,然后在禁用防病毒的情况下重新安装。 它也可以与其他人一起工作

我把这个答案记录在案

我和我的同事在从Windows10Pro版本1703升级到1709版本后,开始出现类似的问题

我试着回滚到1703版本,它成功了,但这当然不是一个可接受的解决方案

出于某种原因,这与防病毒有关,在我们的案例中,防病毒是Trend Micro Office扫描。在禁用防病毒功能的情况下进行干净的重新安装后,仅限主机的适配器再次可用

该问题已在Virtualbox论坛和问题跟踪器中报告:

不幸的是
C:\Program Files\Oracle\VirtualBox\VBoxManage.exe hostonlyif create
docker-machine create -d "virtualbox" default
docker-machine status
Running