VBoxManage: ошибка: не удалось создать адаптер только для хоста

124

Я запускаю vagrant 1.4 и virtual box 4.3 на машине Fedora 17. Когда я делаю "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
Adi
источник
у тебя бродяга из федоры или это твоя бродячая ос?
Джефф Сиссон
У меня такая же проблема, и я запускаю vagrant на OS X, это проблема виртуального бокса?
Юань Хэ
@adi не могли бы вы подтвердить правильный ответ? Tks
totophe

Ответы:

171

Сегодня у меня была такая же проблема. Причина заключалась в том, что у меня была еще одна виртуальная машина, работающая в VirtualBox.

Решение:

  1. Откройте VirtualBox и выключите каждую работающую виртуальную машину
  2. Перезапустите VirtualBox
sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart

Теперь вы можете запустить vagrant upили vagrant reloadнастроить новый хост.

Как упоминалось в этом ответе , последние версии macOS могут блокировать VirtualBox.

Решение:

Перейдите к System Preferences > Security & PrivacyЗатем нажмите кнопку «Разрешить», чтобы позволить Oracle (VirtualBox) загрузиться.

(спасибо @pazhyn и @lsimonetti за разъяснения)

totophe
источник
2
Подтверждаю, что это работает на моем Mac. Выключения других виртуальных машин недостаточно, но перезапуск VB работает.
Стив Беннетт
1
Также сработал для меня, VirtualBox UI не показал никаких виртуальных машин, но перезапуск решил проблему. Возможно, в прошлый раз бродячая остановка закончилась неудачно.
Эрих
2
Я предполагаю, что этот ответ предполагает, что VirtualBox находится в ваших StartupItems. Если это не так, см. Ответ @ pazhyn ниже, который кажется более общим и сработал для меня.
jamesplease
Не работает, виртуальный бокс по умолчанию не устанавливается в это место. Я знаю, что моя установка установлена ​​по умолчанию и не находится в StartupItems. См. Ответ @pazhyn ниже. Спасибо!
бариста-любитель
1
Пришлось сделать это, а затем нажать «Разрешить» в системных настройках, как упоминалось в некоторых других ответах. Без этого «Разрешить» даже не появилось.
trainoasis
60

Для Mac OS X 10.9.3 и Vagrant 1.6.3 и VirtualBox 4.3.6 эта проблема была исправлена ​​перезапуском VirtualBox.

sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
Анатолий Пажин
источник
1
Сработало отлично! Спасибо
Ашвин Баламохан 02
У меня работает, VirtualBox 4.3.18, OS X 10.9.3. Спасибо!
бариста-любитель
1
Для любого, у кого есть такой же вопрос: Mac OS 10.13 + vagrant 2.2.0 + VirtualBox 5.2.20, это отлично сработало для меня. Спасибо вам большое!
Bahman.A
Работал у меня. OS X с VirtualBox 6.0 и Vagrant 2.2.7
Редас Ярушайтис
Да. Уничтожение предыдущей виртуальной машины не помогло мне.
Дэйв Ходжкинсон,
42

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как и ответ выше .

( Эта статья дает больше ясности о загрузке расширения ядра MacOS)

lsimonetti
источник
1
Сработало у меня! Спасибо
Срджан Марьянович
MacOS by default can block kexts from loading. You must click the "allow" button before executing the VirtualBoxStartup.sh script. Это было проблемой для меня! Спасибо!
daneczech
14

Эта проблема, кажется, решена путем установки последней версии Virtual Box .

user1718159
источник
1
В моем случае Vagrant 1.7.4 + Virtualbox 5.0 + Windows 10 build 10240. Версия 5.01 устраняет проблему.
DevAnimal
10

У меня возникла эта проблема после обновления до OS X El Captian. Обновление до последней версии VB решило проблему для меня. Виртуальный ящик предоставит вам последнюю ссылку, если вы войдете в меню виртуального бокса в верхней части экрана и нажмете «Проверить наличие обновлений».

espradley
источник
10

Получил ошибку в Mac после обновления до Мохаве. Возможно у вас более старая версия виртуального бокса.

Обновите виртуальный бокс до последней версии. (5.2 на момент написания этого поста)

Изменить: добавление комментария @ lsimonetti.

В дополнение к обновлению до Virtualbox 5.2 вам понадобится Vagrant> = 2.0.1

Сови
источник
1
В дополнение к этому обновлению до Virtualbox 5.2 вам потребуется Vagrant> = 2.0.1 github.com/hashicorp/vagrant/blob/v2.1.5/…
lsimonetti
8

Если вы работаете в Linux, просто запустите: sudo vboxreload

Нико
источник
13
vboxreload не существует. Ни один vbox
jaguililla
7

Я использую Oracle VM Virtualbox на Ubuntu 16.04 LTS .

Решение, которое сработало, заключалось в переустановке виртуального бокса, как упоминалось здесь :

sudo apt remove virtualbox virtualbox-5.0 virtualbox-4.*

sudo apt-get install virtualbox

Мне не удалось найти папку с установкой VirtualBox, поэтому я не мог выполнить команду:

$sudo /Library/StartupItems/VirtualBox/VirtualBox restart

Джонатан
источник
Мой местный env просто перестал отвечать. Бродяжничать не удавалось. удалить и установить vbox исправил все, что было проблемой. Спасибо
Ник Дюбуа
3

В моем случае мне удалось решить эту проблему, переустановив виртуальный ящик. Я пытался использовать усадьбу laravel и имел эту ошибку. Переустановка помогает снова создать каталоги, необходимые для виртуального бокса. Мне потребовался час, чтобы понять.

Fahad
источник
3

Я запускаю Debian 8 (Jessie), Vagrant 1.6.5 и Virtual Box 4.3.x с той же проблемой.

Для меня исправлено выполнение:

sudo /etc/init.d/vboxdrv setup
jaguililla
источник
2

Я использую ubuntu 14.04. У меня Genymotion установлен на виртуальном боксе. Каждый раз, когда я запускаю genymotion, у меня не возникало проблем, но однажды он сказал, что не может загрузить движок виртуального бокса, и не открылся. Я просмотрел файл журнала и обнаружил, что он не может создать новую сеть только для хоста, потому что он уже создал все возможные сети только для хоста. И проблема в том, что он не может выделить память для новой сети.

Исправить: перейдите в виртуальный ящик File -> Preferences -> Network

Щелкните вкладку только для хоста и просто удалите некоторые из сетей только для хоста, чтобы освободить некоторую память и в следующий раз легко создать новую сеть.

Удаление устранило мою проблему.

Сринивазан
источник
Спасибо за это. Я была такая же проблема.
Tihomir Meščić
Спасибо за это. Я использовал Virtual Box в Windows и имел точно такую ​​же проблему. Ваш намек на проверку настроек сети помог мне решить эту проблему.
user1501382
1

Я исправил эту ошибку, установив VirtualBox 4.2 вместо 4.3. Я думаю, что последняя версия vagrant и VB 4.3 несовместимы в системе Fedora.

Adi
источник
1
$sudo /Library/StartupItems/VirtualBox/VirtualBox restart

Отлично работал у меня на Mac. Обычно это происходит, когда я выключаю компьютер, не запуская

$vagrant suspend
NateShumate
источник
1
  • Выпуск CentOS Linux 7.2.1511 (Core)
  • 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

Антонио Д
источник
1

Если вы используете Linux :

sudo service virtualbox restart
Диого Гомеш
источник
2
сервис не найден :( хотя виртуальный бокс установлен.
Rubinum 03
1

Windows 10 Pro VirtualBox 5.2.12

В моем случае мне пришлось отредактировать адаптер Ethernet только для хоста в графическом интерфейсе VirtualBox. Щелкните Глобальные инструменты -> Диспетчер сети хоста -> выберите адаптер Ethernet, затем щелкните Свойства. Мой был настроен на автоматическую настройку, и IP-адрес, который он пытался использовать, отличался от того, который я пытался использовать с drupal-vm и vagrant. Мне просто пришлось изменить это на ручной и исправить IP-адрес. Надеюсь, это поможет кому-то другому.

Джон Эрхардт
источник
1

Для macOS Mojave это решение работало:

sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
Милан Манвар
источник
1

Я столкнулся с этой проблемой на Mac.

Я сделал следующее Перейти: Launcher-> Virtualbox

Щелкните значок, чтобы открыть Virtualbox

Запустите Virtualbox с помощью кнопки, которая появляется после запуска Virtualbox. Подождите, пока в окне терминала появится подсказка,

Докер @ boot2docker

Затем попробуйте открыть докер. Надеюсь, что это работает!

Анкит Мароти
источник
0

Что помогло мне в Opensuse 42.1, так это установка VirtualBox и Vagrant из официальных пакетов RPM, а не из репозиториев Opensuse.

Cmyker
источник
0

Я столкнулся с этой проблемой в Windows 8.1, VirtualBox 5.1.18 и Vagrant 1.9.3.

Удаление Ethernet-адаптера VirtualBox только для хостов из настроек VirtualBox (Сеть -> Сети только для хостов) устранило это для меня, и vagrant upможно было продолжить и запустить виртуальную машину.

HenricF
источник
0

У меня возникла та же проблема, когда я следовал руководству по настройке Laravel Homestead для Windows 10. В руководстве приведен пример IP-адреса 192.168.10.10для использования на сервере. Проблема с их примером IP-адреса заключается в том, что если у вас уже настроен адаптер VirtualBox Host-Only, IP-адрес, который вы используете для вашего бродячего сервера, должен иметь те же первые три части IP-адреса вашего текущего адаптера .

Вы можете проверить свой текущий IP-адрес адаптера только для хоста Virtualbox, запустив ipconfig(windows) ifconfig(mac / linux) и выполнив поиск IPv4-адреса адаптера только для хоста VirtualBox. 192.168.56.1был моим. Обычно, если IP-адрес хоста является 192.168.56.1гостевым IP-адресом, 192.168.56.101вместо того, чтобы использовать пример IP, который я использовал 192.168.56.102. Любой IP-адрес, 192.168.56.*который еще не занят, должен работать .

После этого homestead upу меня отлично сработало.

TL; DR - Если ваш текущий IP-адрес адаптера VirtualBox Host-Only 192.168.56.1, сделайте IP-адрес вашего Vagrant-сервера 192.168.56.102.

omikes
источник
0

У меня была такая же проблема только сейчас, и она была решена простой переустановкой VirtualBox до последней версии.

Для тех, кто использует Mac OS High Sierra - сначала установка может завершиться ошибкой, но вам нужно перейти в Системные настройки> Безопасность и политика и нажать кнопку «Разрешить», чтобы Oracle могла установить программное обеспечение.

Вацлав Земан
источник
0

Если вы используете 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раздел и AllowVirtualBox.

Mesuti
источник
0

Мое решение

Системные настройки -> Конфиденциальность безопасности системы -> Разрешить oracle.xxxx; затем переустановите virtualBox.

Джерри Сюй
источник
0

Я хочу упомянуть об этом.

Откройте VirtualBox и выключите все работающие виртуальные машины.

Выключение должно быть отключено.

И если ваш виртуальный бокс был добавлен в Путь в Linux (мой - Ubuntu). Вы можете просто использовать команду: virtualbox restart

Тритон
источник
0

Попробуйте эти:

sudo modprobe vboxnetadp

sudo modprobe vboxnetflt

sudo modprobe vboxdrv

andremtsilva
источник
Я сомневаюсь, что это помогает или вообще работает. Чтобы убедить меня в обратном, пожалуйста, объясните, как это работает и почему это должно помочь.
Юннош,
Я установил виртуальный бокс на ядро, отличное от того, которое у меня есть сейчас (4.19, а теперь 5.4). Чтобы избежать обновления всей системы, я использовал этот обходной путь, чтобы включить уже существующий интерфейс vboxnet0. Он работал и работает при запуске виртуального бокса.
andremtsilva
Теперь я увидел, что этот пост о Mac OS, а не о Linux. Извини за это.
andremtsilva
Дело в том, что это необъяснимый ответ, состоящий только из кода, который страдает от недостатка фактического понимания и полезности. Ваш комментарий немного улучшает ситуацию, но его следует отредактировать в самом ответе. И это все еще не совсем объяснение. Мне нужны фразы типа «... потому что ....», «... чтобы ...», «..., что вызывает ....». Также некоторые предыстории вроде «Как описано в документации (ссылка) это ....», «... и тем самым решает проблему, как описано OP.»
Юннош
0

Я пришел сюда, работая с кухонным CI и испытывая проблемы с vagrant. После (повторного) перемещения каталога "~ / .kitchen" файл kitchen convergeснова прошел успешно.

Eli
источник
0

Пробовал несколько решений, но для меня работает приведенная ниже последовательность.

Виртуальная коробка: 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.

c.sankhala
источник