Ich verwende VirtualBox mit OS X als Host und CentOS auf der Gast-VM.
In OS XI erstellte Ordner myfolder
, fügte ihn als freigegebenen Ordner zur VM hinzu, schaltete die VM ein, in CentOS erstellten Ordner /home/user/myfolder
und tippte ein:
sudo mount -t vboxsf myfolder /home/user/myfolder
und haben Ausgabe:
/sbin/mount.vboxsf: mounting failed with the error: No such device
Was mache ich falsch?
AKTUALISIERT:
Guest Additions
Eingerichtet.
macos
centos
virtual-machine
virtualbox
cnaize
quelle
quelle
sudo mount -t vboxsf sf_folder /home/user/folder
, hier diesf_folder
undfolder
muss verschiedene Namen seinshare
in der Antwort auf, um den Permalink zu erhalten.Antworten:
Mein freigegebener Ordner / meine freigegebene Zwischenablage funktionierte aus irgendeinem Grund nicht mehr (wahrscheinlich aufgrund einer Patch-Installation auf meiner virtuellen Maschine).
sudo mount -t vboxsf Shared_Folder ~/SF/
Gab folgendes Ergebnis:
VirtualBox: mount.vboxsf: mounting failed with the error: No such device
Die Lösung für mich war, vboxadd zu stoppen und danach ein Setup durchzuführen:
quelle
/sbin/mount.vboxsf: mounting failed with the error: No such device
. Nachdem ich die oben genannten Schritte ausgeführt und das System neu gestartet hatte, wurden meine freigegebenen Ordner wie vor dem Upgrade angezeigt. Danke!sudo ./vboxadd setup
können Sie dies zuvor tunsudo ./vboxadd stop
. Ich bin mir nicht sicher, ob es noch notwendig ist, aber ich vermute, das ist es, was dieser Satz bedeutet.Sie verwenden Freigabeordner, daher müssen Sie VirtualBox Guest Additions in Ihrer virtuellen Maschine installieren , um diese Funktion zu unterstützen.
Landstreicher
Wenn Sie Vagrant (OS X :) verwenden
brew cask install vagrant
, führen Sie Folgendes aus:Falls dies fehlschlägt, überprüfen Sie die Protokolle, z
Vielleicht fehlen Ihnen nur die Kernel-Header-Dateien.
VM
In VM sollten Sie Guest Additions und Kernel-Header installieren, den Dienst starten und überprüfen, ob die Kernel-Erweiterung ausgeführt wird.
Dies hängt vom Gastbetriebssystem ab. Hier sind kurze Schritte:
Installieren Sie die Kernel-Include-Header (erforderlich für VBoxLinuxAdditions).
sudo apt-get update && sudo apt-get install kernel-devel
sudo yum update && sudo yum -y install kernel-headers kernel-devel
Installieren Sie Guest Additions (dies hängt vom Betriebssystem ab).
Ubuntu:
sudo apt-get -y install dkms build-essential linux-headers-$(uname -r) virtualbox-guest-additions-iso
Wenn Sie es nicht finden können, schauen Sie vorbei
aptitude search virtualbox
.Debian :
sudo apt-get -y install build-essential module-assistant virtualbox-ose-guest-utils
Wenn Sie es nicht finden können, schauen Sie vorbei
dpkg -l | grep virtualbox
.manuell durch Herunterladen der ISO-Datei in VM (z. B.
wget
) und Installieren der Datei , zwget http://download.virtualbox.org/virtualbox/5.0.16/VBoxGuestAdditions_5.0.16.iso -P /tmp
sudo mount -o loop /tmp/VBoxGuestAdditions_5.0.16.iso /mnt
sudo sh -x /mnt/VBoxLinuxAdditions.run # --keep
Zusätzliches Debugging:
cd ~/install && sh -x ./install.sh /mnt/VBoxLinuxAdditions.run
Stellen Sie sicher, dass die Kernel-Erweiterungen aktiv sind:
sudo modprobe vboxsf
Starten / Starten Sie den Dienst neu:
sudo /opt/VBoxGuestAdditions*/init/vboxadd setup
(hinzufügensudo sh -x
zum Debuggen )sudo /etc/init.d/vboxadd-service start
sudo /etc/init.d/vboxdrv setup
sudo service VBoxService start
Erstellen des Hauptmoduls "Guest Additions"
Wenn oben nicht funktioniert hat, finden Sie hier komplexere Schritte, um das Problem zu beheben. Dies setzt voraus, dass Sie bereits VBoxGuestAdditions installiert haben (wie oben gezeigt).
Der häufigste Grund, warum das Mounten eines freigegebenen Ordners nicht funktioniert, hängt möglicherweise mit dem Erstellen des fehlgeschlagenen Guest Additions-Moduls zusammen. Wenn
/var/log/vboxadd-install.log
Sie den folgenden Fehler haben:Dies bedeutet, dass Sie entweder keine Kernelquellen installiert haben oder diese nicht gefunden werden können.
Wenn Sie sie bereits wie oben beschrieben installiert haben, führen Sie diesen Befehl aus:
Grundsätzlich
vboxadd
erwartet das Skript, dass Ihre Kernelquellen unter folgendem Verzeichnis verfügbar sind:Überprüfen Sie, ob das Kernel-Verzeichnis vorhanden ist (symbolischer Link verweist auf den vorhandenen Ordner). Wenn nicht, installieren Sie sie bitte im richtigen Ordner (z. B. in
/usr/src/kernels
. ).So
vboxadd
kann das Skript Ihr Kernel-Quellverzeichnis eingeben und ausführenmake kernelrelease
, den Wert abrufen und mit Ihrer aktuellen Kernel-Version vergleichen.Hier ist die Logik:
Wenn die Kernelversion nicht mit den Quellen übereinstimmt, müssen Sie möglicherweise Ihren Linux-Kernel aktualisieren (falls die Quellen neuer als Ihr Kernel sind).
CentOS
Versuchen:
Wenn dies nicht funktioniert, führen Sie die folgenden manuellen Schritte für CentOS aus:
quelle
vagrant plugin install vagrant-vbguest
vagrant vbguest
funktioniert auch auf centos 7 und hat das problem behoben. Vielen DankIch kann dies beheben, indem ich unter dem Befehl laufe
modprobe -a vboxguest vboxsf vboxvideo
quelle
vboxsf
(VirtualBox Shared Folders) hier benötigt. Sie können diese 3 Dateien eine pro Zeile in einer Datei in/etc/modules-load.d/
auflisten (nennen Sie es vielleichtvirtualbox.conf
), damit diese Änderung durch Neustarts erhalten bleibt.Zusätzlich zu @Mats antworten ich weitere Informationen hinzu (dies hat mir bei Debian 8 geholfen).
Mein freigegebener Ordner / meine freigegebene Zwischenablage funktionierte aus irgendeinem Grund nicht mehr (wahrscheinlich aufgrund einer Patch-Installation auf meiner virtuellen Maschine).
Hat mir folgendes Ergebnis gegeben:
Die Lösung für mich war, vboxadd zu stoppen und danach ein Setup durchzuführen:
Wenn Sie zu diesem Zeitpunkt immer noch den folgenden Fehler erhalten:
Sie müssen Linux-Header installieren:
dann können Sie Guest Additions installieren:
und starten Sie Ihr Linux neu durch:
Dann können Sie Ihren freigegebenen Ordner bereitstellen!
Weitere Informationen (auf Französisch) finden Sie auf dieser Seite .
quelle
apt-get install linux-headers-virtual
half mit Lubuntu 15.04 auf VirtualBoxDies war die einzige Lösung, die für mich funktioniert hat:
Installieren Sie das Vagrant-Plugin: vagrant-vbguest , mit dem Sie Ihre VirtualBox Guest Additions auf dem neuesten Stand halten können.
Quelle: https://github.com/aidanns/vagrant-reload/issues/4#issuecomment-230134083
quelle
Dies wurde gelöst durch:
Problemumgehung finden Sie hier: https://gist.github.com/larsar/1687725
quelle
uname -r
dkmsshare
unter die Antwort)Der freigegebene Ordner funktionierte früher für mich, aber plötzlich funktionierte er nicht mehr (Virualbox - Host war Windows 7, Gast war OpenSuSe)
modprobe -a vboxguest vboxsf vboxvideo
dann
mount -t vboxsf testsf /opt/tsf
(testsf
war der Ordner im Windows C-Laufwerk, der im freigegebenen Virtualbox-Ordner hinzugefügt wurde --- und/opt/tsf
ist der Ordner in OpenSusequelle
Mein Host ist Windows10, mein VM-Gast ist Ubuntu Build von Vagrant. Das hat bei mir funktioniert:
quelle
Ich hatte auch ein funktionierendes System, das plötzlich mit dem beschriebenen Fehler nicht mehr funktionierte.
Nach dem Herumtollen in meinen / lib / Modulen scheint das
vboxvfs
Modul nicht mehr zu sein. Stattdessenmodprobe vboxsf
war die erforderliche Beschwörung, um die Dinge neu zu starten.Ich bin mir nicht sicher, wann diese Änderung eingetreten ist, aber sie hat mich erwischt.
quelle
Ich verwende VirtualBox 5.1.20 und hatte ein ähnliches Problem. Hier ist eine URL, wo ich den Fix gefunden und den Fix implementiert habe:
Der Link hatte etwas Ähnliches wie /usr/lib/VBoxGuestAdditions/other/mount.vboxsf und nicht das, was ich im Skriptauszug habe.
Für ein Build-Skript verwende ich in vagrant für die Ergänzungen:
https://github.com/rburkholder/vagrant/blob/master/scripts/additions.sh
Scheint ein Fix unter https://www.virtualbox.org/ticket/16670 zu sein
quelle
In zwei Szenarien kann es zu Fehlern / falschem Ansatz kommen. Überprüfen Sie beides und finden Sie es heraus.
SZENARIO 1:
Überprüfen Sie nach dem Ausführen von VBoxLinuxAdditions.run oder VBoxSolarisAdditions.pkg oder VBoxWindowsAdditions.exe, ob alle Module ordnungsgemäß installiert wurden.
1.1.a. Im Falle von VBoxLinuxAdditions , wenn
Gebäude der VirtualBox Guest Additions - Kernel - Module fehlgeschlagen wird,
überprüfen Sie die Protokolldatei in /var/log/vboxadd-install.log . Wenn der Fehler auf die Kernelversion zurückzuführen ist, aktualisieren Sie Ihren Kernel und starten Sie die VM neu. Im Falle von Fedora ,
1.1.b. yum Update Kernel *
1.1.c.Neustart
1.2. Wenn nichts fehlschlägt, ist alles in Ordnung. Sie haben bereits die erwartete Kernelversion
SZENARIO 2:
Wenn die VBoxGuestAdditions installiert ist (prüfen Sie, ob ein Ordner / opt / VBoxGuestAdditions- * vorhanden ist .... * die Version darstellt), müssen Sie sie vor dem Mounten starten.
2.1. cd / opt / VBoxGuestAdditions - * / init && ./vboxadd start
Sie müssen die Benutzer-ID und die Gruppen-ID Ihres VM-Benutzers als Optionen für den Mount-Befehl angeben.
2.2.a. Abrufen von UID und GID eines Benutzers:
ID -u <'Benutzer'>
ID -g <'Benutzer'>
2.2.b. Festlegen von uid und gid in den Optionen des Befehls mount:
mount -t vboxsf -o uid = x, gid = x Name des freigegebenen Ordners Gastname
quelle
Die Lösung für mich bestand darin, Gastzugänge zu aktualisieren
(Klicken Sie auf Geräte -> CD-Image für Guest Additions einlegen.)
quelle
Auf einem Mac stellte sich heraus, dass auf meinem Computer ein altes VirtualBox-Image gespeichert war, das keine Metadaten enthielt, sodass es nicht auf die neueste Version aktualisiert wurde.
In diesem alten Image war eine ältere Version des vbguest-Plugins installiert, mit der das neuere vbguest-Plugin auf meinem Computer nicht funktionieren konnte.
Um das Problem zu beheben, habe ich einfach das Image entfernt, auf dem mein Vagrant basiert, und dann hat Vagrant die neuere Version heruntergeladen, und es hat einwandfrei funktioniert.
Sie können herausfinden, welche Boxen Sie auf Ihrem Computer zwischengespeichert haben, indem Sie Folgendes ausführen:
Ich hatte auch mein vbguest-Plugin in meinen früheren Versuchen, dies zum Laufen zu bringen, mithilfe des folgenden Prozesses aktualisiert, aber ich glaube nicht, dass dies geholfen hat. Zu Ihrer Information!
Wenn Sie feststellen, dass das Bringen der Box bei Gastzugaben fehlschlägt, können Sie die folgenden Schritte ausführen, um sicherzustellen, dass die Plugins korrekt installiert werden. Dadurch wird das neueste Image für Ihr System (für mich CentOS) heruntergeladen und möglicherweise das Problem behoben (für mich!).
quelle
Unter Ubuntu funktionierte dies:
quelle
Hatte das gleiche Problem mit VirtualBox 5.0.16 / rXXX
Installierte neueste VirtualBox 5.0.18 und installierte neueste Vagrant 1.9.3, Problem ging toodles.
quelle
Ich habe als Root-Benutzer hinzugefügt
dann
und das Beispielskript
/root/mount-vboxsf.sh
(stellen Sie die Optionen uid und gid selbst ein)Sie müssen hinzufügen
quelle
Ich habe ein ähnliches Problem. Überprüfen Sie den Header, wenn er nicht übereinstimmt. Führen Sie ihn dann unter dem Befehl aus
CentOS: sudo yum update && sudo yum -y install kernel-headers kernel-devel
quelle
Wenn Sie auf Debian sind:
1) Entfernen Sie alle installierten Pakete über die ISO-Datei von Virtualbox Guest Additions:
sh /media/cdrom/VBoxLinuxAdditions.run uninstall
2) Installieren Sie Virtualbox-Pakete:
apt-get install build-essential module-assistant virtualbox-guest-dkms virtualbox-guest-utils
Beachten Sie, dass selbst wenn
modprobe vboxsf
nichts zurückgegeben wird (damit das Modul korrekt geladen ist),vboxsf.so
eine ausführbare Datei mit dem Namen aufgerufen wirdmount.vboxsf
, die von bereitgestellt wirdvirtualbox-guest-utils
. Wenn Sie diese ignorieren, können Sie die wahre Fehlerursache nicht verstehen.strace mount /your-directory
war eine große Hilfe (keine solche Datei oder Verzeichnis auf/sbin/mount.vboxsf
).quelle
Ein Update hat den Trick für mich getan!
quelle
Unten zwei Befehle funktionieren für mich.
quelle
Okay, jedem fehlt eine grundlegende Tatsache.
mkdir /test
- Erstellt ein Unterverzeichnis im aktuellen Verzeichnis.sudo mkdir /test
- Machen Sie ein Verzeichnis in Root.Wenn Ihr freigegebener Verzeichnisname lautet
shared
und Sie Folgendes tun:Es erzeugt diesen Fehler:
Weil das Verzeichnis am falschen Ort ist! Ja, das sagt dieser Fehler. Der Fehler bedeutet nicht, dass die VBOX-Gastoptionen neu geladen werden.
Aber wenn Sie dies tun:
Dann funktioniert es gut.
Es wundert mich wirklich, wie viele Leute vorschlagen, die Vbox-Gastzusätze neu zu laden, um diesen Fehler zu beheben, oder ein komplexes Programm zu schreiben, um ein Verzeichnis zu lösen, das an der falschen Stelle erstellt wurde.
quelle
mkdir /test
erstellt das Verzeichnis / test in /.sudo mkdir /test
erstellt dasselbe Verzeichnis, das jedoch dem Root und nicht dem aktuellen Benutzer gehört.kernel-devel.x86_64 0:2.6.32-754.11.1.el6
diese Befehle installiert und dann ausgeführt -cd /opt/VBoxGuestAdditions-*/init
undsudo ./vboxadd setup
. Das hat bei mir funktioniert.