Quando VirtualBox ti fa vedere Iddio!

Questo post leggermente polemico ha come unica funzione quella di servirmi come promemoria per fissare da qualche parte alcuni problemi ricorrenti con VirtualBox.

Per chi ancora non conoscesse o non usasse la virtualizzazione, VirtualBox è una delle soluzioni più usate per usare un sistema operativo (Guest) all'interno di un sistema operativo principale (Host).
Il vantaggio principale di questa configurazione rispetto al dual boot è che i 2 sistemi operativi possono funzionare in contemporanea.
Ovviamente la virtualizzazione si fa solo su computer moderni e il fattore "in contemporanea" forse è un po' un'arma a doppio taglio, nel senso che è comodo ma non bisogna abusarne.

Sì, ma qualche caso pratico?

Una macchina reale (Host) "sperimentale" con driver beta e software appena uscito e una macchina virtuale (Guest) con il software stabile, da usare per le cose importanti. Nel caso la prima impazzisca si può prelevare la macchina virtuale e continuare ad essere produttivi.

La macchina virtuale per quanto stabile è soggetta agli stessi imprevisti di quella reale, con qualche piccolo problema aggiuntivo dovuto alla sua natura volatile, qualche esempio.

  • rallentamenti I/O: se la macchina usa molto l'hard disk, la macchina virtuale può risentirne di molto. Mi è capitato di aspettare fino a 2 minuti per veder salvato un piccolo file di testo. In questo caso conviene aspettare per non trovarsi poi una VM con la partizione corrotta.
  • problemi dovuti all'aggiornamento: quando si aggiorna il sistema Guest potrebbe essere necessario reinstallare i binari "Guest Addiction" per riavere l'integrazione del mouse e del copia-incolla. In 2 casi l'aggiornamento di Ubuntu si è concluso parzialmente e malamente. Ho dovuto usare il LiveCD sulla VM per poter dare sudo fsck /dev/sda1 per poterlo riprenderlo. La cosa insoluta è che nonostante il disco vdi fosse corrotto Xorg riusciva ancora a partire XD
  • mouse e tastiera bloccati nel guest: a volte può capitare che non vengano rilasciati dalla macchina virtuale e le soluzioni che finora ho trovato sono di spegnere il sistema Guest oppure staccare fisicamente il connettore USB di mouse o tastiera.

Nonostante queste anomalie, non tornerei più indietro è troppo comodo avere una macchina pronta per qualsiasi utilizzo. Se poi aggiungete che i segnalibri e i file importanti possono essere sincronizzati tramite Chrome e DropBox davvero ci si può ricreare immediatamente l'ambiente Linux o Windows che si desidera.

Tanto per rimanere vediamo se qualcuno ha qualche buona idea, i dati del sistema Guest li tenete nella vm o li salvate su una cartella del sistema reale e come fate il backup della virtual machine se il file attivo non necessariamente corrisponde al file fisico su disco?

PS: A quanto pare si riesce a far funzionare l'ultima versione di VirtualBox (3.2.6) con l'ultima versione di Ubuntu 10.04 Lucid col kernel (Linux 2.6.32-24-generic) basta aver installato prima i rispettivi linux-headers-2.6.32-24-generic, altrimenti incorrerete nel poco appariscente, ma vitale errore sottostante.

VBOXADDITIONS_3.2.6_63112$ sudo ./VBoxLinuxAdditions-amd64.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 3.2.6 Guest Additions for Linux.........
VirtualBox Guest Additions installer
Removing installed version 3.2.6 of VirtualBox Guest Additions...
tar: Dimensioni del record = 8 blocchi
Building the VirtualBox Guest Additions kernel modules ...fail!
Your system does not seem to be set up to build kernel modules.
Look at /var/log/vboxadd-install.log to find out what went wrong. Once you have corrected it, you can
run

/etc/init.d/vboxadd setup

to build them.
Doing non-kernel setup of the Guest Additions ...done.
Installing the Window System drivers
Installing X.Org Server 1.7 modules ...done.
Setting up the Window System to use the Guest Additions ...done.
You may need to restart the hal service and the Window System (or just restart
the guest system) to enable the Guest Additions.

Installing graphics libraries and desktop services components ...done.
VBOXADDITIONS_3.2.6_63112$ cat /var/log/vboxadd-install.log
Makefile:23: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.. Arresto.
Creating user for the Guest Additions.
Creating udev rule for the Guest Additions kernel module.

VBOXADDITIONS_3.2.6_63112$ sudo ./VBoxLinuxAdditions-amd64.run 
Verifying archive integrity... All good.
Uncompressing VirtualBox 3.2.6 Guest Additions for Linux.........
VirtualBox Guest Additions installer
Removing installed version 3.2.6 of VirtualBox Guest Additions...
tar: Dimensioni del record = 8 blocchi
Building the VirtualBox Guest Additions kernel modules ...fail!
Your system does not seem to be set up to build kernel modules.
Look at /var/log/vboxadd-install.log to find out what went wrong.  Once you have corrected it, you can
run

/etc/init.d/vboxadd setup

to build them.
Doing non-kernel setup of the Guest Additions ...done.
Installing the Window System drivers
Installing X.Org Server 1.7 modules ...done.
Setting up the Window System to use the Guest Additions ...done.
You may need to restart the hal service and the Window System (or just restart
the guest system) to enable the Guest Additions.

Installing graphics libraries and desktop services components ...done.
VBOXADDITIONS_3.2.6_63112$ cat /var/log/vboxadd-install.log
Makefile:23: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.. Arresto.
Creating user for the Guest Additions.
Creating udev rule for the Guest Additions kernel module.