Vagrant konnte keine freigegebenen VirtualBox-Ordner bereitstellen

78

Aktuelles Setup: Virtualbox 5.1.20 mit Vagrant 1.9.3

Vorheriges Arbeits-Setup: Virtualbox 5.1.18 mit Vagrant 1.9.3

Ich habe die neueste Version von Virtualbox installiert und versucht, meine VM zu starten. Die Ordnermontage funktioniert nicht mehr. Die gleiche Ordnermontage funktioniert in Virtualbox 5.1.18 einwandfrei . Ich erhalte die folgende Fehlermeldung:

Vagrant konnte keine freigegebenen VirtualBox-Ordner bereitstellen. Dies liegt normalerweise daran, dass das Dateisystem "vboxsf" nicht verfügbar ist. Dieses Dateisystem wird über das VirtualBox Guest Additions- und Kernel-Modul zur Verfügung gestellt. Stellen Sie sicher, dass diese Gastzugaben ordnungsgemäß im Gast installiert sind. Dies ist kein Fehler in Vagrant und wird normalerweise durch eine fehlerhafte Vagrant-Box verursacht. Für den Kontext lautete der versuchte Befehl:

 mount -t vboxsf -o uid=1000,gid=1000 keys /keys 

Die vom Befehl ausgegebene Fehlermeldung war:

mount: wrong fs type, bad option, bad superblock on keys,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try dmesg | tail or so.

Ich habe versucht, das vagrant-vbguestPlugin (via vagrant plugin install vagrant-vbguest) manuell zu installieren , aber das hat nichts behoben. Ein Downgrade auf 5.1.18 behebt das Problem, ist jedoch in Zukunft nicht ideal.

Wie kann ich die Ordnermontage mit Virtualbox 5.1.20 und Vagrant 1.9.3 zum Laufen bringen ?

Edwardmlyte
quelle
Dies kann auch passieren, wenn auf Ihrem Host eine alte Box zwischengespeichert ist, die die Version des vbguest-Plugins, das Sie auf Ihrem Computer installiert haben, nicht unterstützt. Weitere Details hier
Brad Parks

Antworten:

137

Aktualisieren

In VirtualBox 5.1.22 behoben.

( https://www.virtualbox.org/ticket/16670 )

Ursprüngliche Antwort

In meinem Fall war ein Symlink innerhalb der VM falsch. Melden Sie sich bei der VM an:

$ vagrant ssh

Dann:

$ ls -lh /sbin/mount.vboxsf 
lrwxrwxrwx 1 root root 49 Apr 19 14:05 /sbin/mount.vboxsf -> /opt/VBoxGuestAdditions-5.1.20/other/mount.vboxsf

Dieser Link ist defekt. Wenn Sie in /opt/VBoxGuestAdditions-5.1.20/ schauen, sehen Sie, dass der Unterordner "other" nicht existiert. Diese Zeile behebt Folgendes:

$ sudo ln -sf /opt/VBoxGuestAdditions-*/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf

Melden Sie sich jetzt von der VM ab:

$ exit

Und prüfen Sie, ob es für Sie funktioniert:

$ vagrant reload

Aber ich kann den Link nicht reparieren, weil /sbin/mount.vboxsf nicht in meiner Box existiert!

Wenn der Link /sbin/mount.vboxsf überhaupt nicht vorhanden ist, konnten die VBoxGuestAdditions nicht installiert werden. Dies kann passieren, wenn Sie das passende VirtualBox-Erweiterungspaket nach dem Update von VirtualBox nicht heruntergeladen haben (Version 5.2.18 und höher sollte es bei Virtualbox-Updates automatisch herunterladen). Sie können das jetzt tun:

  • Halten Sie alle laufenden VMs an.
  • Öffnen Sie das VirtualBox-Programm.
  • Starten Sie den Download des VirtualBox Extension Pack und installieren Sie es.
  • Wenn Sie nicht gefragt werden, ob Sie das VirtualBox Extension Pack herunterladen möchten, öffnen Sie -> Datei -> Nach Updates suchen, um den Download-Dialog auszulösen.

Wenn es kein Update für die VirtualBox-Erweiterung gab, können die VBoxGuestAdditions möglicherweise nicht installiert werden, da das Installationsprogramm eine Meldung anzeigt und das Vagrant-Plugin vbguest keine Antwort anfordern kann (dies ist in vbguest v0.15.0 "behoben" ). Sie können das in der Ausgabe von "vagrant up" sehen. Es sollte eine ähnliche Zeile geben:

Do you wish to continue? [yes or no]

In diesem Fall können Sie das Installationsprogramm manuell ausführen. Starten Sie dazu die Box:

$ vagrant up

Starten Sie dann vbguest, um die Installation erneut zu versuchen, lassen Sie jedoch die VBoxGuestAdditions-ISO danach gemountet:

$ vagrant vbguest --do install --no-cleanup

Loggen Sie sich in das Feld ein:

$ vagrant ssh

Führen Sie das Installationsprogramm manuell aus:

$ sudo /mnt/VBoxLinuxAdditions.run

Eine letzte Hoffnung: DIY!

Wenn nichts davon funktioniert hat, versuchen Sie, die Gastzusätze manuell zu installieren:

cd /opt
sudo wget -c http://download.virtualbox.org/virtualbox/5.1.28/VBoxGuestAdditions_5.1.28.iso -O VBoxGuestAdditions_5.1.28.iso
sudo mount VBoxGuestAdditions_5.1.28.iso -o loop /mnt
sudo sh /mnt/VBoxLinuxAdditions.run
Daviz
quelle
8
Als FYI, hier ist das Ticket, das die Behebung dieses Fehlers virtualbox.org/ticket/16670
edwardmlyte
1
Dies scheint eine vorübergehende Lösung zu sein. Ich habe den Fehler wieder nachvagrant reload
Frank Henard
6
Nach dem erneuten Auftreten habe ich auf 5.1.18 herabgestuft - Problem gelöst;)
Frank Henard
2
habe das gleiche Problem für VirtualBox 5.1.22 r115126 und Vagrant 1.9.7
Alexiuscrow
2
Ich habe das gleiche Problem mit 5.1.26
Kirill
46

Die Installation des vbguest-Plugins funktionierte in meinem Fall mit VirtualBox 5.2.6 und Vagrant 2.0.1:

vagrant plugin install vagrant-vbguest

Miguel Angel Mendoza
quelle
1
Danke das hat funktioniert! VirtualBox 5.2.6& Vagrant 2.0.2gibt GuestAdditions 5.2.6 running --- OK.jetzt
Baikho
Diese Frage betraf eine bestimmte Version von virtualbox und vagrant und stellte bereits fest, dass das vagrant-vbguestPlugin für diese bestimmten Versionen nicht funktionierte.
Edwardmlyte
2
Sollte die beste Antwort sein.
Abdennour TOUMI
Es funktioniert bei mir mit virtualbox 5.2.8& vagrant 2.0.2. GuestAdditions 5.2.8Eingerichtet.
Max Peng
Dies funktionierte auch für mich - interessanterweise hatte ich bereits GuestAdditions installiert, aber nach dem Upgrade von Vagrant v1.8 auf v2.0 und VirtualBox von 5.1 auf 5.2 wurde der Mount-Fehler angezeigt. AUCH danach vagrant plugin update. Die Neuinstallation des Plugins auf diese Weise hat es für mich behoben.
Scott Byers
4

Das hat bei mir funktioniert ... führen Sie Folgendes aus:

vagrant plugin repair

Dann

vagrant plugin expunge --reinstall

Dann

vagrant reload
Raffi
quelle
1
Vorsicht mit diesem. Es kann Ihre Box und Ihre vagabundierende Installation beschädigen.
Stuart Cusack
Dies ist perfekt. Ich habe keine Ahnung, warum das funktioniert, aber es funktioniert und ich liebe dich sehr für deine Antwort !!!!!
Swift
3

Für mich haben die folgenden Befehle gefolgt von einem Neustart des Gastsystems geholfen:

cd /opt/VBoxGuestAdditions-*/init  
sudo ./vboxadd setup

Ich habe hier die Lösung gefunden . In diesem Beitrag müssen Sie vboxadd stoppen, bevor Sie die Befehle auslösen (ich habe dies nicht getan, da ich nicht weiß, was vboxadd ist).

Siddhartino
quelle
Dies war das einzige, was für mich funktioniert hat. Danke
Andre Nickatina
3

Für mich wurde das Problem unter folgenden Bedingungen behoben:

Umgebung:

  • VirtualBox Version 6.0.4r128413
  • Vagrant Version 2.2.3

Schritte:

Wechseln Sie über das Terminal oder die Befehlszeile ( cd) in Ihr Projektverzeichnis und führen Sie die folgenden Befehle aus:

  1. vagrant plugin install vagrant-vbguest um das Vagrant VB Guest Plugin zu installieren

  2. vagrant up

Wenn Sie eine Fehlermeldung erhalten, dass Sie vboxsfnicht verfügbar sind. Dann sind Ihre VirtualBox Guest Additions möglicherweise nicht richtig installiert. Hoffentlich beheben die folgenden Befehle Ihr Problem.

vagrant ssh
sudo yum -y install kernel-devel
sudo yum update -y
exit
vagrant halt
vagrant up --provision
Arif I.
quelle
1

Typ: "nfs" aus homestead.yaml wurde entfernt und für mich behoben. Gewinnen Sie 10, Vagrant 1.9.7, Laravel 5.4, Homestead.

Jewgenij Afanasjew
quelle
Die Frage bezieht sich auf eine andere Version von Vagrant und funktioniert nicht mit einer bestimmten Version von Virtualbox.
Edwardmlyte
1
Hat es auch für mich gelöst .. :)
winkbrace
Bitte beachten Sie, Typ zu entfernen: "nfs" ist eine schlechte Idee, Sie werden Geschwindigkeitsprobleme haben, die Details sind hier: stackoverflow.com/questions/50614748/…
Yevgeniy
0

Für diejenigen, die hier mit fast dem gleichen Problem wie ich landen, ist unten die Lösung

TLDR

  • VirtualBox-Gast schlägt fehl wegen system is currently not set up to build kernel modules
  • Lösung ist deinstallieren kernel-headers.x86_64 0:3.10.0-862.9.1.el7
  • Dann installieren kernel-devel-3.10.0-327.el7.x86_64

Lösung

  1. vagrant ssh

  2. sudo rpm -e kernel-devel-3.10.0-862.9.1.el7.x86_64

  3. sudo wget ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/7.0/x86_64/updates/security/kernel-devel-3.10.0-327.el7.x86_64.rpm //Laden Sie die Datei herunter

  4. sudo rpm -Uvh kernel-devel-3.10.0-327.el7.x86_64.rpm // Verwenden Sie die in Schritt 3 heruntergeladene Datei

  5. exit

  6. vagrant reload

Details: Problem

  1. Haben vagrant bis aber nicht mit ähnlichen Fehler außer

Die vom Befehl ausgegebene Fehlermeldung war:

/sbin/mount.vboxsf: Das Mounten ist mit dem Fehler fehlgeschlagen: Kein solches Gerät

  1. Lesen Sie die Protokolle weiter und ich bemerke unten Schlüsselwörter

Installieren von Virtualbox Guest Additions 5.2.16 - Die Gastversion ist 5.1.10

Bei der Installation von VirtualBox Guest Additions ist ein Fehler aufgetreten

Dieses System ist derzeit nicht zum Erstellen von Kernelmodulen eingerichtet.

Bitte installieren Sie die "Header" -Dateien des Linux-Kernels, die dem aktuellen Kernel entsprechen

Pakete, die die Header enthalten, sind wahrscheinlich: kernel-devel kernel-devel-3.10.0-327.el7.x86_64

  1. Lesen Sie die Protokolle weiter

Paket kernel-headers.x86_64 0: 3.10.0-862.9.1.el7 wird installiert

Kein Paket kernel-devel-3.10.0-327.el7.x86_64 verfügbar.

  1. Mein Gast ist ich Notwendigkeit kernel-devel-3.10.0-327.el7.x86_64zu Werke

Details: Meine Umgebung

  • Bento / Centos-7.2
  • vagabundierende Version: 2.0.4
  • Virtual Box-Version: 5.2.16

Quellen

Asip Asipo
quelle