Wie mounte ich einen freigegebenen VirtualBox-Ordner? [geschlossen]


58

Wie wird das Mounten eines freigegebenen VirtualBox-Ordners unter Linux durchgeführt?

Ich habe Varianten des folgenden Befehls mount ausprobiert, erhalte aber weiterhin protocol erroroder andere Mount-Fehler.

sudo mount -t vboxsf share /home/toto

Ist das eine Frage? Bitte formulieren Sie es neu, damit es zu einer Frage wird. Veröffentlichen Sie Ihre eigene Antwort, und ich bin mehr als erfreut, die Ablehnung zu entfernen.
Eiswasser

1
Bearbeitet, um den Q & A-Standards zu entsprechen.

Bitte aktualisiere die Frage, was du versucht hast und welchen Fehler du

Bearbeitet, um nicht funktionierende Befehle anzuzeigen. Ein häufiger Fehler ist protocol errorwie in Frage gestellt.

Ich erhalte diesen Fehler jede Lösung für dieses "mount: unknown filesystem type 'vboxsf'"
sandip divekar 20.11.14

Antworten:


111

Ok, das war ein bisschen verwirrend für mich, aber ich habe endlich gemerkt, was passiert ist. Also habe ich beschlossen, meine 2 Cent in der Hoffnung zu geben, dass es für andere klarer wird und wenn ich es irgendwann in der Zukunft vergesse:).

Ich habe nicht den Namen der Freigabe verwendet, die ich in der VM erstellt habe. Stattdessen habe ich share oder vb_share verwendet, als der Name meiner Freigabe geändert wurde, sodass ich eine Minute lang verwirrt war.

Fügen Sie zuerst Ihr Freigabeverzeichnis in die VM-Box ein: Bildbeschreibung hier eingeben

Unabhängig davon, wie Sie Ihre Freigabe hier benennen, müssen Sie diesen Namen für die Bereitstellung im VM-Gastbetriebssystem verwenden. Das heißt, ich nannte mein "wd" für mein Western Digital Passport Drive.

Als nächstes auf dem Betriebssystem guset ein Verzeichnis erstellen, das für Ihren Mount verwendet werden soll, vorzugsweise in Ihrem Home-Verzeichnis.

mkdir share

Öffnen Sie anschließend das Terminal und kopieren und fügen Sie Folgendes ein oder geben Sie es ein. Sie können die freigegebene Zwischenablage unter Gerät-> Freigegebene Zwischenablage-> Bidirektional aktivieren

sudo mount -t vboxsf wd ~/share/

Sie sollten nun in der Lage sein, Dateien zwischen Betriebssystemen zu kopieren, indem Sie den Ordner "share" in Ihrem Home-Verzeichnis verwenden.

Hoffe das hilft!


1
Ich habe ein paar Stunden gebraucht, um zu verstehen, wie ich Dateien vom Guest erhalten kann. Es stellte sich heraus, dass "Freigabename" (aus der offiziellen VBox-Dokumentation) im Befehl "mount" - ein gerechter NAME ist, der in der virtuellen Box Freigegebene Ordner in der ersten Spalte angegeben ist. Großartige Arbeit, du bist mein Held.
zen11625

2
Tolle Antwort, +1 für den Screenshot ... Hiermit wird die Freigabe als Root gemountet, wie auch immer ich glaube. Siehe [die docs] ( forums.virtualbox.org/viewtopic.php?t=15868 ) auf , wie es als Ihr aktuellen Benutzer zB montieren:sudo mount -t vboxsf -o rw,uid=1000,gid=1000 share ~/host
timbrown

@user Wie mache ich dieses Mount beim Booten automatisch?

Wenn Sie Ihre Benutzer-ID nicht kennen, können Sie Variablen verwenden. In diesem Fall wird der Befehl moundsudo mount -t vboxsf -o uid=$UID,gid=$(id -g) wd ~/share

28

Für VirtualBox mit einem Linux-Gast sind dies die Schritte zum Mounten eines freigegebenen Ordners:

  1. Verwenden Sie die VirtualBox-Hostanwendung VirtualBox Manager, um die freizugebenden Hostordner anzugeben.

  2. Stellen Sie sicher, dass VirtualBox-Gastzusätze im VirtualBox-Gast installiert sind.

  3. Auf dem Linux-Gast sollte der Befehl mount eine Zeile anzeigen, in der die Freigabe bereitgestellt wurde. Dies ist durch gekennzeichnet type vboxsf. Das Problem besteht darin, dass der Einhängepunkt möglicherweise nicht an der gewünschten Stelle liegt und die Berechtigungen nur root sind. Der Standardspeicherort für die Bereitstellung ist in /media/sf_.

  4. Sie können auf die Freigabe zugreifen, indem Sie den Benutzer oder die Gruppen-ID zu 1000einem Mitglied der Gruppe machen vboxsf. Dies erfolgt durch Ändern der vboxsfZeile in der /etc/groupDatei. Möglicherweise ist ein Neustart erforderlich.

  5. Mit dem Befehl VBoxControl können Sie ändern, wo der Ordner bereitgestellt wird. Der Befehl wird installiert, wenn Guest Additions installiert wird. Möglicherweise ist ein Neustart erforderlich. Um beispielsweise den Einhängepunkt von zu ändern /media/sf_..., /home/toto/sf_...verwenden Sie den folgenden Befehl, um die Gast-Eigenschaft des freigegebenen VirtualBox-Ordners festzulegen:

sudo VBoxControl guestproperty set / VirtualBox / GuestAdd / SharedFolders / MountDir / home / toto /

Um die Änderung zu bestätigen, verwenden Sie get:

sudo VBoxControl guestproperty get /VirtualBox/GuestAdd/SharedFolders/MountDir

Verweise:

Informationen zu freigegebenen Ordnern in VirtualBox

Informationen zu den Gastgebern von VirtualBox


4
Neues Problem, mit Vbox 4.3.10 ist die Verknüpfung unterbrochen. Überprüfen Sie, ob (ls -l) /sbin/mount.vboxsf vorhanden ist. Wenn dieses Ziel nicht vorhanden ist, muss das Verzeichnis neu zugeordnet werden: sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
ppostma1

4
Um den Benutzer myuser zur Gruppe vboxsf hinzuzufügen, können Sie Folgendes verwenden: sudo adduser myuser vboxsf

VirtualBox 4.3.14 behebt Probleme bei der Installation von Guest Additions für RHEL 7 und CentOS 7. Installieren Sie Guest Additions mit: if-not-true-then-false.com/2010/…

Ich bin auf VirtualBox 4.3.20 unter Windows 8.1. Ich habe Ubuntu in der VM installiert. Ich kann type vboxsfbeim Ausführen des mountBefehls nicht sehen , obwohl ich das Gastmaterial installiert habe! Bitte um Hilfe
J86

20

Bei der Begegnung:

mount: Protocol error

nach dem Versuch, Ordner in VirtualBox freizugeben, zB:

$ sudo mount -o uid=1000,gid=1000 -t vboxsf D_DRIVE ~/host

das hat endlich bei mir geklappt:

$ sudo apt-get install virtualbox-guest-dkms

(Mein Setup: Windows 7 Host, Gäste: Ubuntu 12.04.13.10.14.04; derzeit läuft VBox 4.3.10 r93012)


5

Installieren Sie Virtual Box-Ergänzungen auf dem Gastbetriebssystem. Fahren Sie dann das Gastbetriebssystem herunter. Öffne die guestos Einstellungen in der virtuellen Box. Fügen Sie dann einen freigegebenen Ordner hinzu und speichern Sie die Einstellungen. Starten Sie dann das Gast-Betriebssystem und geben Sie für Ubuntu den folgenden Befehl ein. Der aktuelle Benutzer wird zur vboxsf-Gruppe hinzugefügt.

sudo adduser $ USER vboxsf

Starten Sie das Gastbetriebssystem neu und navigieren Sie zu / media /, um auf den freigegebenen Ordner zuzugreifen.


sudo adduser funktioniert bei mir nicht Ich füge hinzu "sudo usermod -a -G vboxsf myUser" zu verwenden und es funktioniert. Vielen Dank
Alex

1
Ja, das hat gefehlt: sudo adduser $ USER vboxsf Jetzt funktioniert es :-)

3

Wenn Sie in einem Linux- oder Mac OS X-VirtualBox-Gast die VirtualBox-Gastzusätze installiert haben, können Sie die verfügbaren freigegebenen VirtualBox-Ordner mit folgendem Befehl ermitteln:

sudo  VBoxControl  sharedfolder  list

Wenn Ihr privater Ordner in Ihrem Gast Ordner mit demselben Namen wie die freigegebenen VirtualBox-Ordner enthält, können Sie diese automatisch mit folgendem Shell-Skript bereitstellen:

#!/bin/sh
#-----------------------------------------------------------------------------
# Discover VirtualBox shared folders and mount them if it makes sense
#-----------------------------------------------------------------------------

if  !  type  VBoxControl  > /dev/null;  then
  echo  'VirtualBox Guest Additions NOT found'  > /dev/stderr
  exit 1
fi

MY_UID="$(id -u)"
MY_GID="$(id -g)"

( set -x;  sudo  VBoxControl  sharedfolder  list; )  |  \
grep      '^ *[0-9][0-9]* *- *'                      |  \
sed  -e 's/^ *[0-9][0-9]* *- *//'                    |  \
while  read  SHARED_FOLDER
do
  MOUNT_POINT="$HOME/$SHARED_FOLDER"
  if  [ -d "$MOUNT_POINT" ];  then
    MOUNTED="$(mount  |  grep  "$MOUNT_POINT")"
    if  [ "$MOUNTED" ];  then
      echo  "Already mounted :  $MOUNTED"
    else
      (
        set -x
        sudo  mount  -t vboxsf  -o "nosuid,uid=$MY_UID,gid=$MY_GID"  "$SHARED_FOLDER"  "$MOUNT_POINT"
      )
    fi
  fi
done

1

Wenn Sie den folgenden Fehler erhalten: /sbin/mount.vboxsf: Mounten fehlgeschlagen mit dem Fehler: Protokollfehler

Leider bedeutet dies, dass Sie den Standardfreigabenamen oder den Freigabenamen des Hosts verwenden, der mit dem Namen der gemounteten Gastfreigabe identisch ist. In diesem Fall ist es "Teilen". Erstellen Sie einfach einen anderen Freigabeordner, dh "vb_share", und führen Sie dann einfach Folgendes aus:

Hängen Sie -t vboxsf vb_share / home / <Benutzer> / host ein


1
  • Installieren Sie Vbox Additions (ISO-Datei oder Download dann)
  • Erstellen Sie ein Verzeichnis mit einem beliebigen Namen in den beiden Systemen ( mkdir sharezum Beispiel)
  • verbinde mit der "VBox shared folders" den freigegebenen ordner im ursprünglichen sys
  • Verwenden Sie den Befehl, um Ihren Ordner zu verbinden:
    sudo mount -t vboxsf name_of_folder_linked ~/name_of_folder_guest/

0

Setup: VirtualBox 4.3.26, Win 7 SP1-Host, Debian Jessie 8.0 (stabiler) Gast.

Wählen Sie in VirtualBox Manager im Dropdown-Menü Geräte die Option Einstellungen für freigegebene Ordner .

Wählen Sie im daraufhin angezeigten Popup-Fenster Computerordner in der Ordnerliste aus und klicken Sie auf die Schaltfläche "Neue Definition eines freigegebenen Ordners hinzufügen" (der blaue Ordner mit dem grünen "+" Symbol rechts neben der Ordnerliste ).

In der daraus resultierenden hinzufügen Teilen Popup-Formular, klicken Sie auf den Abwärtspfeil im Ordnerpfad Feld, und wählen Sie dann Andere . Ein Popup-Fenster zum Suchen nach Ordnern wird angezeigt.

(In meinem Fall hatte ich gerade eine weitere Festplatte zu meiner Workstation hinzugefügt, um sie für eine dedizierte Freigabe zu verwenden, die bereits für NTFS formatiert und mit dem Datenträgernamen "share" versehen und als "G:" bereitgestellt wurde. Also klickte ich auf den Pfeil Wählen Sie neben Computer das Laufwerk G aus und klicken Sie dann auf die Schaltfläche OK .)

(In Ihrem Fall sollten Sie den Ordner oder das Laufwerk auswählen, den bzw. das Sie freigeben möchten, und dann auf die Schaltfläche OK klicken .)

Wenn Sie Ihre Auswahl getroffen und auf die Schaltfläche OK geklickt haben , füllt VirtualBox Manager die Felder Ordnerpfad und Ordnername des Formulars Freigabe hinzufügen aus. Lassen Sie das Feld Ordnerpfad in Ruhe, aber Sie können den Ordnernamen ändern, wenn Sie möchten. Denken Sie daran, ihn später zu speichern.

Schließen Sie das Formular " Freigabe hinzufügen" ab , indem Sie das Kontrollkästchen " Permanent machen" aktivieren. Lassen Sie jedoch das Kontrollkästchen "Automatisch einhängen " deaktiviert - wir kümmern uns später um das Einhängen. (Wenn Sie den Ordner oder das Laufwerk schreibgeschützt machen möchten, aktivieren Sie das Kontrollkästchen Schreibgeschützt .) Klicken Sie anschließend auf die Schaltfläche OK .

Die neu konfigurierte Freigabe sollte nun als Eintrag unter Computerordner in der Ordnerliste angezeigt werden . Klicken Sie auf die Schaltfläche OK .

Um diese Freigabe während des Bootens (Starts) zu mounten, müssen wir in unserer Debian-Jessie-Gastinstallation eine Mount-Definitionszeile zu / etc / fstab hinzufügen. Diese Bearbeitung muss entweder als root oder über sudo erfolgen, zum Beispiel:

sudo nano /etc/fstab

(Ich persönlich habe vi verwendet, aber da nano der Standardeditor unter Debian jessie ist, habe ich ihn im obigen Beispiel angegeben.)

Um diese Freigabe in meinem Home-Verzeichnis bereitzustellen, dessen Eigentümer und Gruppe auf meine persönliche UID und GID festgelegt sind, habe ich / etc / fstab die folgende Definition hinzugefügt:

share /home/conib/share vboxsf comment=systemd.automount,uid=conib,gid=conib,noauto 0 0

(Beachten Sie, dass die Zeichen "=", "." Oder "," keine Leerzeichen enthalten.)

Eine / etc / fstab-Definition befindet sich im Formular

<Device> <Mount Point> <Type> <Options> <Dump> <Pass>

(Beachten Sie, dass zwischen den Feldern der Definition ein Leerzeichen (Leerzeichen und / oder Tabulatoren), innerhalb eines Feldes jedoch kein Leerzeichen stehen sollte.)

Das Feld "Gerät" sollte auf den Ordnernamen eingestellt sein, den wir über VirtualBox Manager Add Share angegeben haben . Ich hatte die Standardeinstellung "G_DRIVE" in "Teilen" geändert.

Der "Mount Point" ist eine Verzeichnispfadangabe, die bereits vorhanden sein muss, aber leer sein sollte. (Das heißt, alles, was bereits in diesem Verzeichnis vorhanden ist, wird durch das, was Sie darauf einhängen, ausgeblendet.) Ich habe in meinem Ausgangsverzeichnis ein neues, leeres Unterverzeichnis mit dem Namen "share" erstellt.

Der "Typ" ist "vboxsf".

Die "Optionen" (comment = systemd.automount, uid = conib, gid = conib, noauto) waren das heikle Stück und machten sich ein bisschen Mühe, um mit diesem Setup zu arbeiten.

Setzen Sie "Dump" auf 0, es sei denn, Sie möchten, dass es auf etwas anderes gesetzt wird.

Und da wir nicht wollen, dass fsck diese Freigabe überprüft, setzen Sie "Pass" ebenfalls auf 0.

Wenn Sie die Definitionszeile zu / etc / fstab hinzugefügt haben, starten Sie Ihren Debian-Gast neu und vergewissern Sie sich, dass Sie die Dateien und Unterordner Ihrer Freigabe sehen können.

HTH.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.