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

у тебя бродяга из федоры или это твоя бродячая ос?
Джефф Сиссон

У меня такая же проблема, и я запускаю 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 за разъяснения)


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)


1
Сработало у меня! Спасибо
Срджан Марьянович

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


10

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


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 и имел эту ошибку. Переустановка помогает снова создать каталоги, необходимые для виртуального бокса. Мне потребовался час, чтобы понять.


3

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

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

sudo /etc/init.d/vboxdrv setup

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.


1
$sudo /Library/StartupItems/VirtualBox/VirtualBox restart

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

$vagrant suspend

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

Windows 10 Pro VirtualBox 5.2.12

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



1

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

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

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

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

Докер @ boot2docker

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


0

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


0

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

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



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.


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.


0

Мое решение

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


0

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

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

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

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


0

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

sudo modprobe vboxnetadp

sudo modprobe vboxnetflt

sudo modprobe vboxdrv


Я сомневаюсь, что это помогает или вообще работает. Чтобы убедить меня в обратном, пожалуйста, объясните, как это работает и почему это должно помочь.
Юннош,

Я установил виртуальный бокс на ядро, отличное от того, которое у меня есть сейчас (4.19, а теперь 5.4). Чтобы избежать обновления всей системы, я использовал этот обходной путь, чтобы включить уже существующий интерфейс vboxnet0. Он работал и работает при запуске виртуального бокса.
andremtsilva

Теперь я увидел, что этот пост о Mac OS, а не о Linux. Извини за это.
andremtsilva

Дело в том, что это необъяснимый ответ, состоящий только из кода, который страдает от недостатка фактического понимания и полезности. Ваш комментарий немного улучшает ситуацию, но его следует отредактировать в самом ответе. И это все еще не совсем объяснение. Мне нужны фразы типа «... потому что ....», «... чтобы ...», «..., что вызывает ....». Также некоторые предыстории вроде «Как описано в документации (ссылка) это ....», «... и тем самым решает проблему, как описано OP.»
Юннош

0

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


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.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.