Come accedere a una cartella condivisa in VirtualBox?


160

Ho seguito i passaggi per la condivisione di cartelle tra Windows 7 e Ubuntu in VirtualBox.

Nonostante ciò la cartella appare con un segno X e mi dà il seguente messaggio quando provo ad aprirla:

Non è stato possibile visualizzare il contenuto della cartella

Quando scelgo Shared Folderdal Devicemenu VirtualBox , viene visualizzato il seguente avviso:

Nella pagina di sistema, hai assegnato più del 50% della memoria del tuo computer (2,93 GB) alla macchina virtuale ...

Come posso condividere correttamente le cartelle tra Windows e Ubuntu usando VirtualBox?


Si noti che non è possibile condividere collegamenti simbolici!
Joel Sjögren,

Risposte:


147

Accesso alle cartelle condivise in Virtual Box

Riga di comando

Per impostazione predefinita, le cartelle condivise VirtualBox vengono create con l'autorizzazione in lettura / scrittura per il guest. Questo può essere fatto dalla riga di comando sull'host con:

VBoxManage sharedfolder add "VM name" --name sharename --hostpath "C:\test"

Aggiungendo l'opzione --readonlypossiamo limitarli per l'accesso in sola lettura. Utilizzare l' --transientopzione se si desidera visualizzare solo le condivisioni nella sessione corrente ma non persistenti per le sessioni successive. Esistono alcune limitazioni per le cartelle condivise (vedere questa domanda per i dettagli). Se vengono soddisfatti i prerequisiti, è possibile montare manualmente queste cartelle condivise eseguendo i seguenti comandi nel guest:

mkdir /home/<user>/vboxshare
sudo mount -t vboxsf -o uid=1000,gid=1000 sharename /home/<user>/vboxshare  

Naturalmente, possiamo anche usare diverse opzioni di mount per montare in sola lettura o montare con accesso in sola lettura al root.

Montaggio automatico tramite Virtual Box Manager

Nel caso in cui abbiamo abilitato l'auto-montaggio sulla creazione di una cartella condivisa da Virtual Box Manager, quelle cartelle condivise verranno automaticamente montate nel guest con mount point /media/sf_<name_of_folder>. Per avere accesso a queste cartelle, gli utenti nel guest devono essere membri del gruppovboxsf .

sudo usermod -aG vboxsf userName

L'ospite dovrà riavviarsi per aggiungere il nuovo gruppo.

Fonte e ulteriori letture: Manuale dell'utente di Virtual Box


17
ho impostato una cartella condivisa nella GUI e anche il montaggio automatico. riavviato il VM, è andato a /mediama ancora niente lì
anfibio

2
@amphibient @ laike9m Ho dovuto riavviare la VM per vedere la cartella in/media/
David_G

7
Questo comando, suggerito da un'altra risposta qui, sembra più chiaro e ha un output migliore:sudo adduser your_username vboxsf
Jordan Brough

1
@JordanBrough: totalmente corretto - tutti i modi portano a Roma. Puoi persino usare un frontend grafico users-admin. Il comando è stato modificato da un altro utente.
Takkat,

Grazie per la risposta. Nel comando che hai menzionato sopra sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/<user>/vboxshare, non vedo alcun riferimento a sharename, che viene utilizzato durante la creazione della cartella condivisa utilizzando VBoxManage sharedfolder add "VM name" --name "sharename" --hostpath "C:\test". Se ci sono più cartelle condivise ... come fa VirtualBox a sapere a quale sharenameassociare la cartella vboxshare? O vuoi dire che sharenamedovrebbe essere lo stesso di vboxshare?
alpha_989,

121

In realtà c'è un modo semplice per farlo:

  1. Installa il pacchetto di estensione per VirtualBox.
  2. Riavvia la tua macchina virtuale
  3. Installa Guest Additions nel tuo guest Ubuntu

    • Puoi montare l'ISO che è acceso /mediao premere Left Control+D
  4. Reboot

  5. Prova ad accedere /media/sf_your_shared_folder_name. Se non hai ancora accesso, significa che non appartieni al vboxsfgruppo, come ha detto Nilo. Questo comando risolverà il tuo problema:

    sudo adduser your_username vboxsf
    
  6. Disconnettersi e riconnettersi per applicare le modifiche di adduser. Vedi commenti di kol e atcold di seguito.

  7. Se non riesci ancora a vedere la cartella condivisa, devi montarla. È possibile attivare il montaggio automatico per la cartella condivisa nelle opzioni di VirtualBox Manager.
  8. Riavvia di nuovo.

7
QUESTO. Non ero nel gruppo di utenti. Sembra che avrebbe dovuto essere automatizzato dalle aggiunte gest o almeno dichiarato chiaramente.
AwokeKnowing

1
sembra che il problema per me sia che il mio nome utente non è root. Ciò avrebbe dovuto essere menzionato da qualche parte
AwokeKnowing

22
IMPORTANTE: è necessario riavviare il computer dopo aver chiamato adduser.
kol

5
@kol No, devi solo disconnetterti e riconnetterti .
Atcold,

@Atcold Disconnettersi e riaccedere aggiunge il gruppo all'utente corrente (sessione) ma nel mio caso non ha innescato il montaggio automatico della cartella condivisa. Ha fatto solo un riavvio.
scai,

83

Innanzitutto, assicurati di aver installato le Aggiunte ospite

  1. Avvia la tua VM

  2. Dispositivi> Inserisci immagine CD Aggiunte guest ... Inserisci immagine CD Aggiunte guest ...

  3. Montare il CD:

    sudo mount /dev/cdrom /media/cdrom
    
  4. Installa i pacchetti necessari:

    sudo apt-get install make gcc linux-headers-$(uname -r)
    
  5. Installare:

    sudo /media/cdrom/VBoxLinuxAdditions.run
    

In secondo luogo, aggiungi il tuo utente al gruppo "vboxsf":

~$ echo $USER; 
ahmed
~$ sudo usermod -a -G vboxsf ahmed

Reboot

Sappi che l'etichetta della cartella condivisa è lpi(ad esempio):

Modifica cartella condivisa

Prepari sf_all'etichetta. Quindi, troverai la cartella condivisa in/media/sf_lpi

Infine, puoi anche creare un link a casa tua. Per esempio:

ln -s /media/sf_lpi /home/ahmed/lpi

:)


Posso usare una cartella condivisa da una macchina virtuale Ubuntu senza un'immagine del disco rigido, ma solo con un'immagine Live CD? Fondamentalmente sto provando ad aggiungere due unità CD, una contenente Ubuntu Live CD e l'altra contenente VBGuestAdditions.iso, e avviare la macchina, quindi installare VBGuestAdditions nella radice di loopback e quindi vorrei poter accedere una cartella condivisa.
Sorin Postelnicu,

Inoltre, c'è un modo per vedere la cartella condivisa prima del montaggio, ad esempio usando un comando come lsblk o qualcosa del genere?
Sorin Postelnicu,

Quando provo a fare "sudo mount -t vboxsf mysharename mysharemountpoint", ottengo sempre: "/sbin/mount.vboxsf: il montaggio non è riuscito con l'errore: nessun dispositivo del genere"
Sorin Postelnicu,

24

Aggiungi la cartella condivisa alla macchina virtuale usando l'interfaccia grafica di vBox Assicurati di selezionare automount e renderlo permanente

Accedi alla macchina virtuale usando un account root

Controlla che il gruppo vboxsf esista

~$ grep vboxsf /etc/group
vboxsf:x:125:

Verifica che l'utente non sia già nel gruppo vboxsf

~$ id nilo
uid=1000(nilo) gid=1000(nilo) groups=1000(nilo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare)

Aggiungi l'utente nilo al gruppo vboxsf

~$ sudo usermod -a -G vboxsf nilo

Controlla di nuovo i gruppi di utenti

~$ id nilo
uid=1000(nilo) gid=1000(nilo) groups=1000(nilo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare),125(vboxsf)

Riavvia e accedi come nilo

La cartella condivisa è ora accessibile in /media/sf_dropbox(dropbox è il nome che ho dato alla condivisione)


Il riavvio ha funzionato per me!
Tarik,

10

Condividi una cartella tra SO host-> Windows e SO guest -> Ubuntu (Virtual box)

Passo 1 Installa installa Aggiunte Guest dal menu di VirtualBox vai su Dispositivi-> Installa Aggiunte Guest Questo monterà un CD virtuale sul tuo / media / cdrom. Come utente root Aprire questa cartella / media / cdrom aggiunta usando l'opzione Apri con terminale (tasto destro del mouse).

Passaggio 2 Eseguire il programma VBoxLinuxAdditions.run. Al termine del programma, riavviare VirtualBox.

$ sudo ./VBoxLinuxAdditions.run

Passaggio 3 Creare una cartella condivisa. Dal menu virtuale vai su Dispositivi-> Cartelle condivise quindi aggiungi una nuova cartella nell'elenco, questa cartella dovrebbe essere quella in Windows che desideri condividere con Ubuntu (SO guest). Fai montare automaticamente questa cartella creata. Esempio -> Crea una cartella sul desktop con il nome Ubuntushare e aggiungi questa cartella.

Passaggio 4 Al termine delle specifiche delle cartelle condivise, montiamo le cartelle da Ubuntu (SO guest). Crea un mountpoint, questa una directory in Ubuntu che condividerà i file con la cartella condivisa da Windows. Esegui questo per creare una directory in Ubuntu

$ sudo mkdir ~/Desktop/windowsshare

Passaggio 5 Con il mountpoint creato ora è possibile montare la cartella condivisa. Esegui questo comando per condividere la cartella:

$ sudo mount -t vboxsf Ubuntushare ~/Desktop/windowsshare

Ubuntushare è il nome della cartella che aggiungiamo nella sezione Dispositivi VirtualBox questa cartella è in Windows (sistema operativo host). ~ / Desktop / windowsshare è la directory in Ubuntu (SO guest)

CONGRATULAZIONI-> Ora puoi condividere i file tra Windows e Ubuntu. Prova ad aggiungere qualsiasi file nella cartella di condivisione di Windows (sistema operativo host) Ubuntu ora controlla la directory di Windowsshare Ubuntu (sistema operativo guest) il file verrà riflesso.

Il mio articolo

Cartella condivisa b / n windows e ubuntu


3
  1. Installa il programma "Programmi e gruppi" dal Software Center
  2. Scegli l'utente corrente e fai clic su Gestisci gruppi
  3. Scegli vboxsf e fai clic su "Aggiungi"
  4. Reboot

Impossibile trovare nel software center Mint 17.1 ma nel menu c'erano utenti e gruppi, vero?
Russ_hensel,

@russ_hensel Mint non è un sapore ufficiale di Ubuntu. Poni invece la tua domanda su Unix e Linux .
wjandrea,

1
  1. Crea un dir dove hai intenzione di montare questo, come mkdir docs

  2. Installa Guest Additions nella macchina Ubuntu guest.

  3. Arrestare il guest Ubuntu, quindi configurarlo.

  4. In Archiviazione, imposta la cartella condivisa e annota ciò che hai impostato come nome nel secondo campo. Ad esempio "pazzo". Seleziona la casella per il montaggio automatico.

  5. Avvia il guest Ubuntu.

  6. Come hai detto, in realtà non sarà accessibile. (Questa è la parte chiave della tua domanda.) Troverai invece è presente /media/sf_crazy, dove "pazzo" è il nome che le hai dato. E sarà anche presente nella tua home directory a ~/crazy.

  7. Ora devi fare un altro passo per montarlo effettivamente:

    sudo mount -o uid=1000,gid=1000 -t vboxsf ~/crazy ~/docs
    

1

Eseguire questi passaggi dopo l'installazione di Guest Additions. Per l'ambiente host Windows 10, sul computer Windows ho dovuto condividere cartelle.

  1. Cartella del tasto destro per condividere
  2. Seleziona "Condividi con"
  3. Seleziona "Persone specifiche"
  4. Scegli tutti, opzioni di lettura / scrittura
  5. Sul client Ubuntu macchina eseguire il comando: sudo adduser xxxxxxx vboxsf

dove xxxxxx è il nome del tuo account utente. Disconnettersi e riconnettersi a Ubuntu.


0

A partire da ora (versione 6.0.10 di VirtualBox) ci sono make permanente auto-mountopzioni per la cartella condivisa, anche mount point( At) nella GUI di virtualbox. Per me ha funzionato:

  1. Ubuntu guest: sudo apt-get install virtualbox-guest-utils
  2. Aggiungi cartella condivisa nella GUI di VirtualBox.
  3. Riavvia il SO guest

La cartella sul punto di montaggio specificato nella GUI è stata creata automaticamente e lsmostrava i file che si trovano sul PC Windows host.

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.