VBoxManage: Fehler: Fehler beim Erstellen des Nur-Host-Adapters

124

Ich verwende Vagrant 1.4 und Virtual Box 4.3 auf einer Fedora 17-Maschine. Wenn ich "vagrant up" mache, erhalte ich diesen Fehler:

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
quelle
Sie laufen Vagrant von Fedora oder das ist Ihre Vagrant Box OS?
Jeff Sisson
Ich habe das gleiche Problem und laufe unter OS X vagrant. Ist das das Problem der virtuellen Box?
Yuan He
@adi könntest du die richtige Antwort bestätigen? Tks
totophe

Antworten:

171

Ich hatte heute das gleiche Problem. Der Grund war, dass in VirtualBox eine andere VM ausgeführt wurde.

Lösung:

  1. Öffnen Sie VirtualBox und fahren Sie jede laufende VM herunter
  2. Starten Sie VirtualBox neu
sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart

Sie sollten jetzt in der Lage sein, Ihren neuen Host auszuführen vagrant upoder zu vagrant reloadkonfigurieren.

Wie in dieser Antwort erwähnt , können neuere Versionen von macOS VirtualBox blockieren.

Lösung:

Gehen Sie zu System Preferences > Security & PrivacyDann klicken Sie auf die Schaltfläche "Zulassen", damit Oracle (VirtualBox) geladen wird.

(danke an @pazhyn & @lsimonetti für Klarstellungen)

totophe
quelle
2
Bestätigen, dass dies auf meinem Mac funktioniert. Das Herunterfahren anderer VMs reicht nicht aus, aber ein Neustart von VB funktioniert.
Steve Bennett
1
Auch für mich hat die VirtualBox-Benutzeroberfläche keine VMs angezeigt, aber ein Neustart hat das Problem behoben. Vielleicht war der vagabundierende Halt das letzte Mal nicht erfolgreich.
Erich
2
Diese Antwort setzt voraus, dass sich VirtualBox in Ihren StartupItems befindet. Wenn dies nicht der Fall ist, lesen Sie die Antwort von @ pazhyn weiter unten, die allgemeiner zu sein scheint und für mich funktioniert hat.
Jamesplease
Funktioniert nicht, virtualbox wird standardmäßig nicht an diesem Speicherort installiert. Ich weiß, dass meine eine Standardinstallation ist und sich nicht in StartupItems befindet. Bitte siehe @pazhyn Antwort unten. Vielen Dank!
Amateur Barista
1
Musste dies tun und dann in den Systemeinstellungen auf "Zulassen" klicken, wie in einigen anderen Antworten erwähnt. Ohne dies erschien das "Zulassen" nicht einmal.
Trainoasis
60

Für Mac OS X 10.9.3 und Vagrant 1.6.3 und VirtualBox 4.3.6 wurde dieses Problem beim Neustart der VirtualBox behoben

sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
Anatolii Pazhyn
quelle
1
Hat perfekt funktioniert! Vielen Dank
Ashwin Balamohan
Funktioniert für mich, VirtualBox 4.3.18, OS X 10.9.3. Vielen Dank!
Amateur Barista
1
Für alle, die die gleiche Frage zu Mac OS 10.13 + Vagrant 2.2.0 + VirtualBox 5.2.20 haben, hat dies perfekt funktioniert. Ich danke dir sehr!
Bahman.A
Hat für mich gearbeitet. OS X mit VirtualBox 6.0 und Vagrant 2.2.7
Redas Jarušaitis
Ja. Das Zerstören der vorherigen VM hat es für mich nicht getan.
Dave Hodgkinson
42

TL; DR MacOS blockiert wahrscheinlich VirtualBox. Gehe zu System Preferences > Security & PrivacyDann drücke auf "Zulassen".

Lösung: Gehen Sie zu System Preferences > Security & PrivacyDann klicken Sie auf die Schaltfläche "Zulassen", damit Oracle (VirtualBox) geladen wird.

MacOS kann standardmäßig das Laden von Kexten blockieren. Sie müssen auf die Schaltfläche "Zulassen" klicken, bevor Sie das Skript VirtualBoxStartup.sh ausführen.

Dann laufen Sie: sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restartwie die Antwort oben .

( Dieser Artikel bietet mehr Klarheit beim Laden der MacOS-Kernel-Erweiterung.)

lsimonetti
quelle
1
Hat für mich gearbeitet! Vielen Dank
Srdjan Marjanovic
MacOS by default can block kexts from loading. You must click the "allow" button before executing the VirtualBoxStartup.sh script. Das war das Problem für mich! Vielen Dank!
Daneczech
14

Dieses Problem scheint durch die Installation der neuesten Version von Virtual Box behoben zu werden .

user1718159
quelle
1
Mein Fall ist Vagrant 1.7.4 + Virtualbox 5.0 + Windows 10 Build 10240. Version 5.01 behebt das Problem.
DevAnimal
10

Ich hatte dieses Problem nach dem Upgrade auf OS X El Captian. Ein Upgrade auf die neueste Version von VB hat das Problem für mich gelöst. In der virtuellen Box erhalten Sie den neuesten Link, wenn Sie zum Menü der virtuellen Box oben auf dem Bildschirm gehen und auf Nach Updates suchen klicken.

Espradley
quelle
10

Habe den Fehler in Mac nach dem Update auf Mojave. Wahrscheinlich haben Sie eine ältere Version der virtuellen Box.

Aktualisieren Sie auf eine aktuelle Version von virtualbox. (5.2 zum Zeitpunkt des Schreibens dieses Beitrags)

Bearbeiten: Hinzufügen von @ lsimonettis Kommentar.

Zusätzlich zu diesem Upgrade auf Virtualbox 5.2 benötigen Sie Vagrant> = 2.0.1

Shobi
quelle
1
Zusätzlich zu diesem Upgrade auf Virtualbox 5.2 benötigen Sie Vagrant> = 2.0.1 github.com/hashicorp/vagrant/blob/v2.1.5/…
lsimonetti
8

Wenn Sie unter Linux arbeiten, führen Sie einfach Folgendes aus: sudo vboxreload

Nico
quelle
13
vboxreload existiert nicht. Weder vbox
jaguililla
7

Ich verwende Oracle VM Virtualbox unter Ubuntu 16.04 LTS .

Die Lösung bestand darin, virtualbox wie hier beschrieben neu zu installieren :

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

sudo apt-get install virtualbox

Ich konnte meinen VirtualBox-Installationsordner nicht finden, daher konnte der folgende Befehl nicht ausgegeben werden:

$sudo /Library/StartupItems/VirtualBox/VirtualBox restart

Jonathan
quelle
Meine lokale Umgebung reagierte einfach nicht mehr. Konnte nicht vagabundieren. Entfernen und Installieren von vbox behoben, was auch immer das Problem war. Vielen Dank
Nick DuBois
6

Ich musste Virtual Box auf meinem Computer neu installieren.

Hier ist die Downloadseite: Downloadseite

Dann vagrant uparbeitete für mich nach.

David Katz
quelle
3

In meinem Fall konnte ich dieses Problem lösen, indem ich die virtuelle Box neu installierte. Ich habe versucht, das Gehöft von Laravel zu benutzen und hatte diesen Fehler. Durch die Neuinstallation können Sie die Verzeichnisse erstellen, die für die virtuelle Box erneut benötigt werden. Ich habe eine Stunde gebraucht, um das herauszufinden.

Fahad
quelle
3

Ich verwende Debian 8 (Jessie), Vagrant 1.6.5 und Virtual Box 4.3.x mit demselben Problem.

Für mich wurde die Ausführung behoben:

sudo /etc/init.d/vboxdrv setup
Jaguililla
quelle
2

Ich benutze Ubuntu 14.04. Ich habe Genymotion auf Virtualbox installiert. Jedes Mal, wenn ich Genymotion starte, hatte ich kein Problem, aber plötzlich wurde einmal gesagt, dass die Virtualbox-Engine nicht geladen werden konnte und sie sich nicht öffnete. Ich habe die Protokolldatei durchgesehen und festgestellt, dass kein neues Nur-Host-Netzwerk erstellt werden kann, da bereits alle möglichen Nur-Host-Netzwerke erstellt wurden. Das Problem ist, dass kein Speicher für ein neues Netzwerk zugewiesen werden kann.

Fix: Gehen Sie zu Ihrer virtuellen Box Datei -> Einstellungen -> Netzwerk

Klicken Sie auf die Registerkarte "Nur Host" und löschen Sie einfach einige der Nur-Host-Netzwerke, damit Speicherplatz frei wird. Beim nächsten Mal kann auf einfache Weise ein neues Netzwerk erstellt werden.

Das Löschen hat mein Problem behoben.

Srinivasan
quelle
Danke dafür. Ich hatte das gleiche Problem.
Tihomir Meščić
Danke dafür. Ich habe Virtual Box unter Windows verwendet und hatte genau das gleiche Problem. Ihr Hinweis, die Einstellungen des Netzwerks zu überprüfen, hat mir geholfen, dieses Problem zu lösen.
user1501382
1

Ich habe diesen Fehler behoben, indem ich VirtualBox 4.2 anstelle von 4.3 installiert habe. Ich denke, die neueste Version von Vagrant und VB 4.3 sind auf einem Fedora-System nicht kompatibel.

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

Hat auf dem Mac hervorragend funktioniert. Dies geschieht normalerweise, wenn ich meinen Computer herunterfahre, ohne ihn auszuführen

$vagrant suspend
NateShumate
quelle
1
  • CentOS Linux Release 7.2.1511 (Core)
  • VirtualBox-5.0

Ich bin auf dieses Profil gestoßen, als ich bei Google nach ... VBoxManage: Fehler: Fehler beim Erstellen des Nur-Host-Adapters

Ich habe VirtualBox-5.0 verwendet, um einige mit Vagrant erstellte virtuelle Maschinen zu testen und private Netzwerke in meiner Vagrant-Datei einzurichten web.vm.network "private_network", IP: "192.168.10.2" einzurichten.

Wenn ich den Befehl $ vagrant aufrufe, bekomme ich den oben genannten Fehler zusammen mit / dev / vboxnetcrl nicht bekommen .

Es scheint, dass in meiner Version von VirtualBox nicht das richtige Kernelmodul für meine Linux-Version kompiliert wurde und das Gerät / dev / vboxnetcrl nicht erstellt wird.

Da ich die virtuelle Maschine testen und keine Fehlerbehebung bei VirtualBox durchführen wollte, bestand meine Problemumgehung (keine Lösung) darin, Folgendes zu tun:

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

Danach konnte ich die virtuellen Maschinen mit angegebenen Host-Adaptern erstellen. Und natürlich war / dev / vboxnetcrl unter VirtualBox-4.3 da.

Nun zum Testen meiner VMs. Und wenn ich Zeit habe, werde ich sehen, ob ich es unter VirtualBox 5.0 zum Laufen bringen kann

Antonio D.
quelle
1

Wenn Sie unter Linux arbeiten :

sudo service virtualbox restart
Diogo Gomes
quelle
2
Dienst nicht gefunden :( obwohl virtuelle Box installiert ist.
Rubinum
1

Windows 10 Pro VirtualBox 5.2.12

In meinem Fall musste ich den Host Only Ethernet Adapter in der VirtualBox-GUI bearbeiten. Klicken Sie auf Globale Tools -> Host Network Manager -> Wählen Sie den Ethernet-Adapter aus und klicken Sie dann auf Eigenschaften. Meins war so eingestellt, dass es automatisch konfiguriert wurde, und die IP-Adresse, die es verwenden wollte, war anders als die, die ich mit drupal-vm und vagrant verwenden wollte. Ich musste das nur in manuell ändern und die IP-Adresse korrigieren. Ich hoffe das hilft jemand anderem.

John Erhardt
quelle
1

Für macOS Mojave funktionierte diese Lösung:

sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
Milan Manwar
quelle
1

Ich habe dieses Problem auf dem Mac festgestellt.

Ich habe folgendes gemacht: Gehe zu: Launcher-> Virtualbox

Klicken Sie auf das Symbol, um Virtualbox zu öffnen

Starten Sie Virtualbox mit der Schaltfläche, die beim Start von Virtualbox angezeigt wird. Warten Sie, bis das Terminalfenster die Eingabeaufforderung anzeigt.

docker @ boot2docker

Versuchen Sie dann, Docker zu öffnen. Hoffe, es funktioniert!

Ankit Marothi
quelle
0

Was mir bei Opensuse 42.1 geholfen hat, ist die Installation von VirtualBox und Vagrant von den offiziellen RPMs anstelle von Opensuse-Repositorys.

Cmyker
quelle
0

Ich habe dieses Problem unter Windows 8.1, VirtualBox 5.1.18 und Vagrant 1.9.3 festgestellt.

Das Löschen des VirtualBox-Ethernet-Adapters nur für Hosts aus den VirtualBox-Einstellungen (Netzwerk -> Nur Hosts-Netzwerke) hat dies für mich behoben und vagrant upkonnte fortgesetzt und die VM gestartet werden.

HenricF
quelle
0

Ich hatte das gleiche Problem, als ich einem Tutorial zum Einrichten von Laravel Homestead für Windows 10 folgte. Das Tutorial enthält eine Beispiel-IP-Adresse 192.168.10.10für den Server. Das Problem mit der Beispiel-IP besteht darin, dass die IP, die Sie für Ihren Vagrant-Server verwenden, dieselben ersten drei Teile der IP-Adresse Ihres aktuellen Adapters haben muss , wenn Sie bereits einen VirtualBox Host-Only-Adapter eingerichtet haben .

Sie können überprüfen, wie Ihre aktuelle IP-Adresse des Virtualbox Host-Only-Adapters lautet, indem Sie ausführen ipconfig (Windows) ifconfig(Mac / Linux) ausführen und nach der IPv4-Adresse des VirtualBox Host-Only-Adapters suchen. 192.168.56.1war meins. Wenn die Host-IP lautet, ist dies normalerweise 192.168.56.1die Gast-IP, 192.168.56.101anstatt die von mir verwendete Beispiel-IP zu verwenden 192.168.56.102. Jede IP, die sich 192.168.56.*darin befindet und noch nicht vergeben ist, sollte funktionieren .

Danach hat es homestead upperfekt für mich funktioniert.

TL; DR - Wenn Ihre aktuelle VirtualBox Host-Only Adapter-IP 192.168.56.1 lautet, machen Sie Ihre Vagrant-Server-IP 192.168.56.102.

Omikes
quelle
0

Ich hatte gerade das gleiche Problem und es wurde gelöst, indem einfach die neueste Version von VirtualBox neu installiert wurde.

Für Benutzer unter Mac OS High Sierra schlägt die Installation möglicherweise zunächst fehl. Sie müssen jedoch zu Systemeinstellungen> Sicherheit und Richtlinien gehen und auf die Schaltfläche "Zulassen" klicken, damit Oracle die Software installieren kann.

Václav Zeman
quelle
0

Wenn Sie macOS High Sierra oder eine höhere Version verwenden, finden Sie das Bash-Skript an folgender Stelle:

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

Wenn Sie also einen solchen Fehler haben:

/ Library / Application Support / VirtualBox / VBoxDrv.kext konnte nicht geladen werden - (libkern / kext) Systemrichtlinie verhindert Laden; Überprüfen Sie die System- / Kernel-Protokolle auf Fehler oder versuchen Sie es mit kextutil (8).

Sie können es über System Preferences > Security & PrivacyAbschnitt und Allowdie VirtualBox lösen .

Mesuti
quelle
0

Meine Lösung

Systemeinstellungen -> Datenschutz für die Systemsicherheit -> oracle.xxxx zulassen; Installieren Sie dann die virtualBox neu.

Jerry XU
quelle
0

Das möchte ich erwähnen.

Öffnen Sie VirtualBox und fahren Sie jede laufende VM herunter.

Das Herunterfahren sollte ausgeschaltet sein.

Und wenn Ihre Virtualbox unter Linux im Pfad hinzugefügt wurde (Meine ist Ubuntu). Sie können einfach den Befehl verwenden: virtualbox restart

Newt
quelle
0

Probiere diese:

sudo modprobe vboxnetadp

sudo modprobe vboxnetflt

sudo modprobe vboxdrv

andremtsilva
quelle
Ich bezweifle, dass dies hilft oder überhaupt funktioniert. Um mich anders zu überzeugen, erklären Sie bitte, wie das funktioniert und warum es helfen soll.
Yunnosch
Ich habe virtualbox auf einem anderen Kernel installiert als jetzt (4.19 und jetzt 5.4). Um eine Aktualisierung des gesamten Systems zu vermeiden, habe ich diese Problemumgehung verwendet, um eine bereits vorhandene vboxnet0-Schnittstelle zu aktivieren. Es hat funktioniert und funktioniert immer noch beim Starten von virtualbox.
andremtsilva
Jetzt habe ich gesehen, dass es in diesem Beitrag um Mac Os und nicht um Linux geht. Das tut mir leid.
andremtsilva
Der Punkt ist, dass dies eine ungeklärte Nur-Code-Antwort ist, die unter dem Mangel an tatsächlicher Einsicht und Hilfsbereitschaft leidet. Ihr Kommentar verbessert die Dinge ein wenig, sollte aber in der Antwort selbst bearbeitet werden . Und es ist immer noch keine wirkliche Erklärung. Ich hätte gerne Sätze wie "... weil ...", "... um ...", "..., was ...". Auch einige Hintergründe wie "Wie in der Dokumentation (Link) dies beschrieben ....", "... und lösen dadurch das von OP beschriebene Problem."
Yunnosch
0

Ich kam hierher, arbeitete mit Küchen-CI und hatte Probleme mit Landstreichern. Nach dem (Um-) Verschieben des "~ / .kitchen" -Verzeichnisses war das kitchen convergewieder erfolgreich

eli
quelle
0

Versuchte mehrere Lösungen, aber die folgende Sequenz funktioniert für mich.

Virtuelle Box: 5.2.34 Vagrant: 2.2.5 Mac OSX: 10.14.6

Erlauben Sie zuerst den Zugriff auf oracle inc:

Gehen Sie zu Systemeinstellungen> Sicherheit und Datenschutz. Klicken Sie dann auf die Schaltfläche "Zulassen", damit Oracle (VirtualBox) geladen wird.

Starten Sie dann VBox mit diesem Befehl neu:

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

Versuchen Sie es jetzt noch einmal mit Vagrant.

c.sankhala
quelle