Mounten Sie VirtualBox SharedFolder beim Booten in Ubuntu VM

15

Ich habe eine Ubuntu VM in VirtualBox.
Ich habe einen freigegebenen Ordner eingerichtet, da myshare ich einen Ordner in meinem Ausgangsverzeichnis ( ~/jamesw) als erstellt habe host. sudo mount -t vboxsf myshare hostWenn Sie die Zeile aus meinem Ausgangsverzeichnis im Terminal verwenden, wird das Laufwerk ordnungsgemäß gemountet, aber wenn ich einen Neustart durchführe, wird es nicht erneut gemountet.

Dies ist eine VM, die ich zum Ausführen eines einfachen Webservers verwende und die bei jedem Start gemountet werden soll. Gibt es eine Möglichkeit, dies zu tun? Besonders wenn man bedenkt, dass es sudo erfordert?

James P. Wright
quelle

Antworten:

22

Freigegebene Ordner mit Virtual Box Manager automatisch bereitstellen

Ab Virtual Box> 4.0 können wir freigegebene Ordner in einer virtuellen Maschine automatisch bereitstellen . Dies tun wir für Ubuntu

  • müssen Guest Additions im Gastbetriebssystem installieren
  • Stellen Sie sicher, dass sich die Benutzer in der Gruppe befinden vboxsf
  • Definieren Sie freigegebene Ordner im Virtual Box Manager

Klicken Sie mit der rechten Maustaste auf Ihre virtuelle Maschine und wählen Sie Einstellungen-> Freigegebene Ordner . Dadurch werden vorhandene Freigaben +aufgelistet oder Sie können einen neuen freigegebenen Ordner definieren, indem Sie auf das blaue Ordnersymbol mit dem grünen Zeichen oben rechts klicken:

Bildbeschreibung hier eingeben

Wählen Sie Ihren Ordner aus dem Dropdown - Menü Ordnerpfad oder wählen Sie andere definieren für eine Dateiauswahl , dass die Listen der Host - Dateisystem. Wählen Sie einen Namen für die Freigabe (zB myshares ). Wenn Sie Auto-Mount aktivieren, wird dieser Ordner immer im Ubuntu -Gastverzeichnis gemountet /media/sf_myshares(das Präfix sf_wird automatisch hinzugefügt).


Alternativ können Sie zum Definieren freigegebener Ordner in einem laufenden Gastbetriebssystem Geräte -> Freigegebene Ordner aus dem Fenstermenü von Virtual Box Manager auswählen :

Bildbeschreibung hier eingeben

Wenn Sie "Permanent machen" aktivieren, stehen diese freigegebenen Ordner auch beim nächsten Start zur Verfügung und werden gemountet, wenn zusätzlich die Option "Automatisch mounten" aktiviert ist.

Takkat
quelle
Das wird das macht Gastbetriebssystem einen mounten Host zu teilen und ich glaube , dass der OP will das Gegenteil: einen Montag Gast Aktie in seinem Host - Betriebssystem. Wenn ich falsch
liege
1
@ MestreLion: Du liegst falsch, sorry! Ich glaube, mein Problem ist, dass ich das Shared-Laufwerk auf der Ubuntu-VM nie finden konnte, weil ich keine Ahnung hatte, dass es auf / media gemountet wurde. Hätte ich gemerkt, dass diese Frage nicht einmal notwendig gewesen wäre.
James P. Wright
@ James: Oh, dann tut es mir leid. Das Mounten einer Hostfreigabe in einem Gastbetriebssystem ist einfach und Sie haben mehrere Möglichkeiten. Ist Ihnen neben der hier gegebenen (übrigens ausgezeichneten) Antwort auch bewusst, dass ein Gastbetriebssystem im LAN genau wie ein normaler Computer angezeigt werden kann? Ändern Sie einfach das Netzwerk von der Standardeinstellung NATin Bridged. Sie können jetzt Freigaben von Gast zu Host (und umgekehrt) mit Nautilus, Samba usw. "tauschen".
MestreLion
@ MestreLion: um ehrlich zu sein - ich teile meine Host- (und Gast-) Dateien hauptsächlich mit Samba über das Netzwerk;)
Takkat
@ Takkat: Ich auch! (und das macht unsere beiden Antworten obsolet!: P)
MestreLion
7

Ich glaube nicht, dass die Verwendung von / etc / fstab funktioniert (es hat bei mir nicht funktioniert), da diese Datei verarbeitet wird, bevor das SF-Modul geladen wird, und die Freigabe nicht bereitgestellt werden kann (siehe HOWTO: Verwenden von freigegebenen Ordnern 1) .

Kenneth Gulbrandsøy
quelle
1
Informationen zur Fehlerbehebung finden Sie unter forums.virtualbox.org/viewtopic.php?f=3&t=15868 . Fügen Sie im Grunde den Befehl mount in /etc/rc.local oder einem gleichwertigen Befehl hinzu.
Reinier Post
2

Dies ist noch keine vollständige Antwort, sondern eher eine Richtlinie für zwei Vorgehensweisen:

1 - Sie können /etc/fstabdiesen Mount dort bearbeiten und hinzufügen. Sie müssten Ihren mount-Parameter in die fstab-Syntax übersetzen. Eine wilde Vermutung wäre so etwas wie /home/jamesw/host vboxsf myshare,umask=002,uid=<youruser>,gid=plugdev 0 0. Sie müssten sudoIhre fstab bearbeiten, aber sobald dies erledigt ist, wird sie beim Booten automatisch gemountet. Da dies getan wird, bevor Sie sich überhaupt anmelden, benötigen Sie einen absoluten Pfad zum Einhängepunkt (daher / home / jamesw / host), den Sie nicht verwenden können $HOMEoder ~. Hinweis: Der Ordner "host" muss nicht existieren. Wenn es sich in fstab befindet, erstellt mount es für Sie.

2 - Sie könnten fusermountanstelle von mount verwenden. Die Syntax ist ähnlich (aber nicht identisch, sodass Sie die Mount-Parameter noch übersetzen müssen). Für Fusermount muss sich der Mount-Punkt irgendwo in Ihrem $ HOME befinden. Der größte Vorteil ist jedoch, dass Sie ihn nicht benötigen sudo. Und die Halterung wird in Nautilus verfügbar sein (als wäre es eine CD oder ein USB-Stick). Nachdem Sie die richtigen Parameter ermittelt und getestet haben, können Sie sie zu Ihren hinzufügen ~/.profile, die bei jeder Anmeldung ausgeführt werden.

BEARBEITEN: Ich gehe davon aus, dass entweder Virtualbox nicht ausgeführt werden muss, um Ordner freizugeben, oder dass es aktiv ist, bevor Sie sich anmelden

MestreLion
quelle
Die Verwendung von / etc / fstab funktioniert nicht, siehe Kenneth Gulbrandsøys Antwort.
Reinier Post
0

Ubuntu 16.04-Gastordner und freigegebene Ordner, auf die der normale Benutzer automatisch zugreifen kann

Um diese Ordner als normaler Benutzer automatisch bereitzustellen und darauf zuzugreifen, sind bestimmte Schritte erforderlich.

  1. Verwenden Sie keine offiziellen Gastzusätze. Stattdessen installieren virtualbox-guest-dkms.

    sudo apt-get install -y virtualbox-guest-dkms
    sudo usermod -aG vboxsf $(whoami)
    sudo VBoxControl guestproperty set /VirtualBox/GuestAdd/SharedFolders/MountDir ~/vbshare
  2. Fügen Sie einige freigegebene Ordner mit Auto-mountund Permanentmarkiert hinzu.

  3. Vm neu starten
  4. Überprüfen Sie, ob Sie vb-Ordner gemountet haben:

    mount | grep vboxsf

  5. Wenn ja, ändern Sie das Eigentum ~/vbsharean sich selbst.

    sudo chown $(whoami):$(whoami) ~/vbshare

Fügen Sie neue freigegebene Ordner hinzu, ohne die VM neu zu starten

  1. Freigegebenen Ordner hinzufügen.
  2. Überprüfen Sie, ob Sie es mit diesem Befehl finden können:

    sudo VBoxControl sharedfolder list

  3. Wenn ja, erstellen Sie ein Verzeichnis und hängen Sie es ein

    mkdir ~/vbshare/newfolder
    sudo mount -t vboxsf newfolder ~/vbshare/newfolder
    
Rofrol
quelle