Fehler beim Mounten der freigegebenen VirtualBox-Ordner in einem Ubuntu-Gast

77

Ich habe Ubuntu 10 als Gastbetriebssystem auf einem Windows 7-Computer. Ich habe versucht, Freigaben über VirtualBox einzurichten, aber es funktioniert nichts. Zuerst erstelle ich die Freigabe in VirtualBox und zeige sie auf einen Windows-Ordner. Dann versuche ich, das Laufwerk in Linux zu mounten, aber ich bekomme weiter

/sbin/mount.vboxsf: Mounten fehlgeschlagen mit dem Fehler: Protokollfehler

Ich habe so viele Lösungen dafür gelesen, aber keine scheint zu funktionieren. Ich habe versucht:

  • Verwenden der Syntax mount.vboxsf
  • Neuinstallieren von VBox-Ergänzungen
  • Neustart
  • Aktivieren und versuchen Sie es als Root-Konto

Ich habe eine Freigabe mit dem Namen "Test" in freigegebenen VBox-Ordnern erstellt. Dann habe ich in Ubuntu ein Verzeichnis mit dem Namen "test2" erstellt. Dann habe ich versucht, diesen Befehl auszuführen:

sudo mount -t vboxsf Test / mnt / test2

Irgendwelche anderen Ideen?

Skaz
quelle

Antworten:

90

Um die Funktionalität für freigegebene Ordner nutzen zu können, müssen einige Voraussetzungen erfüllt sein:

  • Stellen Sie sicher, dass Guest Additions ordnungsgemäß auf dem Gastbetriebssystem installiert sind.
  • Benutzer in einem Gast-Ubuntu müssen Mitglied der Gruppe sein vboxsf, um auf Freigaben zugreifen zu können.
  • Definieren Sie im Einstellungsdialog von Virtual Box ein Verzeichnis auf dem Host, das in der virtuellen Maschine verwendet werden soll.

Abhängig vom Host- oder Gastbetriebssystem kann auch Folgendes erforderlich sein:

  • Geben Sie keine persönlichen Ordner wie /home/usernameoder freiMy Documents
  • Vermeiden Sie Sonderzeichen oder Leerzeichen im Pfad zum freigegebenen Ordner, insbesondere wenn der Host oder die VM ein Windows-Computer ist
  • Verwenden Sie unterschiedliche Namen für Freigabe und Einhängepunkt
  • Erstellen Sie einen Mountpoint auf dem Gastbetriebssystem (am besten in Ihrem HOME-Verzeichnis).

Zum Testen der Funktionalität von freigegebenen Ordnern können Sie ein freigegebenes Verzeichnis auf dem Host erstellen (z. B. C:\myshare), dieses in den Virtual Box-Einstellungen als freigegebenen Ordner für Ihr Gastsystem definieren (z. B. share), einen Bereitstellungspunkt in Ihrem Gastbetriebssystem erstellen (z. B. mkdir /home/username/host) und bereitstellen Dies im Gastbetriebssystem mit dem Befehl:

sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/username/host

Dabei stellt die Option -o sicher, dass Sie Zugriff auf den Mount haben (der ansonsten im Besitz von root ist).

Weitere Informationen zu freigegebenen Ordnern finden Sie auch im Virtual Box-Benutzerhandbuch .

Dateien oder Verzeichnisse können auch über das Netzwerk freigegeben werden, indem Samba auf dem Host und dem Gast verwendet wird.

Takkat
quelle
4
Ich glaube, ich habe alle diese Anforderungen erfüllt, bekomme aber immer noch den Fehler. Gibt es eine Möglichkeit, das Problem zu diagnostizieren?
Skaz
1
Nicht auf der Zeichenfolgenliteralebene, aber meine Freigabe ist C: \ test anstelle von C: \ myshare. Sie ist in VBox 4.0.4 definiert. Ich habe einen Ordner in / home / [meinbenutzername] / test2 und einen Ordner in / mnt / test2 erstellt und den Befehl genau für diese beiden Ordner ausgeführt. Beide geben denselben Fehler zurück.
Skaz
1
Danke für Ihre Hilfe! Mir war nicht klar, dass die Wörter "test" und "Test2" den gleichen Namen tragen. Dies löste das Problem!
Skaz
2
Für 'share' hatte ich dummerweise sf_ [Freigabename] verwendet, da ich sah, dass es unter / media / mit diesem Namen gemountet wurde und davon ausging, dass es den ubuntu-lokalen Namen und nicht den eigenen Namen der VBox benötigen würde. Ich habe jedoch das Präfix 'sf_' entfernt und damit das Problem behoben.
Astravagrant
1
@MichaelScheper Dies sind nur Empfehlungen - wenn es für Sie funktioniert, ist alles in Ordnung.
Takkat
15

Ich bin auch diesem Problem begegnet. Ich stellte fest, dass der freigegebene Ordner bereits bei eingehängt war /media/sf_share.

Ich habe versucht zu löschen /media/sf_share, aber ich konnte nicht.

Also habe ich den freigegebenen Ordner "share" in meinem Home-Verzeichnis gelöscht.

$ rm -r ~/share

Wechseln Sie dann auf folgende Weise zum Root-Benutzer:

$ sudo -i

Erstellen Sie einen Softlink / eine Verknüpfung zum Ordner / media / sf_share, dessen Eigentümer der Root-Benutzer ist, und ändern Sie den Eigentümer des Softlinks mit dem Befehl chown. Beenden Sie vom Root-Benutzer zum normalen Benutzer

# ln -s /media/sf_share /home/username/share
# chown username.username /home/username/share
# exit
logout

$ chmod 777 ~/share

Sie können die Dateien in Windows über den freigegebenen Ordner anzeigen. Und der Benutzername muss ein Mitglied der Gruppe vboxsf sein.

Alter Urologe
quelle
Vielen Dank ! du hattest recht ... bereits eingehängt in / media / sf_sharename
Laurent
1
Unter CentOS 7 und fand ich auch, dass mein Verzeichnis an eingehängt ist media/sf_sharename. Das Erstellen eines Symlinks zu diesem Verzeichnis scheint eine mögliche Option zu sein, unterscheidet sich jedoch erheblich von der auf der VirtualBox-Site angegebenen / dokumentierten Vorgehensweise. Hierfür muss es eine angemessene Lösung geben!?!?
Cartbeforehorse
11

Hier ist, was für mich ohne Probleme gearbeitet hat

Ich habe herausgefunden, dass mein userName eigentlich nicht in der vboxsf- Gruppe war. Mit den folgenden zwei Befehlen können Sie die Gruppeninformationen abrufen:

grep "vboxsf" /etc/group    
grep "saurav" /etc/group

Also habe ich saurav(mich) mit folgendem Befehl zur vboxsf- Gruppe hinzugefügt :

sudo usermod -a -G vboxsf saurav 

Dann die Virtualbox neu gestartet und dann .. von meinem Platz gesprungen ..: D: D Alles hat problemlos funktioniert.

Bitte kommentieren Sie, falls noch Probleme auftreten.

Saurav Kumar
quelle
2
Das hat bei mir funktioniert, danke. Es gibt nur einen Typ: sollte sein sudo usermod -a -G vboxsf saurav(erste Gruppe dann Benutzer).
user673592
Ja .. falsch getippt .. :) Danke für den Hinweis. Bearbeitet jetzt ..
Saurav Kumar
1
Sie müssen VB nicht neu starten, um Ihre neu zugewiesene Gruppe zu erhalten. $ su - saurav erledigt den Trick.
Stephen Boston
2

Ich hatte auch viel Mühe mit der Montage und habe alles versucht, was ich mir im Interweb ausgedacht habe, aber ich fand endlich eine sehr seltsame Lösung, um das Problem zu lösen! Mein Gast ist Ubuntu 13 und mein Host ist Windows 7.

Wechseln Sie in den Medienordner und geben Sie von dort aus user@os:/media$ sudo mount -t vboxsf share /home/username/folder

Ja, das ist es. Aber ich verstehe nicht, warum es nur funktioniert, wenn es aus dem Medienordner gemacht wird. Wenn jemand weiß, bitte erklären Sie uns unten. Vielen Dank.

Ps Das Bearbeiten von my /etc/rc.localfür die automatische Bereitstellung beim Start funktioniert bei mir nicht.

BringBackCommodore64
quelle
1
/etc/rc.local wird niemals funktionieren, da dies getan wird, bevor das Netzwerk aktiv ist.
Braiam
2
Hallo Braiam! Gut zu wissen. Leider habe ich auf unzähligen Seiten gelesen, dass Leute empfehlen, das /etc/rc.local für das automatische Einbinden zu bearbeiten. Wissen Sie, wie Sie es beim Start automatisch aktivieren können? Vielen Dank.
BringBackCommodore64
Ich finde auch, dass es nur von / media funktioniert. Sehr eigenartig. Habe ich nur noch diese auf meine .profile: pushd media && sudo mount /media/<theshare> && popd.
Matt Greer
1

Mit VirtualBox 5.1.20 unter Windows 10 und Ubuntu 16.04 als Gastbetriebssystem mit GuestAdditions 5.1.20 konnte ich die freigegebenen Ordner nicht über die Befehlszeile bereitstellen. Die Mount-Befehle sind fehlgeschlagen, mit Erwähnungen von Protocol Error und sf_read_super_aux err = -22.

Schließlich fand ich https://www.virtualbox.org/ticket/16670 "mount.vboxsf symlink broken". Ich habe dort eine der Problemumgehungen befolgt, um den Symlink für mount.vboxsf zu korrigieren, und alles hat funktioniert. Mein Ansatz war zu tun:

mv /sbin/mount.vboxsf /sbin/mount.vboxsf-orig
ln -s /opt/VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf

Die Befehle müssen von root ausgeführt werden. Da es sich also um Ubuntu handelte, habe ich am Anfang jeder Zeile "sudo" hinzugefügt, um den Befehl als root auszuführen. Andere Linux-Varianten haben andere Möglichkeiten, dies zu tun.

Abgesehen davon gab es ein ähnliches Symlink-Problem im Ticket # 12879 von virtualbox "Freigegebene Ordner können nicht mit Gastzusätzen 4.3.10 gemountet werden", das im folgenden Monat behoben wurde.

2017-04-27

J Cumming
quelle
@ Duncan: Guter Punkt. Der Titel des Tickets beschreibt das Problem, aber ich habe es bearbeitet, um die von mir verwendete Lösung anzuzeigen.
J Cumming
Das Changelog für die virtuelle Box v5.1.22 unter virtualbox.org/wiki/Changelog#v22 besagt, dass
J Cumming
Das am 28.04.2017 veröffentlichte Changelog für Virtual Box v5.1.22 ( virtualbox.org/wiki/Changelog#v22 ) besagt, dass dieser Bug / Ticket # 16670 behoben ist. Ich bin aufgeregt!
J Cumming
Nicht sicher , warum wurde diese Downvoted, aber es half mir mit meinen Problemen mit Vbox 5.122
qodeninja
1

Für mich bestand das Problem darin, dass ich eine Gans war und vergessen hatte, dass ich den Eintrag aus meiner Liste der freigegebenen Ordner in VirtualBox (Computer → Einstellungen → Freigegebene Ordner) entfernt hatte.

Ich werfe das hier nur rein, falls jemand anders jemals durch einen "Protokollfehler" in die Irre geführt wird.

: hupen: 😉

Michael Scheper
quelle
1

Versuchte alles zuvor Genannte und nichts funktionierte für mich. In letzter Zeit habe ich einen neuen temporären Ordner "Shared" erstellt, bei dem "Make Permanent" und "Auto Mount" aktiviert sind. Führen Sie dann den Befehl aus

sudo mount -t vboxsf -o uid=1000,gid=1000 Shared /mnt/sharedvm

Es hat bei mir funktioniert. Kein Fehler dieses Mal.

Pankaj
quelle
0

Mein freigegebener Ordner funktionierte und nach dem Neustart meines Hosts war dies nicht der Fall.

Durch Ändern des Namens des freigegebenen Ordners von Shared in Shared2 hat es funktioniert.

config.vm.synced_folder "/Users/username/Dropbox/Shared", "/Shared2"

Keine Ahnung, was passiert ist und warum noch wie man es repariert. Systeme ohne global veränderlichen Status wie Nix haben einen Punkt.

nicolas
quelle
0

Persönlich habe ich die gleiche Fehlermeldung erhalten und das Problem hing damit zusammen, dass ich einen Tippfehler in Bezug auf den Ordner auf dem Hostcomputer gemacht habe, den ich dank der Gastzugaben in der virtuellen Maschine als freigegebenen Ordner festgelegt habe.

Der richtige Befehl lautet also:

sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) shared_folder_located_in_host_machine path_to_mounting_folder_inside_the_virtual_machine

Dies behebt die Fehlermeldung.

Billal Begueradj
quelle
0

Für mich war es die falsche Version von Gast-Ergänzungen.

Ich habe meine gesamte VM mit VirtualBox 6.0 von einem Laptop (auf dem VirtualBox 5.8 / irgendetwas lief) auf einen anderen Laptop verschoben. Alles funktionierte außer dem Mounten eines freigegebenen Ordners.

Ich habe gerade VM gestartet, auf geklickt Devices -> Insert Guest additions CD image...und die Anweisungen befolgt. Es wurde ein wenig über das Vorhandensein älterer Versionen von Gast-Ergänzungen gebremst, aber dann entfernt und die neue Version im zweiten Versuch installiert. Neustart und funktioniert.

Kashyap
quelle