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! :)
@:\>

5 commenti:

  1. Mille grazie. Non tanto e non solo per la diffusione del "TIP" ma anche per la spiegazione sul kernel. Quasi ogni giorno Ubuntu riceve corposi aggiornamenti che, come ben spieghi, possono non essere compatibili con la VirtualBox installata. Questo il bello di Santa Internet, ma sopratutto IL BELLO DEL SOFTWARE LIBERO. Come ti dicevo, sono sul web dal 1997, e da circa un anno ho smaltito l'anestetico drogante di Microsoft e dei S.O. proprietari. Mi trovo a provare una sensazione del tutto nuova: col tempo potrei avere il reale controllo del mio pc. Senza la velleità di essere tutti "hacker", per me e per tanti altri si sta forse aprendo la strada per un uso consapevole e maturo dell'informatica.
    Anche per questo ti ringrazio e farò "eco" al tuo/nostro magnifico post sul mio WebArgentarivs_IT - http://argentarius.wordpress.com/.

    RispondiElimina
  2. E infatti Maurizio, proprio ora ho tirato giù un nuovo corposo aggiornamento che tra gli altri include anche una nuova versione del kernel, la 2.6.24-19. Sul guest ho rimesso mano alle Guest Additions, su un host Ubuntu probabilmente si ripresenterà l'errore -1908! ;-)

    L'argomento che tocchi è davvero tanto profondo e variegato quanto profonda e variegata è la presenza degli strumenti informatici nella nostra vita. Ormai non si tratta più della semplice diatriba fra sostenitori di questo o quel sistema operativo, è qualcosa di davvero ben più profondo; prendo a prestito una tua parola per dire che davvero inizia ad essere questione di "consapevolezza".
    Consapevolezza di noi stessi, di dove siamo, di cosa scegliamo e perché, sopratutto quando ti rivolgono domande del tipo: "Ma perché, Windows non è gratis?".
    E' quello il momento in cui si fa strada forte il dubbio che non ci sia tutta la consapevolezza che ci può essere nelle cose che facciamo, nelle scelte che operiamo. Siamo come "anestetizzati" (ancora una parola tua), la stessa anestesia forse, che ci lascia ore davanti alla TV a guardare i programmi della domenica pomeriggio, in attesa che arrivi il lunedì ed il tran tran ricominci uguale.
    Liberarsene è un percorso personale di risveglio che ognuno di noi deve decidere liberamente di fare, gli strumenti interiori e tecnologici ci sono, a noi tutti la scelta. :-)

    A presto, ciao ciao.
    @:\>

    RispondiElimina
  3. Per me, quasi inconsapevolmente, stiamo facendo un "ritorno al futuro". Similmente alle agorà greche, ma per la prima volta a livello planetario, tutti possono parlare con tutti. La gente non sa, non è consapevole, che tutti abbiamo voce e visibilità grazie alla potenza trasmissiva e comunicazionale del web. Ci sono opportunità, ma anche minacce. Alcuni esempi positivi e negativi: per norme comunitarie, Internet e la banda larga sono un diritto primario di tutti i cittadini europei, esattamente come l'acqua corrente, l'elettricità e l'assistenza sanitaria. Italia Oggi pubblica analisi sulle presidenziali americane senza precedenti: la rete di blog e contatti informatici di Obama è stata decisiva per vincere. La libertà di comunicazione, la riservatezza e il controllo sui nostri pc è minacciata dalla tecnologia TPM, un chip che permette ai costruttori e alle grandi software house di controllare a distanza e condizionare il controllo che l'utente fa della sua macchina. Mi fermo qui perchè sto andando veramente troppo, troppo in là e concludo pensando che difendere l'informatica libera e fare un uso consapevole del pc è un valore. Ciao e scusa se mi sono lasciato andare alla "filosofia", ma in queste cose ci credo.

    RispondiElimina
  4. salve, dopo un aggiornamento (credo) di sistema mi da il fatidico errore VERR_VM_DRIVER_NOT_INSTALLED

    con annesso messaggio di dover reinstallare il kernel.

    Bene eseguo il tutto, riavvio e mi da di nuovo l'errore. Stavolta mi richiede l'installazione delle virtualbox-ose-modules.

    Vado sul sito di ubuntu scarico il package, ma nell'installarlo mi dice che questo va in conflitto con una versione già esistente delle ose modules....

    Che fare? potrei disinstallare le vecchie e mettere le nuove?

    Grazie!

    RispondiElimina

L'autore del commento si assume la totale responsabilità del suo contenuto. Commenti ritenuti offensivi o non attinenti potranno essere cancellati.