Macchine virtuali: cosa sono e perché usarle

Provate a immaginare la seguente situazione: avete una voglia matta di provare l’ultimissima versione di un sistema operativo Linux, ma non avete un pc su cui farlo. Vi piacerebbe provarla sul vostro computer principale, ma preferite non rischiare di combinare qualche guaio, perché guarda caso non siete proprio degli esperti, e rischiereste di perdere i vostri documenti importanti. Come fare?

Sarebbe comodo se si potesse lanciare l’intero sistema operativo già all’interno di Windows, come fosse un programma… Servirebbe un modo per eseguire un sistema operativo nel sistema operativo, una sorta di macchina nella macchina… Beh, vi presento la soluzione: è gratis e si chiama macchina virtuale.

La schermata iniziale di Oracle VM VirtualBox su Manjaro Linux

Funzionamento, usi e vantaggi delle VM

Se siete degli smanettoni incalliti come me, allora sicuramente avrete già sentito parlare di VirtualBox, il più famoso programma gratuito per creare macchine virtuali in ambiente Windows, Mac e Linux. Quello che fa una macchina virtuale è semplice: crea un ambiente di lavoro virtualizzato separato dal vostro sistema principale, assegnandogli una quantità precisa di risorse, che sia in tutto e per tutto identico a un pc separato. In questo ambiente sarà possibile poi avviare qualsiasi tipo di sistema operativo, come fossimo in una macchina diversa dal nostro computer.

Il software che gestisce la separazione tra la macchina reale (il vostro computer fisico, detto “host”) e le macchine virtuali (dette “guests”) è chiamato hypervisor. L’hypervisor assegna le risorse, controlla il flusso di esecuzione di tutti i sistemi operativi virtualizzati e gestisce l’intero processo di virtualizzazione.

I vantaggi di creare una VM (Virtual Machine) sono parecchi: possiamo installare e usare diversi sistemi operativi senza realmente installarli; possiamo eseguire software anche pericoloso in quanto non andrà a intaccare tutto ciò che è all’esterno dell’ambiente virtualizzato; infine possiamo divertirci a smanettare con qualsiasi configurazione e qualsiasi programma, senza rischiare nulla.

Le macchine virtuali sono dunque la scelta migliore in tutte quelle situazioni nelle quali si vuole provare del software senza intaccare il nostro computer. Una tra le più “tipiche” di queste situazioni è proprio quella descritta sopra, ossia quando si vuole testare un sistema operativo senza installarlo definitivamente. E’ normale infatti, soprattutto per chi si approccia per la prima volta al mondo di Linux, voler provare una qualche distro prima di installarla al posto di Windows o MacOS. Il mondo Linux infatti è così ampio che spesso non è così semplice riuscire a capire quale distribuzione fa al caso nostro. Si va a creare quindi una VM all’interno del nostro sistema, e poi si avvia l’immagine del s. o. che vogliamo provare, e lo si potrà usare come lo avessimo installato (nel mondo Linux infatti, abbiamo la possibilità di eseguire il sistema senza installarlo, direttamente dal file .iso di installazione). Da notare che comunque, aldilà di Linux, con una VM è possibile eseguire qualsiasi tipo di sistema operativo, con l’unica “restrizione” che dovremo assegnare necessariamente dello spazio sul nostro disco fisso per l’installazione e l’uso (anche lo spazio su disco è virtualizzato, in realtà verrà creato un semplice file che il s.o. virtualizzato “vedrà” come disco).

Risulta chiaro dunque come una macchina virtuale possa essere considerata una delle migliori soluzioni quando si cerca di eseguire software incompatibile, pericoloso o non si voglia installare realmente del software sulla nostra macchina fisica. Potete tranquillamente far girare MacOS sul vostro computer con Windows 10, così come provare una versione di Linux o giocare a vecchi giochi DOS tramite FreeDOS.

Tra i moltissimi usi delle macchine virtuali, oltre a poterle sfruttare per provare diversi s.o. , c’è anche quello di usarle come banco di prova per software in sviluppo e per studiare i malware informatici. La possibilità di lanciare diversi sistemi infatti permette agli sviluppatori di poter provare i loro software su diverse piattaforme senza necessariamente possedere un computer con quel sistema. Per quanto riguarda i malware, svariati smanettoni e tecnici del settore hanno provato a eseguire famosi virus informatici all’interno delle macchine virtuali, divertendosi a osservarne gli effetti.

Le macchine virtuali sono completamente configurabili e dipendono interamente dalle risorse assegnategli prima della loro creazione (o avvio). Si possono creare macchine virtuali che abbiano accesso pieno al nostro sistema, ma anche altre limitate a precise componenti e periferiche. E’ dunque possibile impedire alla macchina di comunicare con determinate periferiche o fare sì che non abbia accesso ai dati scritti su precisi dischi, come anche macchine senza accesso a internet o con la possibilità di utilizzare un numero limitato di core. Il controllo totale che si ha su un ambiente virtualizzato è uno dei suoi punti di forza, che ne garantiscono la sicurezza e la grande possibilità di utilizzo in diversi campi.

Foto di Free-Photos da Pixabay

Le macchine virtuali hanno a disposizione solo determinate quantità di risorse di sistema, che le verranno da noi assegnate prima di avviarla. Generalmente è consigliabile avere un computer di medio / alto livello per poter avere la sicurezza di poter usare con tranquillità una macchina virtuale, in quanto il nostro pc dovrà “occuparsi” non solo del sistema operativo principale, ma anche della macchina virtuale, che generalmente consuma ben più di un normale programma. Tuttavia è bene ricordare che le macchine virtuali non hanno accesso a tutte le risorse non virtualizzate e non potranno mai andare a utilizzare più risorse di quelle che noi le abbiamo assegnato.

VirtualBox è il più diffuso e usato programma per creare macchine virtuali. E’ rilasciato gratuitamente da Oracle, e lo potete scaricare alla sua versione più recente da qui.

Daniele Carugo per il Tuttotechnology Blog – 11/6/21 – All Rights Reserved