lunedì 4 giugno 2007

VirtualBox: come configurare le porte USB

Update del 10 Dicembre 2011:
dalla versione 4.x di VirtualBox per avere il supporto ai dispositivi USB 2.0 occorre installare il VirtualBox Extension Pack; è disponibile nella stessa pagina di download di VirtualBox.


E rieccoci, dopo un pò di tempo, a parlare nuovamente di VirtualBox.
Questa volta vi spiegherò come configurare le porte USB, un problema più comune di quanto si possa credere (colgo l'occasione per ringraziare Luciano che ha posto per tutti la domanda in questo commento).

E vediamo come fare.

La soluzione è valida per qualunque distribuzione Linux vogliate virtualizzare perché non è Linux a non vedere le porte USB, è nella configurazione hardware del PC virtuale che avete creato in VirtualBox che semplicemente non esistono, magari perché vi siete dimenticati di attivarle. Lo sottolineo ancora: Linux non riconoscerà mai e poi mai le porte USB se queste non sono già presenti e attive nella configurazione hardware del PC virtuale.

Non dimentichiamoci infatti una cosa basilare. VirtualBox è un programma che serve a creare un intero PC virtuale, con tutte le componenti hardware che costituiscono qualunque PC reale. Ci sarà pertanto un disco rigido, anche se solo virtuale, una scheda video, virtuale anch'essa, quella audio, e tra le altre cose, anche una o più porte USB; ma solo se le avremo esplicitamente previste mentre stavamo creando il PC virtuale, o in alternativa, le abbiamo comunque aggiunte successivamente. Perciò, prima attivate le porte USB nella macchina virtuale e solo poi potrete aspettarvi che Linux le riconosca.

Vediamo adesso come VirtualBox gestisce le porte USB reali per poi renderle disponibili nel PC virtuale. VirtualBox in realtà non riconosce le porte USB del vostro PC reale! Sorpresi? Ciò che riconosce invece sono i singoli dispositivi USB che inserite in esse, ad esempio la vostra chiavetta.

VirtualBox si accorge della sua esistenza solo quando la inserite nel PC reale e la rende disponibile nel PC virtuale, qualunque sia la porta USB reale fra quelle a disposizione a cui la collegate. Se la chiavetta la prossima volta la inserite su una porta diversa, si tratta sempre e comunque di quella chiavetta. Basta configurarla una e una sola volta in VirtualBox, la prima, e poi sarà sempre riconosciuta qualunque sia la porta in cui la inseriamo. E così l'eventuale vostro disco rigido esterno USB, la stampante USB, e così via, indifferentemente da quale porta sul PC reale state usando.

Scoperto l'arcano, non ci resta allora che avvisare VirtualBox dell'esistenza della nostra chiavetta USB. Come? Semplicemente inserendola nel vostro PC reale mentre VirtualBox non gira. Appena la chiavetta viene riconosciuta da Windows, avviate VirtualBox. Se non avete già una macchina virtuale pronta, createla seguendo le istruzioni del post "Virtualizzazione: creiamo un PC virtuale con VirtualBox 1.4 (parte 1)".

Ora sia che si tratti del PC virtuale appena creato, sia si tratti di quello con Linux già installato e da fargli riconoscere solo i dispositivi USB, passate a configurare la vostra chiavetta USB così come indicato nel post "Virtualizzazione: creiamo un PC virtuale con VirtualBox (parte 3a)".

Bene, ora chiudete VirtualBox e sfilate la chiavetta USB dal PC reale.

Ora, solo se si tratta della macchina virtuale appena creata, riavviate VirtualBox e procedete con l'installazione di Linux nella distribuzione da voi preferita. Quando è terminata e avete Linux perfettamente funzionante davanti a voi, spegnete Linux facendo lo Shut Down, poi chiudete VirtualBox.

Siamo pronti!

Riavviate VirtualBox e avviate in esso la macchina virtuale. Quando la partenza è terminata e siete davanti al desktop di Linux, infilate la vostra chiavetta USB nel PC reale: solo la prima volta, partirà l'installazione completamente automatica di un driver VirtualBox USB. E' questione di pochi secondi: appena terminata, dopo qualche secondo ancora, comparirà finalmente sul desktop la chiavetta USB.

Ora che tutto funziona, per essere sicuri che la chiavetta USB venga sempre rilevata al suo inserimento, seguite questa procedura:

  • prima avviate VirtualBox,
  • poi avviate il PC virtuale,
  • solo quando il sistema operativo installato al suo interno ha completato la partenza, inserite il dispositivo USB nella porta del PC reale.
Giusto per completezza, riporto sotto gli screenshot di come appare la mia chiavetta USB sotto Ubuntu 7.04 (fig. 1) e Suse 10.2 (fig. 2).

VirtualBox - USB - Ubuntu
fig. 1


VirtualBox - USB - Suse
fig. 2


E' tutto. Spero di avervi aiutato a dissipare ogni dubbio in merito alla configurazione di dispositivi USB in VirtualBox, e se avete problemi ancora problemi, non mancate di segnalarmeli.

@:\>


Aggiornamento di: domenica 10 giugno 2007

Volevo segnalarvi un post di Gianbi che spiega come ha risolto il problema del riconoscimento della chiavetta sotto Ubuntu Linux.

Grazie Gianbi. :)