it-swarm.com.de

Wie kann ich einen freigegebenen VirtualBox-Ordner bereitstellen?

Wie wird ein freigegebener VirtualBox-Ordner unter Linux bereitgestellt?

Ich habe Variationen des folgenden Mount-Befehls ausprobiert, erhalte aber immer wieder protocol error oder andere Mount-Fehler.

Sudo mount -t vboxsf share /home/toto
58
BSalita

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

  1. Verwenden Sie die VirtualBox Manager-Anwendung des VirtualBox-Hosts, um die freizugebenden Hostordner anzugeben.

  2. Stellen Sie sicher, dass VirtualBox Guest Additions im VirtualBox-Gast installiert sind.

  3. Im Linux-Gast sollte der Befehl mount eine Zeile anzeigen, in der die Freigabe bereitgestellt wurde. Dies wird durch type vboxsf Angezeigt. 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 das Mounten ist /media/sf_.

  4. Sie können auf die Freigabe zugreifen, indem Sie den Benutzer oder die Gruppen-ID von 1000 Zu einem Mitglied der Gruppe vboxsf machen. Dies erfolgt durch Ändern der Zeile vboxsf in der Datei /etc/group. 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 ist. Möglicherweise ist ein Neustart erforderlich. Um beispielsweise den Mount-Punkt von /media/sf_... In /home/toto/sf_... Zu ändern, verwenden Sie den folgenden Befehl, um die Gast-Eigenschaft des freigegebenen VirtualBox-Ordners festzulegen:

Sudo VBoxControl-Gasteigenschaftssatz/VirtualBox/GuestAdd/SharedFolders/MountDir/home/toto /

Verwenden Sie get, um die Änderung zu bestätigen:

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

Verweise:

Shared Folder Info von VirtualBox

Informationen zum Gast von VirtualBox

28
BSalita

Ok, das war ein bisschen verwirrend für mich, aber ich merkte endlich, was los war. 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, sondern Freigabe oder vb_share als der Name meiner Aktie wd war, hatte mich das für eine Minute verwirrt.

Fügen Sie zuerst Ihr Freigabeverzeichnis in das Feld VM: enter image description here

Unabhängig davon, wie Sie Ihre Freigabe hier nennen, ist dies der Name, den Sie beim Mounten im VM-Gastbetriebssystem verwenden müssen. d.h. ich habe meine "wd" für mein westliches digitales Passlaufwerk benannt.

Erstellen Sie als Nächstes auf dem Guset-Betriebssystem ein Verzeichnis, das Sie für Ihren Mount verwenden möchten, vorzugsweise in Ihrem Home-Verzeichnis.

mkdir share

Öffnen Sie anschließend das Terminal und kopieren Sie Folgendes und fügen Sie es 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 mithilfe des Ordners "share" in Ihrem Home-Verzeichnis zu kopieren.

Hoffe das hilft!

111
Kyle Coots

Bei der Begegnung:

mount: Protocol error

nach dem Versuch, Ordner in VirtualBox freizugeben, z.

$ Sudo mount -o uid=1000,gid=1000 -t vboxsf D_DRIVE ~/Host

das hat bei mir endlich 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)

20
Gerard

Installieren Sie virtuelle Box-Ergänzungen auf dem Gast-Betriebssystem. Fahren Sie dann das Gastbetriebssystem herunter. Öffnen Sie 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 aus. Es fügt den aktuellen Benutzer der vboxsf-Gruppe hinzu.

Sudo Adduser $ USER vboxsf

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

5
Jacob Abraham

In einem VirtualBox-Gast unter Linux oder Mac OS X können Sie nach der Installation der VirtualBox-Gastzusätze die verfügbaren freigegebenen VirtualBox-Ordner mit dem folgenden Befehl ermitteln:

Sudo  VBoxControl  sharedfolder  list

Wenn Ihr Basisordner in Ihrem Gast Ordner mit demselben Namen wie freigegebene VirtualBox-Ordner enthält, können Sie diese automatisch mit dem folgenden 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
3
Etienne URBAH

Wenn der folgende Fehler angezeigt wird: /sbin/mount.vboxsf: Das Mounten ist mit dem Fehler fehlgeschlagen: Protokollfehler

Leider bedeutet dies, dass Sie den Standard-Freigabenamen verwenden oder der Name des Freigabeverzeichnisses des Hosts mit dem Namen der bereitgestellten Gastfreigabe identisch ist. In diesem Fall ist es "Teilen". Erstellen Sie einfach einen anderen Freigabeordner, d. H. "Vb_share", und führen Sie dann einfach Folgendes aus:

mount -t vboxsf vb_share/home/<Benutzer>/Host

1
magiccrafter
  • Installieren Sie Vbox Additions (ISO-Datei oder laden Sie sie dann herunter)
  • Erstellen Sie ein Verzeichnis mit einem beliebigen Namen in den beiden Systemen (mkdir share, beispielsweise )
  • verbinden Sie mit den "VBox Shared Folders" den Freigabeordner im ursprünglichen System
  • verwenden Sie den Befehl, um Ihren Ordner zu verbinden:
    Sudo mount -t vboxsf name_of_folder_linked ~/name_of_folder_guest/

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

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

Wählen Sie im daraufhin angezeigten Popup-Fenster Maschinenordner in der Ordnerliste aus und klicken Sie dann auf die Schaltfläche "Neue Definition für freigegebene Ordner hinzufügen" (der blaue Ordner mit einem grünen Ordner). + "Zeichensymbol rechts neben Ordnerliste).

Klicken Sie im daraufhin angezeigten Popup-Formular Freigabe hinzufügen auf den Abwärtspfeil im Feld Ordnerpfad und wählen Sie dann Andere aus. Ein Popup-Fenster Ordner suchen wird angezeigt.

(In meinem Fall hatte ich meiner Workstation gerade eine weitere Festplatte hinzugefügt, die für eine dedizierte Freigabe verwendet werden soll, die bereits für NTFS formatiert ist und den Datenträgernamen "Freigabe" trägt und als "G:" bereitgestellt wird. Also habe ich auf den Pfeil geklickt neben Computer ausgewähltes Laufwerk G : und dann auf die Schaltfläche OK geklickt.)

(In Ihrem Fall sollten Sie den Ordner oder das Laufwerk auswählen, den 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 Ordnerpfad und Ordnername Felder des Formulars Freigabe hinzufügen. Lassen Sie das Feld Ordnerpfad in Ruhe, aber Sie können das Feld Ordnername ändern, wenn Sie möchten - denken Sie daran, es für später zu speichern.

Schließen Sie das Formular Freigabe hinzufügen ab, indem Sie das Kontrollkästchen Permanent erstellen aktivieren. Lassen Sie jedoch das Kontrollkästchen Auto-Mount deaktiviert - wir Wir kümmern uns später um die Montage. (Und wenn Sie den Ordner oder das Laufwerk schreibgeschützt machen möchten, aktivieren Sie das Kontrollkästchen schreibgeschützt.) Klicken Sie dann auf OK Schaltfläche.

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

Um diese Freigabe während des Startvorgangs bereitzustellen, müssen wir/etc/fstab in unserer Debian jessie-Gastinstallation eine Mount-Definitionszeile 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 für Debian jessie ist, habe ich es 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 liegt im Formular vor

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

(Beachten Sie, dass zwischen den Feldern der Definition Leerzeichen (Leerzeichen und/oder Tabulatoren) vorhanden sein sollten, jedoch keine Leerzeichen innerhalb eines Felds.)

Das Feld "Gerät" sollte auf Ordnername gesetzt werden, das wir über VirtualBox Manager Freigabe hinzufügen angegeben haben. Ich hatte die Standardeinstellung "G_DRIVE" in "Freigabe" geändert.

Der "Mount Point" ist eine Verzeichnispfadspezifikation, 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 darüber mounten, ausgeblendet.) Ich habe in meinem Home-Verzeichnis 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 knifflige Bit und haben ein wenig Mühe gekostet, um für dieses Setup zu arbeiten.

Setzen Sie "Dump" auf 0, es sei denn, Sie wissen, dass es auf etwas anderes gesetzt werden soll.

Und da wir nicht möchten, dass fsck diese Freigabe überprüft, setzen Sie "Pass" auch auf 0.

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

HTH.

0
conib