sabato 18 dicembre 2010

Virtualbox, vboxdrv e periferiche USB

Oggi mi sono accorto che Virtualbox OSE (che viene fornita dai repositories di Ubuntu) non supporta USB, e l'unico modo per leggere una periferica USB è installare Virtualbox prendendola dal loro sito.

Disinstallo OSE, installo il pacchetto deb di Virtualbox, l'installazione va a buon fine, senza errori.

Lancio Virtualbox (che nel frattempo aveva cambiato di posto nel menù Applicazioni, ora non è più in Accessori ma in Strumenti di sistema), vede subito le macchine virtuali che avevo con OSE, perfetto.

Provo a lanciare una VM, ed ecco il primo intoppo:


seguita dall'utile consiglio di lanciare da terminale un
sudo /etc/init.d/vboxdrv setup
per installare nel kernel il driver virtualbox e sistemare il problema.


Fantastico. Peccato che il terminale mi risponda
sudo: /etc/init.d/vboxdrv: command not found,
e qua il problema si fa decisamente più serio.

Googlando googlando, ho trovato la soluzione: il comando non viene trovato perchè quando il sistema riparte con un nuovo Kernel viene automaticamente creata una versione di backup di vboxdrv, che viene quindi rinominato vboxdrv.dpkg-bak.

Quindi basta rinominarlo:
sudo mv /etc/init.d/vboxdrv.dpkg-bak /etc/init.d/vboxdrv

A questo punto il comando
sudo /etc/init.d/vboxdrv setup
andrà a buon fine e si potranno far ripartire le VM.

EDIT:
Il problema con le periferiche USB non era risolto del tutto.
La VM si avviava tranquillamente, ma le periferiche USB non venivano viste, e nel menù Dispositivi USB di Virtualbox apparivano grigie e non selezionabili.

Se succede anche a voi, andate in Sistema / Amministrazione / Utenti e gruppi, Gestisci gruppi, selezionate il gruppo vboxusers, Proprietà, spuntate il vostro user nella finestra Membri del gruppo, e confermate il tutto.

Oppure, ancora più veloce, da riga di comando:
sudo adduser $USER vboxusers

Poi riavviate Ubuntu, e gustatevi (finalmente!) le periferiche USB nella vostra macchina virtuale.