- Virtualizzare un sistema operativo già installato su disco -
 
TUTORIAL
Come avviare un OS installato sull'hard disk che si utilizza raramente

Esempio di partizioni presenti su un disco rigido

Esempio di partizioni presenti su un disco rigido

Prompt con i comandi per creare il file VMDK per la partizione 4

Prompt con i comandi per creare il file VMDK per la partizione 4


Domanda
Avendo installato sul computer un sistema operativo che viene utilizzato solamente di tanto in tanto, come è possibile utilizzarlo senza riavviare?

Risposta
Ovviamente la soluzione prevede l'utilizzo di uno strumento di virtualizzazione, ovvero un programma che simulerà un computer facendo avviare l'intero sistema operativo in questione. In genere però i sistemi operativi virtualizzati si trovano in un unico file che contiene l'immagine del disco rigido della macchina virtuale (detta anche guest), in questo caso invece come disco rigido verrà utilizzata un'intera partizione dell'hard disk del macchina reale (detta anche host).
Per creare la macchina virtuale ci serviremo di uno dei migliori software gratuiti in circolazione: VirtualBox. Tuttavia, pur trattandosi di un software di alta qualità, non è possibile fare quello che a noi interessa tramite interfaccia grafica, ma sarà necessario dare alcuni comandi da linea di comando.
Una volta installato VirtualBox, avviare il prompt dei comandi (Start, Esegui, digitare cmd e dare conferma, o sotto Vista, fare click destro e cliccare su Esegui come amministratore) e raggiungere la cartella di installazione di VirtualBox tramite il comando cd, ad esempio:

cd "%programfiles%\Sun\xVM VirtualBox"

Quindi dare il seguente comando:

VBoxManage internalcommands listpartitions -rawdisk \\.\PhysicalDrive0

Dovrebbe apparire la lista di partizioni presenti sul computer sul primo disco rigido; se ve ne sono più d'uno ripetere il comando e sostituire \\.\PhysicalDrive0 con \\.\PhysicalDrive1 e così via, finché non si individua (tramite la dimensione in MB) la partizione con il sistema operativo che si desidera virtualizzare.
In caso non si riesca ad individuare la partizione in questione (ad esempio se vi sono due partizioni con la stessa dimensione) avviare Gestione Computer (Start, Pannello di Controllo, Strumenti di Amministrazione, Gestione Computer), cliccare su Gestione disco nel riquadro a sinistra e individuare la partizione nel riquadro in basso a destra: se la partizione è in prima posizione a partire da sinistra, appuntarsi il numero mostrato nella colonna Number del comando precedente, se è invece in seconda posizione la seconda e così via. Non sempre la prima partizione ha numero 1, la seconda 2 e così via.
Individuare il numero che identifica la partizione è molto importante per impedire che la macchina virtuale abbia accesso alle altre, cosicché in caso di problemi i danni vengano limitati alla partizione in uso. Si noti inoltre che è molto importante non avviare mai il sistema operativo in uso, in quanto si potrebbero arrecare danni irreparabili all'installazione. Nonostante i benefici in quanto a sicurezza, dare accesso solamente ad una partizione del disco significa anche nascondere il MBR (Master Boot Record), ovvero i primi 512 byte del disco rigido che permettono di avviare il sistema correttamente, di conseguenza è necessario crearne una copia su file e comunicare in seguito a VirtualBox di servirsi di essa.
Per creare una copia del MBR ci si può servire di software semplici e gratuiti come HDHacker. Scaricare ed avviare il programma, selezionare il Physical drive in questione, quindi cliccare su Read sector from Disk e poi Save sector to File, infine scegliere una locazione per il file (supponiamo di averlo chiamato hdd.mbr).
Finalmente è possibile creare il file VMDK per la partizione in questione, ovvero un file che conterrà le informazioni sulla partizione necessarie a VirtualBox per poterla utilizzare correttamente. Dal prompt dei comandi digitare quanto segue:

VBoxManage internalcommands createrawvmdk -filename c:\partizione_reale.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 1 -mbr c:\hdd.mbr

Questo comando creerà nella cartelle principale dell'unità C un file chiamato partizione_reale.vmdk che descrive la partizione 1 del disco rigido 0 e con l'indicazione di servirsi di c:\hdd.mbr come MBR.
A questo punto è possibile completare l'operazione da interfaccia grafica: avviare VirtualBox (Start, Programmi, Sun xVM VirtualBox, VirtualBox, Esegui come Amministratore se ci si trova sotto Vista), andare la menu Macchina, Nuova, darle un nome e impostare il tipo di sistema operativo che verrà avviato, impostare la quantità di memoria RAM (le impostazioni suggerite dovrebbero andare bene) e al passo della scelta dell'hard disk, cliccare su Esistente, quindi nella finestra Virtual Media Manager premere su Aggiungi, individuare il file VMDK appena creato e quindi dare conferma. Avviare la macchina virtuale e installare le Guest Additions (menu Dispositivi, Installa Guest Additions).

Domanda
Come si può dare completo accesso al disco rigido alla macchina virtuale?

Risposta
Creare una macchina virtuale con accesso completo al disco rigido è molto più semplice (ma altrettanto più pericoloso, lo si sconsiglia vivamente), basta dare il comando:

VBoxManage internalcommands createrawvmdk -filename c:\partizione_reale.vmdk -rawdisk \\.\PhysicalDrive0

Non è infatti più necessario specificare un MBR né la partizione a cui limitare l'accesso.

Problema
Tentando di avviare Linux, l'avvio rimane bloccato a lungo dicendo "Waiting for root file system..." e alla fine fallisce.

Risposta
Molto probabilmente il disco rigido su cui è installato Linux è /dev/sda mentre VirtualBox lo emula come /dev/hda. Per risolvere il problema, all'avvio nel menu di GRUB, selezionare la voce Linux e premere il tasto E, individuare la riga che inizia per kernel e premere di nuovo E, quindi rimpiazzare /dev/sda con /dev/hda, dare conferma e premere B per avviare.
 

 

<< INDIETRO