it-swarm.com.de

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

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?

75
skaz

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 ist.
  • Benutzer in einem Gast-Ubuntu müssen in der Gruppe vboxsf sein, 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 wird möglicherweise auch Folgendes benötigt:

  • Geben Sie keine persönlichen Ordner wie /home/username oder My Documents frei.
  • Vermeiden Sie Sonderzeichen oder Leerzeichen im Pfad zum freigegebenen Ordner, insbesondere wenn der Host oder 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) und dieses als freigegebenen Ordner für Ihren Computer definieren Gastsystem in den Virtual Box-Einstellungen (zB share), erstellen Sie einen Mount-Punkt in Ihrem Gast-Betriebssystem (zB mkdir /home/username/Host) und mounten Sie diesen im Gast-Betriebssystem 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.

89
Takkat

Ich bin auch diesem Problem begegnet. Ich habe festgestellt, dass der freigegebene Ordner bereits in /media/sf_share eingebunden war.

Ich habe versucht, /media/sf_share zu löschen, 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.

15
Old Urologist

Hier ist, was bei mir ohne Probleme funktioniert hat

Ich habe herausgefunden, dass mein user Name 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 (me) mit folgendem Befehl zur Gruppe vboxsf hinzugefügt:

Sudo usermod -a -G vboxsf saurav 

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

Bitte kommentieren Sie, falls noch Probleme auftauchen.

11
Saurav Kumar

Ich hatte auch viel Mühe mit der Montage und habe alles versucht, was ich mir im Interwebz 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 [email protected]:/media$ Sudo mount -t vboxsf share /home/username/folder ein.

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 meines /etc/rc.local für die automatische Bereitstellung beim Start funktioniert bei mir nicht.

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.

: honk: ????

1
Michael Scheper

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/1667 "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 "Kann freigegebene Ordner nicht mit Gastzusätzen 4.3.10 bereitstellen" im Jahr 2014, das im folgenden Monat behoben wurde.

2017-04-27

1
J Cumming

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.

1
Pankaj

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

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

Ich habe gerade VM gestartet, auf Devices -> Insert Guest additions CD image... geklickt 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.

0
Kashyap

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.

0
nicolas

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.

0