无法创建仅主机适配器

Failed to create the host-only adapter

我的系统上 vagrant up 有问题。我有错误,你可以在下面看到。我已经尝试重新安装 VBox、Vagrant、关闭防火墙、检查 VBox 网络驱动程序并重新启动主机系统,但它不工作。

感谢大家的帮助。

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: E_FAIL
VBoxManage.exe: error: Failed to create the host-only adapter
VBoxManage.exe: error: SetupDiCallClassInstaller (DIF_INSTALLDEVICE) failed 
(0x00000002)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component 
HostNetworkInterfaceWrap, interface IHostNetworkInterface
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdeclhandleCreate(struct 
HandlerArg *)" at line 94 of file VBoxManageHostonly.cpp

VBox 版本 5.2.22

Vagrant 版本 2.2.0

主机操作系统 Win7 x64

来宾操作系统 Ubuntu-16.04.5-桌面-amd64

Vagrantfile

dir = File.dirname(File.expand_path(__FILE__))

require 'yaml'
require "#{dir}/puphpet/ruby/deep_merge.rb"
require "#{dir}/puphpet/ruby/to_bool.rb"

configValues = YAML.load_file("#{dir}/puphpet/config.yaml")

provider = ENV['VAGRANT_DEFAULT_PROVIDER'] ? ENV['VAGRANT_DEFAULT_PROVIDER'] : 'local'
if File.file?("#{dir}/puphpet/config-#{provider}.yaml")
  custom = YAML.load_file("#{dir}/puphpet/config-#{provider}.yaml")
  configValues.deep_merge!(custom)
end

if File.file?("#{dir}/puphpet/config-custom.yaml")
  custom = YAML.load_file("#{dir}/puphpet/config-custom.yaml")
  configValues.deep_merge!(custom)
end

data = configValues['vagrantfile']

Vagrant.require_version '>= 1.8.1'

Vagrant.configure('2') do |config|
  eval File.read("#{dir}/puphpet/vagrant/Vagrantfile-#{data['target']}")
end

检查这个 link:

如果这不起作用,那么评论 20 这建议 https://www.virtualbox.org/ticket/14545#comment:20

正在执行以下操作:

I was able to work around this problem for me with the following steps:
Open the VirtualBox Manager GUI.
Go to File -> Preferences -> Network -> Host-only Networks
Delete all entries in that list
Run vagrant up again

我在主机上做了 vagrant up

经过多次尝试,我重新安装了 Windows。需要虚拟机主机驱动程序(Windows 网络中的 VirtualBox Host-Only 以太网适配器)仅安装在 "clean" 系统上,这对我来说非常奇怪。

Vagrant 还需要 Windows PowerShell 版本早于 3,但 Win7 默认使用 2。您需要更新 Windows Net Framework 以便在 Win7 上安装 3 和旧版本。

祝你好运!

过去 2 天我都被这个问题弄疯了。终于找到解决办法了。

1.The 杀毒软件导致了这个问题

2.You 需要在您的 windows 系统上禁用防病毒服务(您需要管理员权限或从您公司的 IT 人员那里完成)

3.Reinstall Docker 工具箱并启动它(管理员模式) 这有效

我发现所有其他解决方案都不起作用, 直到我发现这个 post: Laravel Vagrant Up SSH Problems

在 YAML 文件的结束标记之前添加下一个代码就可以了

 config.vm.provider "virtualbox" do |vb|
        vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
    end

这个帖子已经有 3 年历史了,但及时向前,我也遇到了与 windows 10 类似的问题。让我告诉你我是如何修复它的。

打开虚拟盒子->文件->主机网络管理器

一旦您选择 select 选项,系统就会打开一个框,其中包含供您使用的适配器 enable/disable。

默认情况下,适配器 2 对我来说是禁用的,一旦我启用它,我就可以 运行 vagrant up 没有问题。