venerdì 12 ottobre 2007

VirtualBox: cartelle condivise in guest Linux (2a parte)

Prima di procedere con la condivisione dell'intero disco rigido dell'host direttamente dall'interno del guest, voglio mostrarvi un attimo il significato del comando di mount che avevamo dato nella 1a parte del post, tra fig. 11 e fig. 12. Il comando era:

sudo mount -t vboxsf 'Cartella condivisa host' /mnt/'Cartella condivisa host'

- sudo, chiede di eseguire i comandi successivi con i diritti di amministratore;
- mount, monta un dispositivo come può essere un disco rigido; in questo caso la vostra cartella condivisa. L'opzione Cartelle condivise di fig. 7 nella 1a parte del post la rende infatti disponibile al guest Linux proprio come se fosse un dispositivo, e come tale può essere montata;
- -t, una opzione di mount per indicare il tipo di filesystem (cioè di organizzazione dei dati) del dispositivo che vogliamo montare;
- vboxsf, è il filesystem di VirtualBox;
- 'Cartella condivisa host', il dispositivo da montare. Gli apici servono solo perché il nome del dispositivo contiene spazi ma non fanno parte del nome stesso; se non ci fossero spazi nel nome, gli apici singoli non comparirebbero;
- /mnt/'Cartella condivisa host', la posizione della cartella in cui il dispositivo (cioè la nostra cartella condivisa) viene montato e reso disponibile sotto Linux.

Vediamo adesso come condividere l'intero disco rigido host direttamente dalla macchina guest in funzione. Cliccate su Dispositivi --> Cartelle condivise della finestra di VirtualBox in cui gira il guest (fig. 14)

Fig. 14 - Cartelle condivise guest Linux - condivisione cartella guest avviato
fig. 14


Si aprirà nuovamente la finestra Aggiungi condivisione: cliccate sul pulsante di ricerca della cartella da condividere come indicato dal mouse in fig 15.

Fig. 15 - Cartelle condivise guest Linux avviato - percorso cartella
fig. 15


Questa volta però selezionate l'intero disco rigido: non c'è nulla infatti che ci vieta di farlo, anche se l'opzione che stiamo usando di VirtualBox si chiama Cartelle condivise! Cliccate su OK per confermare la scelta e proseguire.

Fig. 16 - Cartelle condivise guest Linux avviato - condivisione disco rigido host
fig. 16


Tornerete così alla schermata precedente (fig. 17). Se volete cambiate pure il Nome cartella con cui il disco rigido sarà visibile nel guest, e poi scegliete se lasciare selezionata o meno l'opzione Make Permanent. Se è selezionata la condivisione è permanente, in caso contrario si tratterà di una Cartella transiente, la cui condivisione è valida solo per questa sessione di lavoro. Quando spegnerete la macchina virtuale, badate, non un semplice riavvio, ma spegnimento e riaccensione, la condivisione andrà persa e occorrerà condividerla nuovamente se ne avete ancora bisogno.

Quando avete terminato, cliccate su OK per proseguire.

Fig. 17 - Cartelle condivise guest Linux avviato - condivisione permanente-transiente
fig. 17


Ed eccola! Nel vostro file manager è apparsa l'icona di una nuova cartella: C_DRIVE (fig. 18); cliccateci sopra per aprirla.

Fig. 18 - Cartelle condivise guest Linux avviato - creazione punto di mount
fig. 18


Vi ritroverete così a navigare il disco rigido dell'host (fig. 19) che era quello che volevamo!
Ricordate però: state soltanto navigando il disco rigido dell'host, come se vi foste affacciati ad una finestra che vi fa dare un'occhiata al contenuto. I file perciò, anche se li vedete dal guest, fisicamente sono ancora sull'host. Se lì volete fisicamente sul guest, allora dal vostro file manager trascinateli in una cartella del guest stesso e verranno copiati lì.

Fig. 19 - Cartelle condivise guest Linux avviato - disco rigido host montato
fig. 19


E' tutto! O forse no... forse no, anzi, no! Proprio per niente.
Come Michele Benvegnù ha segnalato (grazie Michele, sempre preziosissimo! :-D), quanto abbiamo visto finora nelle 2 parti di questo post è soltanto teoria (questo sono io a dirlo). Nella pratica VirtualBox non può scavalcare quelli che sono i meccanismi di funzionamento
interni di Linux.

Risultato: se provate a riavviare la macchina virtuale, vi accorgerete che nei vostri punti di mount, Cartella condivisa host e DRIVE_C non è visibile più nulla. Occorre rifacciate ogni volta a manella il mount della cartella condivisa con i comandi:

sudo mount -t vboxsf 'Cartella condivisa host' /mnt/'Cartella condivisa host'

oppure

sudo mount -t vboxsf 'C_DRIVE' /mnt/'C_DRIVE'

Lo trovate noioso? Sono d'accordo con voi! Ecco perché nella terza parte di questo post vedremo come fare l'auto-mount della cartella condivisa. ;-D

@:\>