Mentre la macchina virtuale parte, vi spiego un attimo il lato tecnico del problema; se invece non siete curiosi di sapere perché Linux ad ogni spegnimento o anche semplice riavvio si perde la cartella condivisa, allora saltate direttamente al paragrafo sopra fig. 21.
Linux all'avvio esegue tutta una serie di operazioni, compresa quella di mount. Tramite questa rende disponibili nel filesystem tutti i dispositivi che trova elencati nel file /etc/fstab, ad esempio il disco rigido oppure il lettore CD/DVD-ROM. Ed ecco il motivo per cui al riavvio si perde la cartella condivisa: essa semplicemente non viene montata perché non è indicata fra i dispositivi da montare nel file fstab; VirtualBox non effettua questa modifica, ed in realtà non servirebbe comunque.
Chi infatti rende disponibile sotto forma di dispositivo da montare la nostra cartella condivisa, è un driver delle VirtualBox Guest Additions (ecco perché vanno installate prima di fare questi giochetti con le cartelle condivise). Questo driver viene caricato molto dopo che Linux ha già fatto il mount dei dispositivi indicati in fstab, pertanto anche trovandovi l'indicazione di montare la cartella condivisa, in quel momento non è ancora disponibile e non verrebbe caricata.
Occorre dare il comando di mount da qualche altra parte, in un punto in cui il driver delle Guest Additions è già stato caricato e la cartella condivisa resa disponibile come dispositivo da montare. Un file letto da Linux sempre all'avvio ma dopo il driver delle Guest Additions è /etc/init.d/rc.local. Vediamo come modificarlo aggiungendovi il nostro sospirato comando di mount.
Aprite il vostro terminale e date il comando sudo gedit che vi permetterà di lanciare gedit, l'editor di gnome, con permessi di amministratore. In alternativa, sul vostro sistema date sudo nome_vostro_editor (fig. 21). Date la password e poi un invio per proseguire.
fig. 21
Si aprirà gedit con i permessi da amministratore, potrete pertanto modificare qualunque cosa sul vostro sistema, fate la massima attenzione a modificare esattamente come indicato se non volete trovarvi con un Linux in panne. Cliccate sul pulsante apri e navigate le cartelle fino a /etc/init.d/, lì aprite il file rc.local (fig. 22). In fondo a quello che è uno script, aggiungete la riga:
mount -t vboxsf 'Cartella condivisa host' /mnt/'Cartella condivisa host'
Uscite salvando le modifiche.
fig. 22
Riavviate la macchina virtuale e date un'occhiata nella cartella condivisa! ;-D
Se sul vostro sistema non dovesse essere presente questo file, potete fare le stesse modifiche nel file/etc/rc.d/rc.local, non le ho provate ma dovrebbero funzionare bene.
E se invece non volessimo fare l'auto-mount della cartella condivisa ma montarla al volo di volta in volta senza stare a ricordarsi tutto il comando per intero? Qualcuno ha detto script?!? Avete detto bene, ma tutto questo, nella 4a parte del post.
@:\>
Ha funzionato alla perfezione, grazie infinite!:D
RispondiEliminaPurtroppo non funziona con Sabayon, perche' stranamente li' il file rc.local proprio non c'e', ma pazienza...(Credo siano le estension a non essere supportate in verita'...)
In compenso, non so come ma ora entrambe le distribuzioni finalmente vedono la chiavetta USB!:)
Oohhh... e finalmente anche questa benedetta chiavetta USB ci ha dato soddisfazione! :-D
RispondiEliminaSono davvero contento abbia funzionato tutto bene e grazie a te per aver trovato la pazienza di leggere i post. :-)
Grazie per averle scritte:)
RispondiEliminaGrazie mille per le informazioni, mi è stato molto utile come post
RispondiEliminaCiao,
RispondiEliminama anche con virtualbox 4.1.8 e guest ubuntu 11.10 c'è il bisogno di fare questa procedura??
In effetti no, dalla versione 4.x c'è la nuova opzione di "Montaggio automatico" (Automatic mounting) che rende superflua tutta la procedura di questo post, resta invece valida per le versione precedenti di VirtualBox.
RispondiEliminaAppena ho un attimo di tempo ci scrivo su un post dettagliato, anche se è molto semplice ci sono un po' di cose da sapere perché tutto funzioni bene al primo colpo; intanto grazie per lo spunto molto interessante. :)
Ho eseguito tutto alla lettera dal post 1 a 3 delle cartelle condivise; fino a quando si monta la cartella tutto bene ma una volta spenta e riavviata la macchina si perde la condivisione. Questo anche con monta permanente attivata.
RispondiEliminaInfluisce in qualche modo la rete???
e infine, una volta che la condivisione è attiva come faccio a creare un collegamento sulla scrivania??
grazie per la gentile collaborazione
No, per fortuna la rete non influenza in alcun modo le cartelle condivise.
RispondiEliminaPresumo tu sia su Ubuntu, con la modifica al file "rc.local" indicato nel post 3 (cioè questo) la condivisione non viene persa neanche al riavvio, ho appena verificato.
Fai invece un'altra cosa. Aggiungi le istruzioni
"-o uid=tuo_nome_utente,gid=tuo_nome_utente,rw"
alle modifiche del file "rc.local" in modo che alla fine appaia così:
sudo mount -t vboxsf -o uid=tuo_nome_utente,gid=tuo_nome_utente,rw condivisione_virtualbox /mnt/'Cartella condivisa host'
È un'unica riga ed in questo modo ti assicuri di avere i giusti permessi di lettura/scrittura sulla cartella condivisa.
Per creare il link basta aprire Nautilus, navigare fino alla directory /mnt, tenere premuto CTRL+Maiusc e trascinare la directory "Cartella condivisa host" ad esempio sulla scrivania, vedrai crearsi automaticamente il collegamento.