VBoxManage:错误:无法创建仅主机适配器[关闭]
Posted
技术标签:
【中文标题】VBoxManage:错误:无法创建仅主机适配器[关闭]【英文标题】:VBoxManage: error: Failed to create the host-only adapter [closed] 【发布时间】:2014-01-30 22:28:59 【问题描述】:我在 fedora 17 机器上运行 vagrant 1.4 和 virtual box 4.3。当我执行“vagrant up”时,出现此错误:
Bringing machine 'default' up with 'virtualbox' provider...
[default] Clearing any previously set forwarded ports...
[default] Clearing any previously set network interfaces...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["hostonlyif", "create"]
Stderr: 0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to create the host-only adapter
VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: VBoxNetAdpCtl: ioctl failed for /dev/vboxnetctl: Inappropriate ioctl for devic
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterface, interface IHostNetworkInterface
VBoxManage: error: Context: "int handleCreate(HandlerArg*, int, int*)" at line 66 of file VBoxManageHostonly.cpp
【问题讨论】:
你是从 fedora 运行 vagrant 还是你的 vagrant box 操作系统? 我有同样的问题,在 OS X 上运行 vagrant,是虚拟盒子的问题吗? @adi 你能验证正确的答案吗? Tks 【参考方案1】:我在升级到 OSX Monterey 时遇到了类似的问题。
解决方案:
-
安装 VirtualBox 扩展 (download)
接受 VirtualBox 安全和隐私/隐私/输入监控
【讨论】:
谢谢。更多关于如何解决它here. 谢谢。它解决了蒙特雷的问题。【参考方案2】:如果在执行@totophe 所说的操作后,在 macOS 上仍然无法正常工作,只需重新启动您的 Mac。然后打开终端和vagrant up
。
这通常发生在每次 macOS 更新之后。
【讨论】:
是的,只是重新启动我的 Mac 修复了它,谢谢! (从 11.5.1 到 11.5.2)【参考方案3】:我在 Arch 上遇到了这个问题。这是我解决它的方法。
我需要以下所有包:
➜ ~ pacman -Ss virtualbox | grep installed
extra/linux-zen 5.12.14.zen1-1 [installed]
community/virtualbox 6.1.22-3 [installed]
community/virtualbox-ext-vnc 6.1.22-3 [installed]
community/virtualbox-guest-iso 6.1.22-1 [installed]
community/virtualbox-guest-utils 6.1.22-3 [installed]
community/virtualbox-host-dkms 6.1.22-3 [installed]
community/virtualbox-sdk 6.1.22-3 [installed]
chaotic-aur/linux-tkg-muqss 5.12.15-178 [installed]
chaotic-aur/virtualbox-ext-oracle 6.1.22-1 [installed]
chaotic-aur/virtualbox-meta 2-1 [installed]
我的 AMD 主板(Gigabyte X570 AORUS Master)默认将 AMD 安全虚拟机 (SVM) 设置为“禁用”。我在 Bios 中将其更改为“启用”。
重启并运行:
vagrant up
终于可以正常工作了。只要确保显然有一个正确配置的 Vagrantfile。
【讨论】:
【参考方案4】:就我而言,我必须执行以下操作才能为我解决此错误:
totophe 的答案结合(重新)安装最新的 VM 版本 (https://www.virtualbox.org/wiki/Downloads)(感谢 jacobappleton 和 user1718159)
步骤:
首先(重新)安装最新的 VirtualBox; 在终端中运行sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
(不确定是否需要这样做才能让系统首选项显示允许/禁止选项);
允许安全和隐私
重启你的机器
再次运行sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
。
准备再次运行vagrant up
。
【讨论】:
主要答案是正确的,但是……这篇文章确实说要重新安装 VirtualBox,这有助于 Apple 识别并重新批准我的安全首选项。【参考方案5】:最后通过给定的链接为我工作。
https://www.mediacurrent.com/blog/drupal-vm-failed-create-host-only-adapter/
试用日期:2021 年 3 月 6 日 Mac OS = 11.2.2 (20D80) Oracle Virtual Box = 版本 6.1.18 r142142 (Qt5.6.3)~ ➤ docker-machine create --driver virtualbox Manager1
Running pre-create checks...
Creating machine...
(Manager1) Copying /Users/speedoo/.docker/machine/cache/boot2docker.iso to /Users/speedoo/.docker/machine/machines/Manager1/boot2docker.iso...
(Manager1) Creating VirtualBox VM...
(Manager1) Creating SSH key...
(Manager1) Starting the VM...
(Manager1) Check network to re-create if needed...
(Manager1) Found a new host-only adapter: "vboxnet0"
(Manager1) Waiting for an IP...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env Manager1
~ ➤
~ ➤
~ ➤ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
Manager1 - virtualbox Running tcp://192.168.99.100:2376 v19.03.12
~ ➤
【讨论】:
【参考方案6】:我今天也遇到了同样的问题。原因是我在 VirtualBox 中运行了另一个 VM。
解决方案:
-
打开 VirtualBox 并关闭所有正在运行的虚拟机
转到系统偏好设置 > 安全和隐私,然后点击“允许”按钮让 Oracle (VirtualBox) 加载。
重启 VirtualBox
sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
您现在应该能够运行 vagrant up
或 vagrant reload
并配置好新主机。
如this answer 中所述,macOS 的最新版本可以阻止 VirtualBox。
解决方案:
转到System Preferences > Security & Privacy
然后点击“允许”按钮让 Oracle (VirtualBox) 加载。
(感谢@pazhyn、@lsimonetti 和@dave-beauchesne 的澄清)
【讨论】:
确认这在我的 Mac 上有效。关闭其他虚拟机是不够的,但重新启动 VB 可以。 也对我有用,VirtualBox UI 显示没有虚拟机,但重新启动解决了问题。也许 vagrant halt 上次没有成功完成。 这个答案假设,我猜,VirtualBox 在你的 StartupItems 中。如果不是,请参阅下面@pazhyn 的答案,这似乎更通用且对我有用。 必须这样做,然后单击系统偏好设置中的“允许”,如其他一些答案所述。没有这个,“允许”甚至不会出现。 Big Sur,系统首选项 -> 安全和隐私 -> 常规 -> 解锁以进行更改 -> 高级 -> 批准并重新启动【参考方案7】:升级到 mac os Big Sur 后我也遇到了同样的问题
Linus 解决方案对我有用
-
在 System Preferences > Security & Privacy > General 下授予 VirtualBox 权限(此请求是 macOS High Sierra 的新请求)
打开终端并运行:sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
https://***.com/a/47652517/6146535
【讨论】:
【参考方案8】:有时可以通过在 vagrant up 上配置框来解决此问题
vagrant up --provision
【讨论】:
第一个 vagrant up 通常会自行配置......再次运行配置可能会搞砸一切。配置通常不会被编写为运行两次(不是幂等的),因此它将再次执行。这总是很危险的,除非你把所有东西都写得很好,以至于它可以运行多次【参考方案9】:如果您确定已允许来自 system preference
的 Oracle 并且错误仍然存在。很有可能您还没有启动 VirtualBox。确保它正在运行并再次运行vagrant up
。
【讨论】:
【参考方案10】:尝试了多种解决方案,但以下顺序对我有用。
虚拟盒子:5.2.34 流浪者:2.2.5 Mac OSX:10.14.6
首先允许访问 oracle inc:
转到系统偏好设置 > 安全和隐私,然后点击“允许”按钮让 Oracle (VirtualBox) 加载。
然后通过这个命令重启VBox:
sudo /Library/Application\ Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh restart
现在再次尝试 Vagrant。
【讨论】:
更新后不会显示允许访问的东西,我猜只有在安装后才会显示。但该命令在 Big Sur 11.5 和 11.6 上完成了这项工作。请注意 - 在该命令之后,我还必须重新启动。【参考方案11】:我来到这里,与 kitchen-CI 一起工作,但遇到了 vagrant 的问题。
在(重新)移动“~/.kitchen”目录后,kitchen converge
再次成功
【讨论】:
【参考方案12】:我想提一下。
打开 VirtualBox 并关闭所有正在运行的虚拟机。
关机应该是关机。
如果你的 virtualbox 已经添加到 linux 的路径中(我的是 Ubuntu)。你可以只使用命令:
virtualbox restart
【讨论】:
【参考方案13】:我的解决方案
系统偏好设置 -> 系统安全隐私 -> 允许 oracle.xxxx;然后重新安装 virtualBox。
【讨论】:
【参考方案14】:TL;DR MacOS 可能阻止了 VirtualBox。转到
System Preferences > Security & Privacy
然后点击“允许”。
解决方案:
转到System Preferences > Security & Privacy
然后点击“允许”按钮让 Oracle (VirtualBox) 加载。
MacOS 默认可以阻止 kexts 加载。在执行 VirtualBoxStartup.sh 脚本之前,您必须单击“允许”按钮。
然后运行:
sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
喜欢 answer above。
(This article 提供更清晰的 MacOS 内核扩展加载)
【讨论】:
为我工作!谢谢MacOS by default can block kexts from loading. You must click the "allow" button before executing the VirtualBoxStartup.sh script.
这就是我的问题!谢谢!
在 macOS BigSur (11.0.1) 上,我必须将 Virtualbox 更新到最新版本,然后才能将 System Preferences > Security & Privacy > General
上的提示设为“允许”。允许后还需要重新启动系统。【参考方案15】:
我在 mac 上遇到了这个问题。
我做了以下 去: 启动器->Virtualbox
点击图标打开Virtualbox
使用 Virtualbox 启动后弹出的按钮启动 Virtualbox。等到终端窗口给你提示,
docker@boot2docker
然后尝试打开docker。希望它有效!
【讨论】:
【参考方案16】:对于 macOS Mojave,此解决方案有效:
sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
【讨论】:
【参考方案17】:如果您使用 macOS High Sierra 或更高版本,您可以在以下位置找到 bash 脚本:
sudo /Library/Application\ Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh restart
所以如果你遇到这种错误:
/Library/Application Support/VirtualBox/VBoxDrv.kext 加载失败 - (libkern/kext) 系统策略阻止加载;检查系统/内核日志是否有错误或尝试 kextutil(8)。
您可以通过System Preferences > Security & Privacy
部分和Allow
VirtualBox 解决它。
【讨论】:
在哪里设置允许?【参考方案18】:更新到 Mojave 后在 Mac 中出现错误。可能你有一个旧版本的虚拟盒子。
更新到最新版本的 virtualbox。 (写这篇文章时 5.2)
编辑:添加@lsimonetti 的评论。
除了升级到 Virtualbox 5.2,您还需要 Vagrant >= 2.0.1
【讨论】:
除了升级到 Virtualbox 5.2,你还需要 Vagrant >= 2.0.1 github.com/hashicorp/vagrant/blob/v2.1.5/…【参考方案19】:我刚才遇到了同样的问题,只需重新安装到最新版本的 VirtualBox 即可解决。
对于那些在 Mac OS High Sierra 上的用户 - 一开始安装可能会失败,但您需要转到系统偏好设置 > 安全和策略,然后单击“允许”按钮以允许 Oracle 安装软件。
【讨论】:
【参考方案20】:Windows 10 专业版 虚拟盒子 5.2.12
就我而言,我必须在 VirtualBox GUI 中编辑 Host Only 以太网适配器。单击全局工具 -> 主机网络管理器 -> 选择以太网适配器,然后单击属性。我的设置为自动配置,它尝试使用的 IP 地址与我尝试使用的 drupal-vm 和 vagrant 不同。我只需要将其更改为手动并更正IP地址。我希望这对其他人有帮助。
【讨论】:
【参考方案21】:我在学习为 Windows 10 设置 Laravel Homestead 的教程时遇到了同样的问题。该教程提供了一个用于服务器的示例 IP 地址 192.168.10.10
。他们的示例 IP 的问题在于 如果您已经设置了 VirtualBox Host-Only 适配器,那么您用于 vagrant 服务器的 IP 必须与当前适配器的 IP 地址的前三个部分相同.
您可以通过运行 ipconfig
(windows) ifconfig
(mac/linux) 并查找 VirtualBox Host-Only Adapter 的 IPv4 地址来检查您当前的 Virtualbox Host-Only Adapter IP 地址。 192.168.56.1
是我的。通常,如果主机 IP 是192.168.56.1
,那么来宾 IP 将是 192.168.56.101
,所以我没有使用示例 IP,而是使用了 192.168.56.102
。 192.168.56.*
中尚未占用的任何 IP 都应该可以使用。
在这之后homestead up
非常适合我。
TL;DR - 如果您当前的 VirtualBox Host-Only Adapter IP 是 192.168.56.1,请将您的 Vagrant 服务器 IP 设为 192.168.56.102。
【讨论】:
【参考方案22】:我不得不在我的机器上重新安装 Virtual Box。
这里是下载页面:Downloads Page
然后vagrant up
为我工作。
【讨论】:
【参考方案23】:我在 Ubuntu 16.04 LTS 上运行 Oracle VM Virtualbox。
有效的解决方案是重新安装 virtualbox,如 here 所述:
sudo apt remove virtualbox virtualbox-5.0 virtualbox-4.*
sudo apt-get install virtualbox
我找不到我的 VirtualBox 安装文件夹,因此无法发出命令:
$sudo /Library/StartupItems/VirtualBox/VirtualBox restart
【讨论】:
我的本地环境刚刚停止响应。无法流浪起来。删除并安装 vbox 解决了任何问题。谢谢【参考方案24】:我的解决方案:
确保您在 System32 下有以下文件:
vboxnetadp.sys
vboxnetflt.sys
您可以从这里下载它们:
http://www.sysfilesdownload.com/V/VBoxNetFltsys.html
http://www.sysfilesdownload.com/U/VBoxNetAdp.sys.html
【讨论】:
【参考方案25】:我在 Windows 8.1、VirtualBox 5.1.18 和 Vagrant 1.9.3 上遇到了这个问题。
从 VirtualBox Preferences(网络 --> Hosts-only 网络)中删除 VirtualBox Hosts-only Ethernet Adapter 为我解决了这个问题,vagrant up
可以继续并启动 VM。
【讨论】:
【参考方案26】:如果您使用的是 Linux:
sudo service virtualbox restart
【讨论】:
服务未找到 :( 虽然安装了虚拟盒子。【参考方案27】:在 Opensuse 42.1 上帮助我的是从官方 RPM 而不是从 Opensuse 存储库安装 VirtualBox 和 Vagrant。
【讨论】:
【参考方案28】:安装latest version of Virtual Box 似乎可以解决此问题。
【讨论】:
我的情况是 Vagrant 1.7.4+Virtualbox 5.0+Windows 10 build 10240。版本 5.01 解决了这个问题。【参考方案29】: CentOS Linux 版本 7.2.1511(核心) VirtualBox-5.0我在 Google 搜索时发现了这个踏板... VBoxManage:错误:无法创建仅主机适配器
我使用 VirtualBox-5.0 来测试一些用 Vagrant 创建的虚拟机,并在我的 Vagrantfile 中设置私有网络 web.vm.network "private_network", ip: "192.168.10.2"
当调用命令 $ vagrant up 时,我会收到上述错误以及 /dev/vboxnetcrl 不存在。
似乎我的 VirtualBox 版本没有为我的 Linux 版本编译正确的内核模块,并且设备 /dev/vboxnetcrl 没有被创建。
由于我想测试虚拟机而不是对 VirtualBox 进行故障排除,因此我的解决方法(不是解决方案)是:
# yum remove VirtualBox-5.0
# yum install VirtualBox-4.3
之后,我能够使用指定的主机适配器创建虚拟机。当然,在 VirtualBox-4.3 下,/dev/vboxnetcrl 也在那里。
现在开始测试我的虚拟机。当我有时间时,我会看看我是否可以在 VirtualBox 5.0 下运行它
【讨论】:
【参考方案30】:我使用的是 ubuntu 14.04。我在 virtualbox 上安装了 genymotion。每次我启动genymotion我都没有问题,但突然有一次它说无法加载virtualbox引擎并且它没有打开。我浏览了日志文件,发现它无法创建新的仅主机网络,因为它已经创建了所有可能的仅主机网络。问题是它无法为新网络分配内存。
修复:转到您的虚拟框文件 --> 首选项 --> 网络
点击host-only选项卡,删除一些host-only网络,这样你就可以释放一些内存,下次可以轻松创建一个新网络。
删除解决了我的问题。
【讨论】:
谢谢。我有同样的问题。 谢谢。我在 Windows 上使用 Virtual Box 并且遇到了完全相同的问题。您检查网络偏好的提示帮助我解决了这个问题。以上是关于VBoxManage:错误:无法创建仅主机适配器[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
无法创建仅限主机的适配器 - windows 10、docker、virtualbox
将 mac 更新到 12.0.1 monterey 后无法运行 virtualbox - 仅主机适配器出错