Dopo tanto tempo passato a configurare, come si deve, il nostro sistema operativo virtuale, creato con Virtualbox, lo vorremmo convertire in un sistema operativo reale e copiarlo direttamente su un disco fisso senza doverlo reinstallare da zero e quindi rifare tutte le configurazioni.
Nel resto dell’articolo parlerò di computer, o sistema operativo, reale/fisico, con questo intendo il pc desktop/notebook che avete presso la vostra scrivania e che potete toccare con le vostre mani, mentre il sistema operativo/computer virtuale è quel sistema operativo creato dal programma Virtualbox utilizzato per fare prove ed esperimenti prima di applicarli al sistema operativo reale.
Per poter eseguire questa operazione di trasformazione di un sistema operativo virtuale in uno reale, ci servono alcune cose:
- Un computer dove è installato Virtualbox
- Un supporto di boot con Ubuntu, scaricabile da questo sito
- Una pendrive, o disco USB, in grado di contenere l’immagine .Img che dovremo poi scrivere nel pc fisico
- I driver necessari per il nuovo computer fisico. Consiglierei di scaricarli prima di procedere alla conversione della macchina virtuale e di copiarli dentro al disco virtuale, così da averli già a disposizione durante la riconfigurazione del sistema operativo reale
- Il computer destinato ad accogliere l’immagine convertita. Attenzione che il disco fisso verrà cancellato e riscritto quindi salvate eventuali dati importanti presenti.
Eseguire sysprep
Come prima cosa create una copia della macchina virtuale, andremo ad eseguire delle operazioni che la modificano in maniera piuttosto pesante ed è quindi bene averne un backup se dovessimo ripartire da zero.Il comando da utilizzare per fare queste operazioni preparatorie è il sysprep.
Questo comando ripulisce (passatemi il termine) il sistema opertivo da molte impostazioni e personalizzazioni che abbiamo fatto e che quindi perderemmo nel trasferimento in una macchina fisica.
Inoltre il sysprep, utilizzato con l’opzione Generalizza
, permette la riconfigurazione dei driver nel nuovo sistema operativo non rischiando una schermata blu immediata visto la differenza nella configurazione hardware tra computer virtuale e quelo reale
Il comando sysprep.exe
lo trovate dentro la cartella C:\Windows\System32\Sysprep
.
Avviate la macchina virtuale ed eseguite il sysprep con l’opzione Generalizza
attiva e Arresta il sistema
per spegnere il computer virtuale al termine.
Attendete ora alcuni momenti sino a quando non si chiude la macchina virtuale.
Conversione disco virtuale
Virtualbox crea dei dischi virtuali dall’estensione .Vdi
, .Vkdm
e .Vhd
, dobbiamo convertirli in dei file .img
per poterli poi scrivere in un hard disk fisico.
Per farlo Virtualbox ci offre lo strumento VBoxManage.exe
che converte i formati dei file.
Per prima cosa bisogna aprire un prompt dei comandi come amministratore, il comando da utilizzare è simile a quello che vedete nella prossima foto, con le eventuali modifiche del percorso d’installazione di VirtualBox e della cartella dove si trovano le immagini virtuali.
Se il percorso del programma VirtualBox o dei file immagini contiene uno spazio, Program Files per esempio, il tutto deve essere richiuso tra gli apici altrimenti si ottiene un errore.
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonehd --format RAW nome.vdi nome.img
All’inizio sembrerà rimanere fermo allo 0% per parecchio tempo, controllate se luce del vostro hard disk è accesa e lavora, poi una volta avviato procede abbastanza in fretta.
Come detto possiamo convertire tutti e tre i formati dei dischi virtuali, le dimensioni dei file .img sono decisamente più grandi dei file originali.
Ubuntu
Spostiamoci ora sul computer fisico dove vogliamo installare l’immagine virtuale che abbiamo appena convertito. Inseriamo il supporto di boot di Ubuntu, scegliamo il giusto ordine di boot per avviare il computer da questo supporto e una volta caricato Ubuntu aprite il terminale.
Per chi non lo sapesse Ubuntu non riconosce il disco fisso con le lettere come C:, ma sarà sda
se avete un solo hard disk, se ci sono più hard disk allora i nomi saranno sdb, sdc, quel sdf che vedete nella foto è la mia pendrive di boot.
Usiamo quindi il comando sudo fdisk -l
per assicurarci del nome del disco fisso dove scriveremo il file immagine.
Utilizziamo ora il comando mount
per avere il nome con cui è stata riconosciuto (montato) il disco USB che contiene l’immagine convertita .IMG.
Nel mio caso si tratta di /media/ubuntu/Sistema
, attenzione alla presenza di maiuscole nel nome, vanno riportate nello stesso modo nel comando, che diventa quindi sudo dd if=/media/ubuntu/Sistema/nome.img of=/dev/sda
, ovviamente cambiate il disco destinazione se nel vostro caso non fosse sda.(Le foto seguenti sono prese da un'altra delle prove eseguite, troverete quindi indicato un percorso leggermente diverso).
Non vi rimane che attendere il termine della copia, controllate sempre se la luce del vostro disco fisso lampeggia perché non ci sono altri avvisi sino al termine dell’esecuzione dell’operazione di copia.
Una volta terminata la copia non dovete fare altro che togliere il supporto di boot di Ubuntu e lasciare avviare normalmente il computer.
Ci vorranno alcuni momenti perché Windows, in particolare, si riconfiguri e si adatti al nuovo hardware, potrebbe richiedere il vostro intervento più volte per conferme o per indicare dove trovare i driver mancanti.
La dimensione del disco fisico appena clonato sarà uguale a quella del disco virtuale, andrà quindi ridimensionato o create delle partizioni secondarie per occupare lo spazio vuoto.
Conclusioni
Per il test ho utilizzato un computer Olivetti di generazione abbastanza recente, con CPU a 64 bit, e un HP più vecchio con processore a 32 bit, come sistemi operativi virtuali avevo un Windows 10 a 64 bit, Ubuntu e Windows 7 a 32 bit.
Tutti e tre i sistemi operativi sono stati trasferiti senza grossi problemi o errori di sorta, tutte le operazioni richiedono solo del tempo per poter essere eseguite.
La realizzazione di un dual boot, con un sistema operativo già esistente nel computer, è forse possibile, ma i comandi da utilizzare si sono rivelati al di sopra delle mie conoscenze e non sono riuscito a farlo. Se siete in grado di fornirmi i comandi esatti per realizzare il dual boot ne possiamo parlare nella discussione sul forum.
Per chi vuole realizzare il processo inverso, da macchina fisica o virtuale, consiglio la lettura di questo articolo.