VBoxManage: błąd: nie można utworzyć adaptera tylko do hosta


124

Używam vagranta 1.4 i wirtualnego boxu 4.3 na maszynie z Fedorą 17. Kiedy robię „włóczęgę w górę”, pojawia się ten błąd:

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

prowadzisz włóczęgę z fedory czy to jest twój system włóczęgów?
— Jeff Sisson,

Mam ten sam problem i działa włóczęga na OS X, czy to jest problem wirtualnego pudełka?
— Yuan He

@adi czy mógłbyś zweryfikować poprawną odpowiedź? Tks
— totophe

Odpowiedzi:


171

Miałem dzisiaj ten sam problem. Powodem było to, że miałem inną maszynę wirtualną działającą w VirtualBox.

Rozwiązanie:

  1. Otwórz VirtualBox i zamknij wszystkie uruchomione maszyny wirtualne
  2. Uruchom ponownie VirtualBox
sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart

Teraz powinieneś być w stanie uruchomić vagrant uplub vagrant reloadskonfigurować nowy host.

Jak wspomniano w tej odpowiedzi , najnowsze wersje systemu macOS mogą blokować VirtualBox.

Rozwiązanie:

Idź do System Preferences > Security & PrivacyNastępnie naciśnij przycisk „Zezwól”, aby umożliwić załadowanie Oracle (VirtualBox).

(podziękowania dla @pazhyn i @lsimonetti za wyjaśnienia)


2
Potwierdzenie, że działa na moim Macu. Wyłączenie innych maszyn wirtualnych nie wystarczy, ale ponowne uruchomienie VB działa.
— Steve Bennett

1
Również dla mnie działało, interfejs VirtualBox nie pokazał żadnych maszyn wirtualnych, ale ponowne uruchomienie rozwiązało problem. Być może zatrzymanie włóczęgi nie zakończyło się sukcesem ostatnim razem.
— Erich

2
Ta odpowiedź zakłada, jak sądzę, że VirtualBox znajduje się w Twoich StartupItems. Jeśli tak nie jest, zobacz odpowiedź @ pazhyn poniżej, która wydaje się być bardziej ogólna i zadziałała dla mnie.
— jamesplease

Nie działa, virtualbox domyślnie nie instaluje się w tej lokalizacji. Wiem, że moja jest instalacją domyślną i nie znajduje się w StartupItems. Zobacz odpowiedź @pazhyn poniżej. Dzięki!
— barista amator

1
Musiał to zrobić, a następnie kliknąć „Zezwól” w preferencjach systemowych, jak wspomniano w innych odpowiedziach. Bez tego „Zezwól” nie pojawił się nawet.
— trainoasis

60

Dla Mac OS X 10.9.3 i Vagrant 1.6.3 i VirtualBox 4.3.6 ten problem został naprawiony po ponownym uruchomieniu VirtualBox

sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart

1
Działało idealnie! Dzięki
— Ashwin Balamohan

Działa dla mnie, VirtualBox 4.3.18, OS X 10.9.3. Dzięki!
— amatorski barista

1
Dla każdego, kto ma to samo pytanie na: Mac OS 10.13 + vagrant 2.2.0 + VirtualBox 5.2.20 działało to idealnie dla mnie. Dziękuję bardzo!
— Bahman,

Pracował dla mnie. OS X z VirtualBox 6.0 i Vagrant 2.2.7
— Redas Jarušaitis

Tak. Zniszczenie poprzedniej maszyny wirtualnej nie zrobiło tego za mnie.
— Dave Hodgkinson

42

TL; DR MacOS prawdopodobnie blokuje VirtualBox. Idź do System Preferences > Security & PrivacyNastępnie naciśnij „Zezwól”.

Rozwiązanie: przejdź do System Preferences > Security & Privacy Następnie naciśnij przycisk „Zezwól”, aby umożliwić załadowanie Oracle (VirtualBox).

MacOS domyślnie może blokować ładowanie kextów. Przed wykonaniem skryptu VirtualBoxStartup.sh należy kliknąć przycisk „Zezwól”.

Następnie uruchom: sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restartjak odpowiedź powyżej .

( Ten artykuł zapewnia większą przejrzystość ładowania rozszerzeń jądra MacOS)


1
Pracował dla mnie! Dzięki
— Srdjan Marjanovic

MacOS by default can block kexts from loading. You must click the "allow" button before executing the VirtualBoxStartup.sh script. To był problem dla mnie! Dzięki!
— daneczech


10

Miałem ten problem po aktualizacji do OS X El Captian. Aktualizacja do najnowszej wersji VB rozwiązała problem. Wirtualne pole poda ci najnowszy link, jeśli przejdziesz do menu virtualbox u góry ekranu i klikniesz sprawdź aktualizacje.


10

Pojawił się błąd na komputerze Mac po aktualizacji do Mojave. Prawdopodobnie masz starszą wersję wirtualnego pudełka.

Zaktualizuj do najnowszej wersji virtualbox. (5.2 w momencie pisania tego postu)

Edycja: dodawanie komentarza @ lsimonetti.

Oprócz tej aktualizacji do Virtualbox 5.2, potrzebujesz Vagrant> = 2.0.1


1
Oprócz tej aktualizacji do Virtualbox 5.2, potrzebujesz Vagrant> = 2.0.1 github.com/hashicorp/vagrant/blob/v2.1.5/…
— lsimonetti

8

Jeśli korzystasz z Linuksa, po prostu uruchom: sudo vboxreload


13
vboxreload nie istnieje. Ani vbox
— jaguililla

7

Używam Oracle VM Virtualbox na Ubuntu 16.04 LTS .

Rozwiązaniem, które działało, była ponowna instalacja virtualbox, jak wspomniano tutaj :

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

sudo apt-get install virtualbox

Nie mogłem znaleźć mojego folderu instalacyjnego VirtualBox, ponieważ taki nie mógł wydać polecenia:

$sudo /Library/StartupItems/VirtualBox/VirtualBox restart


Mój lokalny env właśnie przestał odpowiadać. Nie mogłem się podnieść. Usunięcie i zainstalowanie vbox naprawiło każdy problem. Dzięki
— Nick DuBois


3

W moim przypadku udało mi się rozwiązać ten problem, ponownie instalując wirtualne pudełko. Próbowałem użyć domostwa laravel i miałem ten błąd. Ponowna instalacja pomaga w ponownym tworzeniu katalogów potrzebnych do wirtualnego pudełka. Zajęło mi godzinę, zanim to rozgryzłem.


3

Używam Debiana 8 (Jessie), Vagrant 1.6.5 i Virtual Box 4.3.x z tym samym problemem.

U mnie naprawiono wykonywanie:

sudo /etc/init.d/vboxdrv setup

2

Używam ubuntu 14.04. Mam genymotion zainstalowany na virtualbox. Za każdym razem, gdy uruchamiałem genymotion, nie miałem problemu, ale nagle pewnego razu powiedziałem, że nie mogę załadować silnika virtualbox i nie otwiera się. Przejrzałem plik dziennika i odkryłem, że nie może on utworzyć nowej sieci tylko dla hosta, ponieważ utworzył już wszystkie możliwe sieci tylko dla hosta. Problem w tym, że nie może przydzielić pamięci dla nowej sieci.

Poprawka: przejdź do wirtualnego okna Plik -> Preferencje -> Sieć

Kliknij kartę tylko host i po prostu usuń niektóre sieci tylko host, aby zwolnić trochę pamięci i następnym razem można łatwo utworzyć nową sieć.

Usunięcie rozwiązało mój problem.


Dzięki za to. Miałem ten sam problem.
— Tihomir Meščić

Dzięki za to. Używałem Virtual Box w systemie Windows i miałem dokładnie ten sam problem. Twoja wskazówka dotycząca sprawdzenia preferencji sieci pomogła mi rozwiązać ten problem.
— user1501382

1

Naprawiłem ten błąd, instalując VirtualBox 4.2 zamiast 4.3. Myślę, że najnowsze wersje vagrant i VB 4.3 są niekompatybilne w systemie Fedora.


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

Działał świetnie dla mnie na Macu. Zwykle dzieje się tak, gdy wyłączam komputer bez uruchamiania

$vagrant suspend

1
  • CentOS Linux, wersja 7.2.1511 (rdzeń)
  • VirtualBox-5.0

Natknąłem się na ten bieżnik podczas wyszukiwania w Google ... VBoxManage: błąd: nie udało się utworzyć adaptera tylko dla hosta

Używałem VirtualBox-5.0 do testowania niektórych maszyn wirtualnych utworzonych za pomocą Vagrant i ustawiania sieci prywatnych w moim pliku Vagrantfile web.vm.network "private_network", ip: "192.168.10.2"

Przy wywoływaniu polecenia $ vagrant up otrzymywałbym powyższy błąd, a / dev / vboxnetcrl nie istnieje .

Wygląda na to, że moja wersja VirtualBox nie miała skompilowanego odpowiedniego modułu jądra dla mojej wersji Linuksa i urządzenie / dev / vboxnetcrl nie zostało utworzone.

Ponieważ chciałem przetestować maszynę wirtualną i nie rozwiązywać problemów z VirtualBox, moim obejściem (nie rozwiązaniem) było:

 # yum remove VirtualBox-5.0
 # yum install VirtualBox-4.3 

Potem mogłem tworzyć maszyny wirtualne z określonymi adapterami hosta. I oczywiście pod VirtualBox-4.3 był tam / dev / vboxnetcrl.

Teraz do testowania moich maszyn wirtualnych. A kiedy będę miał czas, zobaczę, czy uda mi się uruchomić go pod VirtualBox 5.0


1

Jeśli używasz Linuksa :

sudo service virtualbox restart

2
nie znaleziono usługi :( chociaż wirtualne pudełko jest zainstalowane.
— Rubinum

1

Windows 10 Pro VirtualBox 5.2.12

W moim przypadku musiałem edytować adapter Ethernet tylko hosta w interfejsie graficznym VirtualBox. Kliknij Narzędzia globalne -> Menedżer sieci hosta -> Wybierz kartę Ethernet, a następnie kliknij Właściwości. Mój był ustawiony na automatyczną konfigurację, a adres IP, którego próbował użyć, był inny niż ten, którego próbowałem użyć z drupal-vm i vagrantem. Musiałem tylko zmienić to na ręczne i poprawić adres IP. Mam nadzieję, że to pomoże komuś innemu.


1

W przypadku macOS Mojave to rozwiązanie zadziałało:

sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart

1

Napotkałem ten problem na Macu.

Zrobiłem następujące Idź do: Launcher-> Virtualbox

Kliknij ikonę, aby otworzyć Virtualbox

Uruchom Virtualbox za pomocą przycisku, który pojawia się po uruchomieniu Virtualbox. Poczekaj, aż okno terminala wyświetli monit,

docker @ boot2docker

Następnie spróbuj otworzyć docker. Mam nadzieję, że to działa!


0

To, co pomogło mi w Opensuse 42.1, to zainstalowanie VirtualBox i Vagrant z oficjalnych RPM zamiast z repozytoriów OpenSuse.


0

Napotkałem ten problem na Windows 8.1, VirtualBox 5.1.18 i Vagrant 1.9.3.

Usunięcie adaptera Ethernet obsługującego tylko hosty VirtualBox z preferencji VirtualBox (Sieć -> Sieci tylko dla hostów) rozwiązało ten problem i vagrant upmogłem kontynuować i uruchomić maszynę wirtualną.



0

Miałem ten sam problem, gdy korzystałem z samouczka dotyczącego konfiguracji Laravel Homestead dla Windows 10. Samouczek zawiera przykładowy adres IP, którego 192.168.10.10należy użyć dla serwera. Problem z ich przykładowym adresem IP polega na tym , że jeśli masz już skonfigurowany adapter VirtualBox Host-Only, adres IP, którego używasz dla serwera włóczęgi, musi mieć te same pierwsze trzy części adresu IP aktualnej karty .

Możesz sprawdzić, jaki jest Twój aktualny adres IP adaptera Virtualbox Host-Only, uruchamiając ipconfig(Windows) ifconfig(mac / linux) i wyszukując adres IPv4 VirtualBox Host-Only Adapter. 192.168.56.1był mój. Zwykle, jeśli adres IP hosta to adres IP 192.168.56.1gościa 192.168.56.101, zamiast korzystać z przykładowego adresu IP, którego użyłem 192.168.56.102. Każdy adres IP, 192.168.56.*który nie jest jeszcze zajęty, powinien działać .

Po tym homestead updziałało idealnie dla mnie.

TL; DR - Jeśli aktualny adres IP adaptera VirtualBox Host-Only to 192.168.56.1, ustaw adres IP serwera Vagrant jako 192.168.56.102.


0

Miałem teraz ten sam problem i został on rozwiązany poprzez ponowną instalację do najnowszej wersji VirtualBox.

W przypadku systemów Mac OS High Sierra - instalacja może początkowo się nie powieść, ale należy przejść do opcji Preferencje systemowe> Bezpieczeństwo i zasady i kliknąć przycisk „Zezwalaj”, aby umożliwić Oracle instalację oprogramowania.


0

Jeśli używasz macOS High Sierra lub wyższej wersji, możesz znaleźć skrypt bash w lokalizacji:

sudo /Library/Application\ Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh restart

Więc jeśli masz ten rodzaj błędu:

/ Library / Application Support / VirtualBox / VBoxDrv.kext nie załadował się - (libkern / kext) zasady systemu uniemożliwiają ładowanie; sprawdź logi systemowe / jądra pod kątem błędów lub wypróbuj kextutil (8).

Możesz go rozwiązać za pomocą System Preferences > Security & Privacysekcji i AllowVirtualBox.


0

Moje rozwiązanie

Preferencje systemowe -> Prywatność zabezpieczeń systemu -> Zezwalaj na oracle.xxxx; następnie ponowna instalacja virtualBox.


0

Chcę o tym wspomnieć.

Otwórz VirtualBox i zamknij wszystkie uruchomione maszyny wirtualne.

Wyłączenie powinno być wyłączone.

A jeśli twój virtualbox został dodany w ścieżce w systemie Linux (moim jest Ubuntu). Możesz po prostu użyć polecenia: virtualbox restart


0

Spróbuj tych:

sudo modprobe vboxnetadp

sudo modprobe vboxnetflt

sudo modprobe vboxdrv


Wątpię, czy to pomaga, a nawet w ogóle działa. Aby mnie przekonać, proszę wyjaśnić, jak to działa i dlaczego ma pomóc.
— Yunnosch

Zainstalowałem virtualbox na jądrze innym niż to, które mam teraz (4.19 i teraz 5.4). Aby uniknąć aktualizacji całego systemu, zastosowałem to obejście, aby włączyć już istniejący interfejs vboxnet0. Działało i nadal działa podczas uruchamiania virtualbox.
— andremtsilva

Teraz widziałem, że ten post dotyczy Mac OS, a nie Linuksa. Przepraszam za to.
— andremtsilva

Chodzi o to, że jest to niewyjaśniona odpowiedź zawierająca tylko kod, która cierpi z powodu braku faktycznego wglądu i przydatności. Twój komentarz trochę poprawia sytuację, ale powinien zostać zredagowany w samej odpowiedzi. I nadal nie jest to wyjaśnienie. Chciałbym wyrażenia takie jak „… ponieważ…”, „… w celu…”, „…, co powoduje…”. Również pewne tło, takie jak „Jak opisano w dokumentacji (link) to…”, „… iw ten sposób rozwiązuje problem w sposób opisany przez OP”.
— Yunnosch

0

Przyjechałem tutaj, pracując z kuchnią-CI i mając problemy z włóczęgą. Po (ponownym) przeniesieniu katalogu "~ / .kitchen", kitchen convergeponownie zakończyło się to sukcesem


0

Wypróbowałem wiele rozwiązań, ale poniższa sekwencja działa dla mnie.

Virtual Box: 5.2.34 Vagrant: 2.2.5 Mac OSX: 10.14.6

Najpierw zezwól na dostęp do oracle inc:

Przejdź do Preferencje systemowe> Bezpieczeństwo i prywatność Następnie naciśnij przycisk „Zezwól”, aby umożliwić załadowanie Oracle (VirtualBox).

Następnie uruchom ponownie VBox za pomocą tego polecenia:

sudo /Library/Application\ Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh restart

Teraz spróbuj ponownie Vagrant.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.