mercoledì 18 giugno 2008

VirtualBox: quando le cartelle condivise non condividono

Dite la verità: nessuno di voi si è mai trovato in questa situazione? Vi installate le VirtualBox Guest Additions nel guest, riavviate la macchina virtuale, e quando già pregustate il momento di condividere con facilità file tra host e guest vi accorgete che la condivisione cartelle c'è (Fig. 1),

Fig. 1 - cartelle condivise - indicazione attivita
Fig. 1


ma il guest Windows non se ne accorge per niente, ed il lato destro della finestra che dovrebbe mostrarne il contenuto, resta tristemente vuoto (Fig. 2).

Fig. 2 - cartelle condivise - in Risorse di rete del guest
Fig. 2


Ecco, se siete arrivati fin qui a leggere, siete sicuramente venuti ai ferri corti con le vostre cartelle condivise, vediamo se riusciamo a farci pace! La soluzione empirica che sto per proporvi nel mio caso ha funzionato; devo anche dirvi che non ci sono garanzie funzioni nel vostro, ma vista la situazione in cui vi trovate e se avete un guest Windows, qualunque sia l'host, provatela, magari risolvete.

Iniziate con lo spegnere la macchina virtuale e portatevi sulle sue impostazioni di rete (Fig. 3).

Fig. 3 - cartelle condivise - impostazioni di Rete del guest
Fig. 3


Di default, se non avete già armeggiato con la configurazione di rete della macchina virtuale, questa è dotata di una scheda Pcnet-FAST III (Am79C973); al suo posto selezionate la Intel PRO/1000 MT Desktop (82540EM), infine fate ripartire la macchina virtuale (Fig. 4).

Fig. 4 - cartelle condivise - scelta scheda di rete del guest
Fig. 4


Appena ripartita la macchina virtuale, Windows nel guest si accorgerà della nuova scheda di rete e farà partire l'Installazione guidata nuovo hardware; cliccate su Annulla tutte le volte che compare la schermata di Fig. 5.

Fig. 5 - cartelle condivise - Installazione guidata nuovo hardware
Fig. 5


Windows nel guest si lamenterà un po' (Fig. 6), non dategli retta.

Fig. 6 - cartelle condivise - nuovo hardware non correttamente installato
Fig. 6


Disinstallate invece le VirtualBox Guest Additions (Fig. 7) e riavviate di nuovo la macchina virtuale.

Fig. 7 - cartelle condivise - disinstallazione VirtualBox Guest Additions
Fig. 7


Finita la ripartenza, nel guest si ripresenterà la schermata Installazione guidata nuovo hardware; cliccate ancora su Annulla tutte le volte che ricompare la schermata di Fig. 5, e su “NO” al messaggio che vi chiede di riavviare.

Reinstallate nuovamente le VirtualBox Guest Additions ed al termine riavviate il guest. Quando questo è ripartito, Windows al suo interno vi richiederà nuovamente di reinstallare la scheda di rete, cliccate ancora su Annulla. Andate invece a verificare in risorse di rete: eccolaaa! Questa benedetta cartella condivisa, finalmente vive e lotta insieme a noi (Fig. 8)! :-D

Fig. 8 - cartelle condivise - cartelle condivise visibili nel guest
Fig. 8


Ci resta da sistemare la scheda di rete che al momento non è ancora completamente funzionante (Fig. 9)

Fig. 9 - cartelle condivise - scheda di rete non ancora correttamente installata
Fig. 9


Tramite l'host, dall'indirizzo web

http://downloadcenter.intel.com/Product_Filter.aspx?ProductID=871&lang=ita

scaricate i driver della scheda di rete Intel® PRO/1000 MT Desktop, poi tramite la condivisione cartelle portateli nel guest. Installateli qui e provateli, ad esempio navigando su internet dal guest stesso; se tutto è a posto dovreste riuscirci.

Bene, con questo è tutto; alla prossima magagna di VirtualBox! ;-D
@:\>

sabato 14 giugno 2008

VirtualBox: -1908 (VERR_VM_DRIVER_NOT_INSTALLED)

Vi ricordate il post "VirtualBox: attenti alle Guest Additions!"? Vi illustravo una peculiarità delle VirtualBox Guest Additions in guest Linux. Quando gli aggiornamenti della distribuzione vanno ad influenzare il kernel, queste nel migliore dei casi smettono semplicemente di funzionare perdendo così la migliore integrazione fra host e guest che esse offrono: il mouse resta intrappolato nel guest, le performance video calano drasticamente e così via.

Nel peggiore dei casi però, illustrato appunto nel post, le Guest Additions non smettono del tutto di funzionare e l'unico sintomo che permette di accorgersi che qualcosa non va, è una diminuzione delle performance. Comunque sia, la cura al problema è unica per entrambi i casi: le VirtualBox Guest Additions vanno reinstallate, procedura di pochi minuti al massimo compresa la ripartenza della macchina virtuale.

E nel caso di host Linux? Cosa succede a Virtualbox su host Linux quando l'host scarica ed installa nuovi aggiornamenti che coinvolgono anche il kernel?

A spiegarcelo sarà Maurizio, che in un commento riportava direttamente la sua esperienza in proposito, prima però, un'avvertenza: quanto state per leggere è valido per tutte le distribuzioni Linux, pertanto anche se la vostra non è una Ubuntu 8.04, proseguite comunque la lettura, la soluzione è identica. Sentiamo Maurizio.

Dopo qualche giorno di tranquillità, la mia VirtualBox era di nuovo in panne. La macchina virtuale con XP dava il seguente messaggio di errore:

VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Re-setup the kernel module by executing '/etc/init.d/vboxdrv setup' as root.
VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).


Da ignorante di linea di comando e consolle ho cercato su Santa Internet che mi ha salvato ancora:

sudo /etc/init.d/vboxdrv setup

E VirtualBox rifunziona automagicamente...
C'era scritto comunque nel messaggio di errore... bastava leggere" .
La soluzione è tratta da una ricerca su Google sul forum di Ubuntu-it

http://forum.ubuntu-it.org/index.php?topic=193958.msg1287261

Ora è tutto di nuovo a posto, mi sono risparmiato la terza reinstallazione di VirtualBox e XP e spero che questo possa servire ad altri che hanno lo stesso problema. Ciao
Maurizio


Ecco, ora conoscete il problema, ed anche la sua soluzione; grazie Maurizio! :)
Bene, vediamo ora un pò più da vicino cosa è successo. Il primo indizio c'è lo fornisce la frase "Dopo qualche giorno di tranquillità, la mia VirtualBox era di nuovo in panne". E' il tempo che probabilmente è servito a rendere disponibile qualche nuovo aggiornamento del kernel di Ubuntu 8.04 (dal periodo in cui è accaduto, direi la versione 2.6.24-18).

VirtualBox usa un apposito modulo del kernel (in parole semplici: una parte di kernel caricata solo quando serve) per fare il suo lavoro: grazie a questo modulo VirtualBox può allocare le quantità di memoria e di risorse di CPU dell'host necessarie per far funzionare il guest. L'aggiornamento del kernel dell'host va inevitabilmente ad influenzare anche il funzionamento dei suoi moduli che possono così smettere di funzionare, ed è proprio quello che accade al modulo VirtualBox.

Il risultato? L'interfaccia grafica di VirtualBox continua a funzionare, si possono configurare tutte le macchine virtuali che vogliamo, ma queste NON partono e ci viene restituito l'errore segnalato da Maurizio che fa anche da titolo al post. E' alla partenza della macchina virtuale infatti che questo modulo viene invocato per allocare memoria e risorse di CPU per il guest, ed è lì che emerge il problema dovuto al suo mancato funzionamento.

La soluzione, lo dico in maniera molto "casereccia",
è di informare anche la nuova versione del kernel della presenza del modulo di VirtualBox, cosa che avviene dando da root, cioè come amministratore del sistema, il comando:

/etc/init.d/vboxdrv setup

Fate attenzione a come si diventa amministratore sul vostro sistema: in quasi tutte le distribuzioni si da il comando su, una volta data la password sarete amministratori e potrete dare il comando appena visto. In Ubuntu è prassi avere l'amministratore disabilitato e premettere sudo al comando da dare, in questo modo:

sudo /etc/init.d/vboxdrv setup

Per comprendere bene la differenza fra su e sudo, leggete il post "VirtualBox: su, sudo e cartelle condivise in guest Linux".

Bene, mi sembra sia tutto; alla prossima! :)
@:\>

venerdì 6 giugno 2008

VirtualBox 1.6.2

A tempo di record, appena un mese dalla versione 1.6.0, esce la nuova versione del software di virtualizzazione di Sun (Fig. 1): VirtualBox 1.6.2. Si tratta di una versione di mantenimento che non aggiunge nuove funzionalità, bensì va a sistemare numerose anomalie emerse durante l'uso della versione precedente.

Fig. 1 - macchine virtuali in VirtualBox 1.6.2
Fig. 1

Il Changelog comprende infatti la risoluzioni di problemi all'interfaccia grafica, alla rete, alle Guest Additions, al supporto SATA introdotto proprio con la precedente release, alle cartelle condivise, ed anche la risoluzione di problemi specifici dei vari host supportati: Linux, MacOS X, Solaris, Windows.

A proposito di Windows: vorrei ricordarvi (come ha scoperto Gabriele che ringrazio per la segnalazione) che dalla versione 1.6.0, non sono più supportati host Windows 2000 a causa dell'uso in VirtualBox di una nuova API che in Windows 2000 non è disponibile; resta invece supportato come guest.

Tra l'altro l'utente sandervl di Sun Microsystems, in questo topic (in inglese) nel forum di VirtualBox diceva che la decisione poteva essere riconsiderata se richiesto da molti utenti; se vi va, tentar non nuoce. ;-)

Chi di voi decide di passare a VirtualBox 1.6.2 dalla versione precedente, questa volta troverà un'installazione piuttosto pulita e senza bisogno di disinstallare la versione precedente: si occuperà di tutto la stessa procedura d'installazione. Fate attenzione però al seguente messaggio (Fig. 2):

Fig. 2 - VirtualBox 1.6.2 - ricreare manualmente interfaccia host di rete dopo installazione
Fig. 2

In pratica vi toccherà ricreare tutte le eventuali interfacce host di rete che avevate nelle macchine virtuali della precedente versione.

A proposito di precedente versione: ricordatevi che anche le VirtualBox Guest Additions nelle macchine virtuali lo sono, provvedete ad aggiornarle.

@:\>