Si riportano in questa pagina le istruzioni di installazione e configurazione del sistema di virtualizzazione multi-piattaforma Oracle VM VirtualBox per la creazione di una macchina virtuale con Ubuntu Linux.

A che serve un sistema di virtualizzazione?

Un sistema di virtualizzazione consente di eseguire in un contesto protetto un sistema operativo, detto macchina virtuale o Virtual Machine (VM), in contemporanea ad altri sistemi operativi. Una VM crea un ambiente di esecuzione che simuli un computer completamente separato, dedicando ad esso una parte delle risorse del computer reale. Ciascuna macchina virtuale è caratterizzata da certe risorse di processamento (come l’uso di uno o più core della CPU), da una porzione di memoria RAM allocabile e da un disco fisso virtuale per la memorizzazione dei dati. Tutte le operazioni svolte nell’ambito di un sistema operativo su VM, detto anche guest, non hanno alcun effetto sul sistema operativo host nativo.

Perché è utile adottare un sistema di virtualizzazione?

  • Testare più sistemi operativi senza l’obbligo di partizionare il disco e gestire le problematiche di avvio multiplo.
  • Utilizzare programmi che non sarebbero disponibili per il sistema operativo nativo in uso sul proprio PC.
  • Operazioni “distruttive” su un sistema operativo guest non implicano alcun danno al sistema host, così come la cancellazione definitiva della VM.

Nel seguito delle istruzioni si farà riferimento al popolare software opensource gratuito per la virtualizzazione Oracle VM VirtualBox, su cui verrà installata una macchina virtuale Ubuntu Linux.

Installazione di VirtualBox

Download del software VirtualBox dal sito Web ufficiale

È possibile scaricare l’ultima versione del software di virtualizzazione VirtualBox dalla pagina ufficiale del prodotto, sotto alla dicitura “VirtualBox 5.2.20 platform packages“. Al momento della scrittura di questa guida la versione 5.2.20 è l’ultima disponibile, ma qualsiasi versione successiva va bene.

VirtualBox è disponibile per sistemi Microsoft Windows, Mac OS X, GNU/Linux e Solaris. È necessario selezionare la versione di VirtualBox relativa al sistema operativo attualmente installato sul proprio computer (host), non a quello che si intende installare all’interno di una macchina virtuale (guest).

Procedura di installazione del software VirtualBox

Una volta scaricato il file di installazione, è necessario procedere all’installazione stessa eseguendo il file e seguendo le istruzioni riportate dal programma, però con alcune accortezze.

Su Windows è consigliabile deselezionare e non installare il componente “VirtualBox Host-Only Network Adapter” (dovrebbe trovarsi nella seconda schermata dell’installazione, intitolata “Custom Setup”): non è necessario per questo corso e su Windows talvolta dà problemi, vale a dire che Windows tenta di utilizzarlo per connettersi a internet e fallisce, lasciando il computer privo di connessione a internet. Su altri sistemi operativi invece non sono noti problemi di questo genere.

Durante l’installazione verrà chiesto se installare alcuni driver, ad esempio “Oracle Corporation Universal Serial Bus”: è necessario acconsentire, si tratta di driver che permettono di virtualizzare alcune periferiche (maggiori dettagli nella sezione “Uso avanzato di VirtualBox” a fondo pagina)

Su OS X è necessario compiere un passaggio addizionale prima dell’installazione:

  1. Riavviare il computer e durante la fase di accensione premere la combinazione Command + R per entrare in recovery mode.
  2. Aprire un terminale dal menù “Utility”
  3. Eseguire al suo interno il seguente comando: csrutil disable; reboot

Abilitazione delle tecnologie di virtualizzazione hardware per la propria CPU

Le CPU moderne sono equipaggiate con set di istruzioni addizionali e meccanismi hardware per incrementare le performance di esecuzione dei sistemi di virtualizzazione. VirtualBox, o una Virtual Machine generata da esso, potrebbero non funzionare correttamente o funzionare molto lentamente, nel caso in cui le seguenti tecnologie non siano abilitate nel PC in uso:

  • Intel Virtualization Technology VT-x per processori Intel (Pentium, Atom, Core i3, i5, i7, Celeron, Xeon)
  • AMD-v per processori AMD (Athlon, Opteron)

L’attivazione di queste tecnologie è consentita abilitando la funzione Virtualization Technology (o nomi simili) dal BIOS della macchina in uso. È possibile accedere al BIOS premendo tasti come F2, F10 o Canc all’avvio della macchina per sistemi Windows 7 o precedenti. I PC più moderni, invece, integrano un BIOS alternativo, detto UEFI, che è accessibile solitamente agendo dal sistema operativo Microsoft, come indicato in questa guida.

Si raccomanda di attivare queste funzionalità, se supportate dal proprio elaboratore, per avere un’esperienza d’uso migliore della macchina virtuale.

Nota: è possibile che VirtualBox non consenta l’installazione di sistemi operativi guest a 64 bit per macchine in cui le tecnologie di virtualizzazione hardware non siano abilitate.

Creazione di una macchina virtuale per Xubuntu

A seguito dell’installazione del software VirtualBox, è possibile procedere creando una nuova macchina virtuale appositamente per la distribuzione Xubuntu.

Procedura di creazione della macchina virtuale

La creazione di una nuova macchina virtuale è possibile attraverso alcuni passi, di seguito descritti.

  1. Avviare VirtualBox e selezionare l’icona Nuova in alto a sinistra
  2. Indicare un nome per la macchina virtuale, selezionare Linux come tipo e indicare come tipo Ubuntu (64 bit). Se VirtualBox visualizzasse unicamente versioni a 32 bit dei sistemi operativi guest assicurati che:
    • Il tuo sistema operativo host sia a 64 bit;
    • Le tecnologie di virtualizzazione hardware VT-x e AMD-v siano abilitate nel BIOS dell’host.
    • Se anche così non dovessi risolvere, sarà necessario scaricare e utilizzare Xubuntu a 32 bit.
  3. Indicare un quantitativo di memoria per la VM: VirtualBox suggerisce un’area verde di memoria adeguata, in base alla quantità totale presente sul PC. È consigliabile allocare 1024 MB o più per la macchina virtuale.
  4. Acconsentire alla creazione di un disco fisso virtuale di 10 GB (questo vuol dire che la macchina virtuale occuperà al massimo 10 GB, non che verrano immediatamente utilizzati)
  5. Selezionare VDI come tipologia di disco virtuale
  6. Scegliere l’allocazione dinamica per l’archiviazione dei dati su disco fisso virtuale
  7. Tutte le altre impostazioni posso essere lasciate ai valori di default

A seguito di questi passaggi, VirtualBox finalizza le operazioni di installazione della macchina virtuale che ospiterà la distribuzione Ubuntu.

Dimensionamento della VM per Xubuntu

A seguito della creazione della macchina virtuale, può essere necessario configurare ulteriormente l’ambiente di esecuzione prima di installare il sistema operativo guest. La configurazione avanzata della macchina virtuale è disponibile selezionando la stessa nell’interfaccia di VirtualBox e cliccando sull’icona in alto Impostazioni. Apparirà una finestra contenente diverse schede per le sezioni che compongono la VM appena creata. Si consigliano le seguenti operazioni, per le quali è indicato il percorso, per migliorare le prestazioni di una macchina virtuale per Ubuntu.

  • Sistema -> Processore: aumentare il numero di CPU destinate alla VM da 1 a 2, così da sfruttare il multithreading nelle architetture multicore.
  • Sistema -> Accelerazione: abilitare la virtualizzazione hardware, se supportata dal proprio PC.
  • Schermo -> Schermo: aumentare la memoria video da 12 MB ad almeno 64 MB, ed abilitare l’Accelerazione 3D (soprattutto in presenza di una scheda video dedicata).
E’ possibile salvare la configurazione della VM cliccando sul pulsante OK in basso a destra nella pagina delle impostazioni.

In questo mondo si andranno ad allocare risorse maggiori alla macchina virtuale, con l’intento di migliorare le performance e l’esperienza d’uso del sistema operativo guest. Si ricordi che la VM non ha alcun impatto sulle performance del sistema operativo host, se spenta.

Installazione di Xubuntu nella VM

Download dell’immagine ISO della distribuzione Linux

Andare sul sito ufficiale di Xubuntu e selezionare la versione 18.04 Bionic Beaver a 64 bit.

È consigliabile selezionare la versione 18.04 anche se non è l’ultima rilasciata in quanto si tratta di una versione “LTS” (Long Term Support), che riceverà aggiornamenti per più tempo delle altre. È inoltre consigliabile selezionare la versione a 64 bit, relegando quella a 32 bit solo al caso in cui VirtualBox non consentisse di creare macchine virtuali a 64 bit.

Xubuntu viene distribuito in forma di file ISO, masterizzabile su DVD o su chiavetta USB, o direttamente avviabile su VirtualBox. Salvare il file in un luogo noto in quanto andrà selezionato in seguito.

Installazione del sistema operativo Xubuntu

L’installazione del sistema operativo Xubuntu è pressoché identica a qualsiasi installazione nativa come sistema operativo host, con l’unica differenza nei passaggi preliminari, di seguito definita, per iniziare la procedura di setup vera e propria.

  1. Aprire VirtualBox, selezionare la VM appena creata e cliccare sull’icona Avvia in alto nella barra del programma.
  2. Andare sul menu Dispositivi > Lettori Ottici > Seleziona immagine disco…
  3. Selezionare il file ISO scaricato in precedenza
  4. Riavviare la macchina virtuale, dal menu Macchina > Reset

A questo punto l’installazione del sistema operativo Ubuntu dovrebbe iniziare, in maniera equivalente a quanto accade con le modalità tradizionali di installazione del software. Una guida completa in Italiano per l’installazione di Ubuntu è reperibile a questo link.

Link utili

Di seguito si riportano alcuni link utili per l’installazione del sistema di virtualizzazione VirtualBox e per la configurazione di una macchina virtuale con distribuzione Ubuntu.

Uso avanzato di VirtualBox

Di seguito si riportano alcune considerazioni su caratteristiche avanzate di VirtualBox, che tuttavia esulano dallo scopo del corso GNU/Linux Base.

Condivisione di appunti e cartelle

È possibile condividere il contenuto degli appunti (clipboard, in sostanza il testo copiato con Ctrl+C o con Tasto destro del mouse > Copia) tra i sistemi host e guest. Questo può essere utile ad esempio per salvare l’output di comandi eseguiti su Linux in un file di testo sull’host. Per abilitare questa funzionalità, mentre la macchina virtuale è in esecuzione, selezionare Dispositivi > Appunti condivisi > Bidirezionale. È possibile abilitare la condivisione anche in un solo verso, dallo stesso menu.

Si possono anche condividere intere cartelle tra macchina virtuale e sistema host, che altrimenti sarebbero completamente isolati e indipendenti, al fine di trasferire file dall’uno all’altro. Ciò può essere fatto dal menu Dispositivi > Cartelle condivise. Poiché questa funzionalità non è banale da configurare e permette al sistema guest di accedere e modificare i file sull’host, con il potenziale rischio di fare danni, ne consigliamo l’uso solo a chi ha già raggiunto una certa padronanza di GNU/Linux e di VirtualBox.

Condivisione di dispositivi

VirtualBox consente di emulare alcuni dispositivi, come i dischi rigidi e i lettori ottici, rappresentati da normali file salvati in una cartella sul sistema host (file VDI per i dischi rigidi, ISO per i CD). Oltre a questo, è possibile condividere alcuni dispositivi fisicamente collegati al computer host, in modo che vengano rilevati dal sistema guest come se fossero collegati a quest’ultimo. È possibile fare ciò dal menu Dispositivi > USB: se si seleziona un dispositivo, non sarà più utilizzabile dal sistema host (almeno, finché non lo si rilascia dallo stesso menu) ma verrà rilevato e gestito dal sistema guest, che prima di quel momento non aveva alcun accesso ad esso. Ad esempio si può compiere questa operazione con una chiavetta USB: il sistema guest sarà in grado di accedere al suo contenuto e modificarlo.

Questa operazione non è necessaria per mouse e tastiera, in quanto VirtualBox permette già di usarli “in simultanea” su guest e host.

Tuttavia, per questioni di licenza, VirtualBox è in grado di condividere solo dispositivi USB 1.1 con le macchine virtuali. In pratica i dispositivi USB sono retrocompatibili quindi anche se fossero USB 2.0 o USB 3.0 funzionerebbero comunque, ma molto lentamente. È possibile utilizzare dispositivi USB 2.0 e 3.0 alla massima velocità installando sull’host anche il VirtualBox Extension Pack che, sebbene gratuito, è software proprietario e closed source, quindi non è coperto da questo corso.

VirtualBox Guest Additions

Per migliorare le performance dei sistemi virtualizzati, VirtualBox consente di installare del software sui guest, denominato Guest Additions. Molte distribuzioni GNU/Linux, tra cui Ubuntu, lo includono già e non è necessario effettuare questo passaggio a mano, ma su altri sistemi operativi potrebbe essere necessario. Per fare ciò, bisogna selezionare Dispositivi > Inserisci l’immagine CD delle Guest Additions mentre la macchina virtuale è in esecuzione. Il sistema operativo guest rileverà che è stato inserito un CD (che non è altro che un file ISO sull’host) nel quale si trova il setup delle Guest Additions per i principali sistemi operativi.