Hyper-V e Virtual Server/Virtual PC sullo stesso computer

A volte è necessario, soprattutto in ambienti di laboratorio/testing, eseguire sullo stesso host fisico macchine virtuali create/compatibili con Hyper-V e macchine virtuali create/compatibili con Virtual Server 2005 o Virtual PC.
In ogni caso, è impossibile eseguirle contemporaneamente : non posso cioè utilizzare allo stesso tempo Hyper-V e Virtual Server/Virtual PC su un host fisico.

La notevole differenza di architettura tra Hyper-V e Virtual Server/Virtual PC, rendono il suddetto scenario NON supportato.   Se su un server (Windows Server 2008 o Windows Server 2008 R2) con il ruolo Hyper-V installato, provo a lanciare macchine virtuali dalle console di Virtual Server o Virtual PC, il risultato è una loro esecuzione talmente lenta, da renderle praticamente inutilizzabili.
Uno scenario possibile è, invece, eseguire sullo stesso host macchine virtuali Hyper-V e macchine virtuali Virtual Server/Virtual PC, ma NON contemporaneamente : cioè, in breve, o decido di utilizzare sull’host i servizi di Hyper-V, oppure i servizi di Virtual Server/Virtual PC.

Il trucco consiste nel configurare l’host fisico con una sorta di “Dual-Boot” : se voglio usare Hyper-V, eseguo il boot dell’host in modo che faccia regolarmente partire i servizi di Hyper-V (e questo è il boot di default per un server con il ruolo Hyper-V installato); se voglio usare Virtual Server/Virtual PC, eseguo il boot dell’host in modo che venga mantenuto arrestato l’Hypervisor.
Non si tratta, quindi, di un canonico dual-boot per far partire due differenti sistemi operativi : parte sempre Windows Server 2008, ma con l’Hypervisor attivo oppure disattivo.
Come si implementa il dual boot? Con la seguente sequenza di comandi dal Command Prompt :

BCDEDIT /copy {current} /d “Boot senza Hyper-V”
Questo comando copia il profilo di boot corrente (cioè quello in cui l’Hypervisor è attivo), e ne crea un altro di nome “Boot senza Hyper-V”, associando a quest’ultimo un GUID di riconoscimento (per esempio un GUID simile a questo  {838c30bb-fea4-11de-a8a7-e62ffbd6d081}).
Per visualizzare il GUID assegnato al nuovo profilo di boot, è sufficiente digitare
BCDEDIT /enum

BCDEDIT /set {GUID del nuovo profilo ricavato col precedente comando}  hypervisorlaunchtype off
Questo comando imposta il nuovo profilo di boot a mantenere arrestato l’Hypervisor in fase di startup.  Così facendo, è possibile lanciare macchine virtuali Virtual Server/Virtual PC con performance ottimali.

Da notare che, anche se si lancia l’host fisico con il profilo di boot senza Hypervisor, nella console dei servizi (Services.msc) i tre servizi utilizzati da Hyper-V appaiono “Avviati”.
I tre servizi sono :

  • Hyper-V Image Management Service
  • Hyper-V Networking Management Service
  • Hyper-V Virtual Machine Management

Questa situazione è regolare:  lo switch “hypervisorlaunchtype off” non arresta i servizi di gestione, ma proprio l’intero Hypervisor, sottile strato di software che si interpone tra l’hardware e il sistema operativo Host, componente essenziale dell’architettura di Hyper-V.

Share / Save :

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.