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
Adi
źródło
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)

totophe
źródło
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
Anatolii Pazhyn
źródło
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)

lsimonetti
źródło
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
14

Wydaje się, że problem można rozwiązać, instalując najnowszą wersję programu Virtual Box .

user1718159
źródło
1
Mój przypadek to Vagrant 1.7.4 + Virtualbox 5.0 + Windows 10, kompilacja 10240. Wersja 5.01 rozwiązuje problem.
DevAnimal
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.

espradley
źródło
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

Shobi
źródło
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

Nico
źródło
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

Jonathan
źródło
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
6

Musiałem ponownie zainstalować Virtual Box na moim komputerze.

Oto strona pobierania: Strona pobierania

Potem vagrant uppracował dla mnie później.

David Katz
źródło
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.

Fahad
źródło
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
jaguililla
źródło
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.

Srinivasan
źródło
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.

Adi
źródło
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
NateShumate
źródło
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

Antonio D.
źródło
1

Jeśli używasz Linuksa :

sudo service virtualbox restart
Diogo Gomes
źródło
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.

John Erhardt
źródło
1

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

sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
Milan Manwar
źródło
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!

Ankit Marothi
źródło
0

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

Cmyker
źródło
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ą.

HenricF
źródło
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.

omikes
źródło
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.

Václav Zeman
źródło
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.

Mesuti
źródło
0

Moje rozwiązanie

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

jerry xu
źródło
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

Traszka
źródło
0

Spróbuj tych:

sudo modprobe vboxnetadp

sudo modprobe vboxnetflt

sudo modprobe vboxdrv

andremtsilva
źródło
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

eli
źródło
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.

c.sankhala
źródło