Come montare una cartella condivisa VirtualBox? [chiuso]


58

Qual è la procedura per montare una cartella condivisa VirtualBox in Linux?

Ho provato le varianti del seguente comando mount ma continuo a ricevere protocol erroro altri errori di mount.

sudo mount -t vboxsf share /home/toto

È una domanda? Ti preghiamo di riformularlo in modo che diventi una domanda, pubblica la tua risposta e sarò più che felice di rimuovere il voto negativo.
acqua ghiacciata

1
Modificato in conformità agli standard di domande e risposte.

per favore aggiorna la domanda cosa hai provato e quale errore stai ricevendo

Modificato per mostrare il comando non funzionante. Un errore comune è protocol errorquello dichiarato in questione.

Ricevo questo errore qualsiasi soluzione a questo "mount: tipo di filesystem sconosciuto 'vboxsf'"
sandip divekar

Risposte:


111

Ok, questo è stato un po 'confuso per me, ma finalmente ho capito cosa stava succedendo. Così ho deciso di dare i miei 2 centesimi nella speranza che fosse più chiaro per gli altri e se dimenticassi qualche volta in futuro:).

Non stavo usando il nome della condivisione che ho creato nella VM, invece ho usato share o vb_share quando il nome della mia condivisione era wd, quindi questo mi ha confuso per un minuto.

Per prima cosa aggiungi la tua directory di condivisione nella VM Box: inserisci qui la descrizione dell'immagine

Qualunque sia il nome che condividi qui, sarà il nome che dovrai utilizzare durante il montaggio nel sistema operativo guest VM. cioè ho chiamato il mio "wd" per la mia unità di passaporto digitale occidentale.

Successivamente sul sistema operativo Guset creare una directory da utilizzare per il montaggio preferibilmente nella directory home.

mkdir share

Quindi apri il terminale e copia e incolla quanto segue o digitalo. Puoi abilitare gli appunti condivisi in Dispositivo-> Appunti condivisi-> Bidirezionale

sudo mount -t vboxsf wd ~/share/

Ora dovresti essere in grado di copiare i file tra i SO usando la cartella "condividi" nella tua home directory.

Spero che sia di aiuto!


1
Ho trascorso alcune ore a capire, come posso ottenere i file dal Guest. Si è scoperto che "sharename" (dalla documentazione VBox ufficiale) nel comando "mount" - è solo un NOME specificato nella cartella virtuale Cartelle condivise nella prima colonna. Ottimo lavoro, sei il mio eroe.
zen11625,

2
ottima risposta, +1 per lo screenshot ... Questo monta la condivisione come root comunque credo. Vedi [i documenti] ( forums.virtualbox.org/viewtopic.php?t=15868 ) su come montarlo come utente attuale, ad es .:sudo mount -t vboxsf -o rw,uid=1000,gid=1000 share ~/host
timbrown

@utente Come posso rendere automatico questo mount all'avvio?

Se non conosci il tuo ID utente, puoi utilizzare le variabili. in questo caso il comando mound diventasudo mount -t vboxsf -o uid=$UID,gid=$(id -g) wd ~/share

28

Per VirtualBox con un guest Linux, questi sono i passaggi per montare una cartella condivisa:

  1. Utilizzare l'applicazione dell'host VirtualBox, VirtualBox Manager, per specificare le cartelle host da condividere.

  2. Assicurarsi che le aggiunte guest VirtualBox siano installate nel guest VirtualBox.

  3. Nel guest Linux, il comando mount dovrebbe mostrare una riga su cui è stata montata la condivisione. Questo è indicato da type vboxsf. Il problema è che il punto di montaggio potrebbe non essere dove desiderato e le autorizzazioni sono solo root. La posizione di montaggio predefinita è in /media/sf_.

  4. È possibile accedere alla condivisione rendendo l'utente o l'id gruppo di 1000un membro del gruppo vboxsf. Questo viene fatto modificando la vboxsfriga nel /etc/groupfile. Potrebbe richiedere il riavvio.

  5. È possibile modificare la posizione in cui è montata la cartella utilizzando il comando VBoxControl. Il comando è installato quando è installato Guest Additions. Potrebbe richiedere il riavvio. Ad esempio, per cambiare il punto di montaggio dal /media/sf_...al /home/toto/sf_...utilizzare il seguente comando per impostare il VirtualBox condiviso guestproperty cartella:

set di proprietà guest sudo VBoxControl / VirtualBox / GuestAdd / SharedFolders / MountDir / home / toto /

Per confermare la modifica, utilizzare get:

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

Riferimenti:

Informazioni sulla cartella condivisa di VirtualBox

Informazioni sulla proprietà ospite di VirtualBox


4
Nuovo problema, con Vbox 4.3.10 il collegamento è interrotto, controllare per verificare (ls -l) /sbin/mount.vboxsf Se quella destinazione non esiste la directory deve essere mappata nuovamente: sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
ppostma1

4
Per aggiungere l'utente myuser al gruppo vboxsf è possibile utilizzare: sudo adduser myuser vboxsf

VirtualBox 4.3.14 risolve i problemi di installazione di Aggiunte Guest per RHEL 7 e CentOS 7. Installa Aggiunte Guest usando: if-not-true-then-false.com/2010/…

Sono su VirtualBox 4.3.20 su Windows 8.1. Ho Ubuntu installato nella VM. Non riesco a vedere type vboxsfquando eseguo il mountcomando anche se ho roba ospite installata! per favore
aiutatemi

20

Quando incontri:

mount: Protocol error

dopo aver provato a condividere cartelle in VirtualBox, ad esempio:

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

questo finalmente ha funzionato per me:

$ sudo apt-get install virtualbox-guest-dkms

(La mia configurazione: host di Windows 7, guest: Ubuntu 12.04,13.10,14.04; attualmente in esecuzione VBox 4.3.10 r93012)


5

Installa aggiunte di scatole virtuali sul sistema operativo guest. Quindi arrestare il sistema operativo guest. Apri le impostazioni di guestos nella casella virtuale. Quindi aggiungere una cartella condivisa e salvare le impostazioni. Quindi avviare il sistema operativo guest e per Ubuntu emettere il comando seguente. Aggiunge l'utente corrente al gruppo vboxsf.

sudo adduser $ USER vboxsf

riavviare il sistema operativo guest e accedere a / media / per accedere alla cartella condivisa.


sudo adduser non funziona per me aggiungo per usare "sudo usermod -a -G vboxsf myUser" e funziona. Grazie
Alex

1
Sì, ecco cosa mancava: sudo adduser $ USER vboxsf Ora funziona :-)

3

All'interno di un guest VirtualBox Linux o Mac OS X, dopo aver installato VirtualBox Guest Additions, puoi scoprire le cartelle condivise VirtualBox disponibili con il seguente comando:

sudo  VBoxControl  sharedfolder  list

Se la tua cartella home all'interno del tuo guest contiene cartelle con lo stesso nome delle cartelle condivise di VirtualBox, puoi montarle automaticamente con il seguente script shell:

#!/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

Quando viene visualizzato il seguente errore: /sbin/mount.vboxsf: montaggio non riuscito con errore: errore protocollo

Sfortunatamente ciò significa che si utilizza il nome di condivisione predefinito o il nome della directory di condivisione dell'host è lo stesso del nome di condivisione guest montato. In questo caso è "condividi". Basta creare un'altra cartella condivisa, ad esempio "vb_share" e quindi eseguire:

mount -t vboxsf vb_share / home / <utente> / host


1
  • Installa aggiunte Vbox (file ISO o scarica quindi)
  • Crea una directory con qualsiasi nome nei due sistemi ( mkdir sharead esempio)
  • connettersi con le "cartelle condivise VBox" la cartella condivisa nel sistema originale
  • usa il comando per connettere la tua cartella:
    sudo mount -t vboxsf name_of_folder_linked ~/name_of_folder_guest/

0

Installazione: VirtualBox 4.3.26, Win 7 SP1 host, Debian jessie 8.0 (stabile) guest.

In VirtualBox Manager, seleziona Impostazioni cartelle condivise ... nel menu a discesa Dispositivi .

Nella finestra a comparsa risultante, selezionare Cartelle macchina nell'elenco Cartelle, quindi fare clic sul pulsante "Aggiungi una nuova definizione di cartella condivisa" (la cartella blu con un'icona di segno verde "+" a destra dell'elenco delle cartelle ).

Nel modulo a comparsa Aggiungi condivisione risultante , fare clic sulla freccia rivolta verso il basso nel campo Percorso cartella , quindi selezionare Altro . Uno Sfoglia per cartelle viene visualizzata la finestra pop-up.

(Nel mio caso, avevo appena aggiunto un altro disco rigido alla mia workstation da utilizzare per una condivisione dedicata, già formattata per NTFS, con un nome di volume di "condivisione" e montata come "G:". Quindi ho fatto clic sulla freccia accanto a Computer , seleziona l'unità G: quindi fai clic sul pulsante OK .)

(Nel tuo caso devi selezionare la cartella o l'unità che intendi condividere, quindi fai clic sul pulsante OK .)

Dopo aver effettuato la selezione e fatto clic sul pulsante OK , VirtualBox Manager compilerà i campi Percorso cartella e Nome cartella del modulo Aggiungi condivisione . Lascia il campo Percorso cartella da solo, ma puoi cambiare il Nome cartella se vuoi - ricordati di ricordarlo per dopo.

Completa il modulo Aggiungi condivisione selezionando la casella di controllo Rendi permanente , ma assicurati di lasciare deselezionata la casella di controllo Montaggio automatico : ci occuperemo del montaggio in seguito. (E, naturalmente, se si desidera creare la cartella o l'unità in sola lettura, andare avanti e selezionare la casella Sola lettura .) Quindi fare clic sul pulsante OK .

La condivisione appena configurata dovrebbe ora apparire come una voce in Cartelle macchina nell'elenco Cartelle . Fai clic sul pulsante OK .

Per montare questa condivisione durante l'avvio (avvio) è necessario aggiungere una linea di definizione di montaggio a / etc / fstab nella nostra installazione guest Debian jessie. Questa modifica deve essere eseguita come root o tramite sudo, ad esempio:

sudo nano /etc/fstab

(Ho usato personalmente vi, ma poiché nano è l'editor predefinito su Debian jessie l'ho specificato nell'esempio sopra.)

Per montare questa condivisione nella mia directory home, con la proprietà e il gruppo impostati sul mio UID e GID personali, ho aggiunto la seguente definizione a / etc / fstab:

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

(Nota che non ci sono spazi attorno ai caratteri "=", "." O ",".)

Una definizione / etc / fstab è nel modulo

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

(Si noti che dovrebbero esserci spazi bianchi - spazio (i) e / o scheda - tra i campi della definizione, ma nessuno spazio all'interno di un campo.

Il campo "Dispositivo" deve essere impostato sul Nome cartella specificato tramite Aggiungi condivisione VirtualBox Manager . Avevo modificato "G_DRIVE" predefinito in "condividi".

"Mount Point" è una specifica del percorso di directory che deve già esistere ma deve essere vuota. (Cioè, qualsiasi cosa già presente in quella directory sarà nascosta da ciò che stai montando sopra di essa.) Avevo creato una nuova sottodirectory vuota denominata "share" nella mia directory home.

Il "Tipo" è "vboxsf".

Le "Opzioni" (comment = systemd.automount, uid = conib, gid = conib, noauto) sono state un po 'complicate, e hanno preso un po' di problemi per iniziare a lavorare per questa configurazione.

Imposta "Dump" su 0 a meno che tu non sappia che lo desideri impostato su qualcos'altro.

E poiché non vogliamo che fsck controlli questa condivisione, imposta anche "Pass" su 0.

Quando hai aggiunto la linea di definizione a / etc / fstab, riavvia il tuo guest Debian e conferma che puoi vedere i file e le sottocartelle della tua condivisione.

HTH.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.