Errore durante il montaggio delle cartelle condivise VirtualBox in un guest Ubuntu


77

Ho Ubuntu 10 come SO guest su una macchina Windows 7. Ho provato a configurare le condivisioni tramite VirtualBox, ma non funziona nulla. Innanzitutto, creo la condivisione in VirtualBox e la indico in una cartella di Windows. Quindi provo a montare l'unità su Linux, ma continuo a ricevere

/sbin/mount.vboxsf: montaggio non riuscito con errore: errore protocollo

Ho letto così tante soluzioni a questo, ma nessuna sembra funzionare. Ho provato:

  • Utilizzando la sintassi mount.vboxsf
  • Reinstallazione delle aggiunte di VBox
  • Riavvio
  • Abilitazione e prova come account root

Ho fatto una condivisione chiamata "Test" nelle cartelle condivise VBox. Quindi ho creato una directory in Ubuntu chiamata "test2". Quindi ho provato ad eseguire questo comando:

sudo mount -t vboxsf Test / mnt / test2

Altre idee?

Risposte:


90

Per utilizzare la funzionalità delle cartelle condivise è necessario soddisfare alcuni prerequisiti :

  • Accertarsi che Guest Additions sia installato correttamente sul SO guest.
  • Gli utenti di un guest Ubuntu devono essere nel gruppo vboxsfper poter accedere alle condivisioni.
  • Definire una directory sull'host che verrà utilizzata nella macchina virtuale utilizzando la finestra di dialogo delle impostazioni di Virtual Box.

A seconda del sistema operativo host o guest, potrebbe essere necessario quanto segue:

  • Non condividere cartelle personali come /home/usernameoMy Documents
  • Evita caratteri speciali o spazi vuoti nel percorso della cartella condivisa, specialmente se l'host o la macchina virtuale è una macchina Windows
  • Usa nomi diversi per share e mountpoint
  • Crea un mountpoint sul SO guest (migliore nella tua directory HOME).

Il test della funzionalità delle cartelle condivise può essere eseguito creando una directory condivisa sull'host (ad es. C:\myshare), Definirla come una cartella condivisa per il sistema guest nelle impostazioni della Virtual Box (ad es. share), Creare un punto di montaggio nel sistema operativo guest (ad es. mkdir /home/username/host) E montare questo nel SO guest con il comando:

sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/username/host

dove l'opzione -o si assicura che tu abbia accesso al mount (che altrimenti sarà di proprietà di root).

Per ulteriori informazioni sulle cartelle condivise consultare anche il Manuale dell'utente di Virtual Box .

I file o le directory possono anche essere condivisi sulla rete usando Samba sull'host e sul guest.


4
Credo di aver soddisfatto tutti questi requisiti ma sto ancora riscontrando l'errore. Esiste un modo per diagnosticare quale sia il problema?
skaz,

1
Non a livello letterale di stringa, ma la mia condivisione è C: \ test anziché C: \ myshare, è definita in VBox 4.0.4. Ho creato una cartella in / home / [nome utente] / test2 e una cartella in / mnt / test2 ed ho eseguito il comando esattamente su queste due cartelle ed entrambi restituiscono lo stesso errore.
skaz,

1
Grazie per l'aiuto! Non mi rendevo conto che le parole "test" e "Test2" sarebbero state considerate usando lo stesso nome. Questo ha risolto il problema!
skaz,

2
Per "condividere" avrei usato follemente sf_ [nomecondivisione], poiché potevo vedere che veniva montato sotto / media / con quel nome e supponevo che avrebbe avuto bisogno del nome ubuntu-local e non del nome di VBox. Tuttavia, ho rimosso il prefisso "sf_" e questo ha risolto il problema.
Astravagrant,

1
@MichaelScheper questi sono solo consigli : se funziona per te, va tutto bene.
Takkat,

15

Ho anche incontrato questo problema. Ho scoperto che la cartella condivisa era già montata su /media/sf_share.

Ho provato a cancellare /media/sf_share, ma non ci riuscivo.

Così ho cancellato la cartella condivisa "condividi" nella mia home directory.

$ rm -r ~/share

E quindi passa all'utente root con il seguente modo:

$ sudo -i

Crea softlink / collegamento nella cartella / media / sf_share che possiede l'utente root modifica la proprietà del softlink con il comando chown. Esci da utente root a utente normale

# ln -s /media/sf_share /home/username/share
# chown username.username /home/username/share
# exit
logout

$ chmod 777 ~/share

Puoi vedere i file in Windows attraverso la cartella condivisa. E il nome utente deve essere un membro del gruppo vboxsf.


Grazie ! avevi ragione ... già montato in / media / sf_sharename
Laurent il

1
Utilizzando CentOS 7, ho anche scoperto che la mia directory è montata su media/sf_sharename. La creazione di un collegamento simbolico a quella directory sembrerebbe essere un'opzione possibile, ma è molto diversa dalla procedura pubblicizzata / documentata sul sito di VirtualBox. Ci deve essere una risoluzione adeguata a questo!?!?
cartbeforehorse,

11

Ecco cosa ha funzionato per me senza alcun problema

Ho capito che, in realtà il mio usernome non era nel gruppo vboxsf . Seguire due comandi aiuterà a ottenere le informazioni sul gruppo:

grep "vboxsf" /etc/group    
grep "saurav" /etc/group

Quindi ho aggiunto saurav(me) al gruppo vboxsf usando il seguente comando:

sudo usermod -a -G vboxsf saurav 

Quindi riavviato la virtualbox e poi .. Saltato dal mio posto ..: D: D Tutto ha funzionato senza problemi.

Si prega di commentare se qualcuno ha ancora problemi ..


2
Questo ha funzionato per me, grazie. C'è solo un tipo: dovrebbe essere sudo usermod -a -G vboxsf saurav(primo gruppo quindi utente).
user673592

Sì .. Digitato in modo errato .. :) Grazie per aver sottolineato. Modificato ora ..
Saurav Kumar

1
Non è necessario riavviare VB per acquisire il gruppo appena assegnato. $ su - saurav farà il trucco.
Stephen Boston,

2

Ho anche lottato molto con il montaggio e ho provato tutto quello che ho trovato nell'interwebz, ma alla fine ho trovato una soluzione molto strana per risolverlo! Il mio ospite è Ubuntu 13 e il mio host è Windows 7.

Passare alla cartella multimediale e da lì digitare user@os:/media$ sudo mount -t vboxsf share /home/username/folder

Si è così. Ma non capisco come mai funziona solo se viene fatto dalla cartella multimediale. Se qualcuno lo sa, ti preghiamo gentilmente di spiegarci di seguito. Grazie.

Ps La modifica di my /etc/rc.localper eseguire il montaggio automatico all'avvio non funziona per me.


1
/etc/rc.local non funzionerà mai, dato che è fatto prima che la rete sia attiva.
Braiam

2
Ciao Braiam! Bello sapere. Sfortunatamente ho letto in innumerevoli siti che la gente consiglia di modificare /etc/rc.local per il montaggio automatico. Sai qual è il modo corretto di montarlo automaticamente all'avvio? Grazie.
BringBackCommodore64

Sto anche trovando che funziona solo da / media. Molto strano. Ho appena aggiunto questo al mio .profile: pushd media && sudo mount /media/<theshare> && popd.
Matt Greer,

1

Con VirtualBox 5.1.20 in esecuzione su Windows 10 e Ubuntu 16.04 come sistema operativo guest con GuestAdditions 5.1.20 installato, non ho potuto montare le cartelle condivise dalla riga di comando. I comandi mount non sono riusciti, con menzioni di Protocol Error e sf_read_super_aux err = -22.

Alla fine ho trovato https://www.virtualbox.org/ticket/16670 "collegamento simbolico mount.vboxsf non funzionante". Ho seguito una delle soluzioni alternative lì, per correggere il collegamento simbolico per mount.vboxsf, e tutto ha funzionato. Il mio approccio era di fare:

mv /sbin/mount.vboxsf /sbin/mount.vboxsf-orig
ln -s /opt/VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf

I comandi devono essere eseguiti da root. Quindi, poiché era Ubuntu, ho aggiunto "sudo" all'inizio di ogni riga per eseguire il comando come root. Altre versioni di Linux hanno altri modi per farlo.

A parte questo, si è verificato un simile problema relativo al collegamento simbolico riportato nel Ticket n. 12879 di virtualbox "Impossibile montare cartelle condivise con aggiunte degli ospiti 4.3.10" nel 2014, risolto il mese successivo.

2017/04/27


@duncan: buon punto. Il titolo del ticket descrive il problema, ma ho modificato per mostrare la soluzione che ho usato.
J Cumming,

Il changelog per la scatola v5.1.22 virtuale allo virtualbox.org/wiki/Changelog#v22 dice che
J Cumming

Il log delle modifiche per virtual box v5.1.22, rilasciato il 28-04-2017, ( virtualbox.org/wiki/Changelog#v22 ), afferma che questo bug / ticket # 16670 è stato corretto. Sono emozionato!
J Cumming,

Non sono sicuro del motivo per cui questo è stato sottoposto a downgrade, ma mi ha aiutato con i miei problemi usando Vbox 5.122
qodeninja

1

Per me, il problema era che ero un'oca e avevo dimenticato di aver rimosso la voce dal mio elenco di cartelle condivise in VirtualBox (Macchina → Impostazioni → Cartelle condivise).

Lo sto solo inserendo qui, nel caso in cui qualcun altro venga mai fuorviato in modo simile da "Errore protocollo".

: honk : 😉


1

Ho provato tutto quanto sopra e niente ha funzionato per me. Successivamente ho creato una nuova cartella temporanea "Condivisa" con "Rendi permanente" e "Montaggio automatico" abilitati. E quindi esegui il comando

sudo mount -t vboxsf -o uid=1000,gid=1000 Shared /mnt/sharedvm

Ha funzionato per me. Nessun errore questa volta.


0

La mia cartella condivisa funzionava e, dopo aver riavviato il mio host, non lo era.

Modificando il nome della cartella condivisa da Condiviso a Condiviso2 ha funzionato.

config.vm.synced_folder "/Users/username/Dropbox/Shared", "/Shared2"

Non ho idea di cosa sia successo e perché né come risolvere. Il sistema senza uno stato mutabile globale come Nix ha un punto.


0

Personalmente ho riscontrato lo stesso messaggio di errore e il problema era legato al fatto di aver fatto un refuso relativo alla cartella situata sulla macchina host e che ho impostato come cartella condivisa all'interno della macchina virtuale grazie alle aggiunte guest.

Quindi il comando giusto è:

sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) shared_folder_located_in_host_machine path_to_mounting_folder_inside_the_virtual_machine

Ciò ha risolto il messaggio di errore.


0

Per me era la versione sbagliata delle aggiunte degli ospiti.

Ho spostato tutta la mia VM da un laptop (che eseguiva VirtualBox 5.8 / qualcosa) a un altro laptop con VirtualBox 6.0. Tutto ha funzionato tranne il montaggio della cartella condivisa.

Ho appena avviato VM, ho cliccato Devices -> Insert Guest additions CD image...e seguito le istruzioni. Ha paralizzato un po 'la presenza della versione precedente delle aggiunte degli ospiti, ma poi l'ha rimosso e ha installato quello nuovo al secondo tentativo. Riavvia e funziona.

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.