Conosciamo meglio Virtualbox

2

In Metti un PC dentro il tuo PC abbiamo visto come sia possibile, in modo tutto sommato semplice, installare Ubuntu Linux in una macchina virtuale (vm) all’interno del nostro PC, e farlo funzionare in maniera trasparente, interagendo con esso allo stesso modo di una comune applicazione. E’ una caratteristiche che ci tornerà utile nei prossimi post dedicati a GNU/Linux.

Come è facile ipotizzare Virtualbox non è in grado di virtualizzare il solo Linux. Nelle sue macchine virtuali è infatti tecnicamente possibile installare la stragrande maggioranza dei sistemi operativi, moderni e non, e gli ostacoli molto spesso non sono di natura tecnica ma bensì legale: i sistemi operativi proprietari non vengono acquistati, ma sono usati in base ad una licenza che potrebbe imporre dei limiti.

Apple, per esempio, consente l’uso di una licenza principale di MacOsX su ogni computer fisico di loro produzione, con due licenze aggiuntive che possono essere utilizzate in macchine virtuali all’interno di quella principale, rispettando determinate condizioni. Se quindi non è quindi legittimo installare una vm MaxOsX su un computer Linux, possiamo senza problemi creare una vm MacOsx in un computer Apple per giocare e fare esperimenti in sicurezza.

Microsoft richiede il possesso di una licenza specifica per ogni istanza di Windows, fisica o virtuale che sia. In realtà la casa di Redmont ha dei piani di fornitura per i grandi utenti che prevedono anche la virtualizzazione, ma che non sono accessibili al mercato privato.
Per crearsi un ambiente di prova c’è però una strada del tutto legittima: scaricare la versione dimostrativa di Windows 8.1 Enterprise, che ha una durata di 90 giorni, ed utilizzarla come terreno di prova. Anche la Technology Preview di Windows 10 gira senza problemi in Virtualbox, dando la possibilità a tutti di prendere dimestichezza con la nuova versione.
Anche con Windows è quindi possibile crearsi una vm su cui pasticciare senza rischi.

Virtualbox ci mette a disposizione una serie di caratteristiche realmente interessanti, molto utili anche per un uso più serio della virtualizzazione. Per sfruttare tali caratteristiche è però necessario installare una serie di driver all’interno della macchina virtuale ospitata. Il meccanismo è molto semplice: basta selezionare l’opzione Inserisci l’immagine delle Guest Addition dal menù Dispositivi, che simulerà l’inserimento di un CD contenente il software di installazione.

vbox11
L’installazione dovrebbe essere automatica, ma ove ciò non fosse è sempre possibile avviarla manualmente allo stesso modo con cui faremmo con un qualsiasi CD di installazione. Come spesso accade in questi casi, Windows ci chiederà un po’ di conferme, a cui bisogna sempre rispondere in modo positivo.
La stessa procedura può essere utilizzata anche con altri sistemi operativi, compreso GNU/Linux. In alcuni casi è possibile che l’integrazione sia stata già installata automaticamente dal sistema operativo. Se ciò dovesse accadere viene solitamente visualizzato un messaggio di avvertimento:

vbox12
Basta a questo punto rispondere con un No e chiudere la finestra.

Le Guest addition, questo è il nome di questi driver, consentono di migliorare le prestazioni delle macchine virtuali e di rendere disponibili queste caratteristiche accessorie.

La prima, e più evidente, è costituita dalla possibilità di adattare automaticamente il display virtuale della vm alle dimensioni della finestra che lo contiene. E’ una caratteristica molto utile nella stragrande maggioranza dei casi, ma che in qualche situazione può anche risultare dannosa. E’ pertanto sempre possibile abilitare o disabilitare questa caratteristica utilizzando l’apposita voce del menù Visualizza.

vbox13
Altrettanto interessante è la modalità trasparente, che consente di avere visibile la sola finestra attiva della macchina virtuale,  come in questo esempio pratico:

vbox14
Il programma aperto è sempre lo stesso, Microsoft Internet Explorer in esecuzione in una vm Windows XP. A sinistra è in modalità normale, e nella finestra sono visibili tutti gli elementi del sistema XP. A destra è la stessa vm, ma con la funzione modalità trasparente attivata. Sono spariti tutti gli elementi aggiuntivi della vm, e viene visualizzata la sola finestra attiva. E’ facile notare che si integra perfettamente nell’ambiente ospite – Windows 7 – nonostante sia effettivamente in esecuzione su una vm XP.
Se avessimo del software di vecchissima data, come ad esempio vecchi programmi windows a 16bit, che non girano nei moderni sistemi a 64 bit, potremmo usare questo trucco per metterli in condizione di tornare a fare il loro lavoro in maniera efficiente.

Un’altra funzionalità molto utile è costituita dalle istantanee, in gergo tecnico chiamate snapshot. La loro funzione è quella di cristallizzare lo stato di una macchina virtuale ad un dato momento, e darci la possibilità di ritornare a quello stato, a nostro piacimento, in un momento successivo. Non essendoci limiti preordinati sul numero delle istantanee, possiamo crearne quante ne riteniamo utili.

Per capire a pieno l’utilità e la convenienza di questa caratteristica credo che la cosa migliore sia quella di fare una prova estrema.
Nell’esempio utilizzerò una vm XP, ma potrebbe andare bene qualsiasi altro sistema di base.
Creiamo una istantanea della vm:

vbox15
Quando si prende una istantanea oltre ad un nome viene chiesta anche una descrizione. Per la nostra prova è ininfluente, ma una descrizione appropriata è utilissima per ricordare le condizioni dell’istantanea a distanza di tempo.
Notate che la finestra è diventata grigia? indica che la vm in questo momento è sospesa.

 

vbox16
Presa l’istantanea, operazione che dura pochi secondi, la vm riprende il suo normale funzionamento.
A questo punto danneggiamo pesantemente il sistema operativo, cancellando a mano un po’ di file essenziali:

vbox17
E’ un comando distruttivo: riavviando Windows possiamo verificare che non è più in grado di funzionare:

vbox18

Proviamo ora a recuperare la nostra istantanea: spegnamo la vm e ripristiniamo la fotografia che avevamo creato precedentemente. E’ una operazione che si può fare sia dal menù principale di virtualbox, cliccando sul pulsante istantanee in altro a destra, ma anche direttamente al momento dello spegnimento, spuntando la casella ripristina istantanea.

vbox19
Se ora avviamo nuovamente la vm, la ritroveremo esattamente nelle stesse condizioni in si trovava al momento dello snapshot, quindi perfettamente funzionante.

E’ evidente come questa caratteristica possa tornarci estremamente utile ogni qual volta vogliamo provare dei nuovi programmi senza rischiare di creare danni inutili.
Peraltro è importante notare che l’ambiente virtualizzato è normalmente del tutto isolato da quello principale, per cui anche se un virus o un malware dovesse attaccare una macchina virtuale, questo non avrebbe modo di contagiare altri ambienti.

Ci sono delle situazioni, però, in cui questo isolamento può essere problematico. Virtualbox, fortunatamente, mette a nostra disposizione una serie di opzioni che, una volta attivate, ci consentono di evadere tali limitazioni.

vbox1a

Le possibilità sono molteplici: si può condividere l’area di appunti, in modo da poter tagliare un frammento di testo in un sistema operativo ed incollarlo nell’altro, abilitare la funzione di trascinamento drag ‘n drop, con cui possiamo copiare un oggetto semplicemente trascinandolo da aree diverse dello schermo. E’ anche possibile abilitare delle cartelle condivise, cioè degli alberi di directory della macchina ospite che vengono viste dalle macchine virtuali come risorse di rete.
Per potere accedere ad una directory del computer ospite, in questo caso c:\scambio, anche da una macchina virtuale è sufficiente definire una cartella condivisa:

vbox1b
per ritrovarla nella macchina virtuale come una condivisione di rete

vbox1d
che, ovviamente, riporta esattamente quello che è memorizzato localmente sul sistema ospite, in questo caso Windows 7

vbox1c
Volendo è possibile dichiarare la condivisione di sola lettura, in modo che le macchine virtuali che ci accedano possano attingere al loto contenuto, ma senza possibilità di alterarlo. Precauzione molto utile per evitare che malware accidentalmente avviato in una vm possa inavvertitamente estendersi anche all’ospite.

Un’altra possibilità, peraltro molto rara da trovare anche in prodotti concorrenti ben più blasonati, è la capacità di assegnare periferiche USB installate sul computer ospite a una delle vm in esecuzione.

vbox1g
Abilitando questa modalità, chiamata tecnicamente usb passthrough, è possibile indicare, anche in fase di esecuzione, quali periferiche USB debbano essere dirottate su una vm: possono essere attive, infatti, su un solo sistema operativo per volta. E’ una caratteristica comoda per caricare o salvare dati su un disco rimovibile, come in questo esempio, ma che può tornare utile in tantissimi altri casi. Peraltro è una operazione automatizzabile: inserendo nella configurazione di una vm un elenco di periferiche predefinite, queste vengono automaticamente riassegnata alla macchina virtuale quando questa è in esecuzione.

Anche il controllo sulla configurazione della rete, che è di norma abilitata, è molto evoluto e dettagliato, e consente di adattarsi facilmente ad ogni singola necessità.

vbox1e
Se modificare le opzioni in modo appropriato richiede una conoscenza abbastanza dettagliata dei meccanismi tecnici che sottostanno ai servizi di rete, c’è un parametro che può essere semplicemente modificato senza problemi e che modifica significativamente il metodo in cui è gestita la rete. Nella configurazione standard (Nat) ogni macchina virtuale utilizza una sorta di rete privata, che le consente di connettersi al mondo esterno, ma che nel contempo la rende non visibile agli altri computer che fanno capo alla rete stessa. Cambiando questo parametro in Scheda con bridge la macchina virtuale diventerà direttamente indirizzabile sulla rete come un computer autonomo, distinto dalla macchina ospite. Ricordate comunque che la configurazione di rete del sistema operativo installato all’interno di una macchina virtuale segue le stesse logiche di una equivalente fisica.

Vi è un’ultima caratteristica che può essere interessante conoscere, ed è la possibilità di accedere ad una macchina virtuale da un computer remoto, attraverso il protocollo Remote Desktop, RDP. E’ una opzione che si abilita molto semplicemente attivandola dal menù Dispositivi

vbox1f
Con schermo remoto attivo, un qualsiasi computer che disponga di un client RDP può connettersi alla macchina virtuale, volendo anche attraverso internet, per interagire con essa. Client RDP gratuiti sono disponibili un po’ per tutti i sistemi operativi, sia per computer fissi che per tablet o cellulari.

Ricapitolando, in questa panoramica di virtualbox, per necessità molto rapida e veloce, ho cercato di presentarvi le caratteristiche salienti di questo prodotto che, nonostante la sua gratuità, è molto valido e potente e si presta a tantissimi usi.
Grazie al suo aiuto potremo andare ad analizzare Linux un po’ più in profondità in un ambiente totalmente controllato.

Condividi:

L'autore

Consulente Informatico, blogger, problem solver, radioamatore. Ho iniziato la mia attività nel 1977 sviluppando sistemi di calcolo nell'area energie alternative e rinnovabili e da allora mi sono sempre interressato delle frontiere della tecnologia. Nel 1984 sono stato fra i pionieri delle BBS, i primi servizi telematici pubblici, e l'anno successivo ho portato in Italia Fidonet, la prima rete pubblica mondiale, che ho coordinato sino al 1994. Sono attivamente su Internet agli inizi degli anni 90, Nel 1998 sono stato fra i primi a credere nella convergenza digitale, arricchendo internet con materiale multimediale, come audio e video, anni prima del Web 2.0. Continuo da sempre ad occuparmi di informatica e di tecnologia con un occhio attento al futuro che ci attende. Continuo a lavorare come consulente informatico, con una specifica competenza in sicurezza, reti di comunicazione, sistemi operativi e tecnologie di virtualizzazione.

2 commenti

    • Giorgio Rutigliano il

      Virtualbox ‘virtualizza’ un sistema hardware, ma il sistema operativo che lo utilizza rimane attaccabile ai virus allo stesso modo come se funzionasse in un hardware reale.

Lascia un commento