Hyper-V e Virtualbox: convivenza difficile ma non impossibile

Come installare sia Hyper-V che Virtualbox (o altre soluzioni per la virtualizzazione) sulla stessa macchina. Come assicurarsi che la soluzione Microsoft non impedisca il caricamento di altre macchine virtuali.

Microsoft Hyper-V e Virtualbox o le altre soluzioni per la virtualizzazione, sfortunatamente, non possono convivere sullo stesso sistema: è possibile installare l’hypervisor dell’azienda di Redmond (semplicissimo premendo la combinazione di tasti Windows+R quindi scrivendo optionalfeatures e infine spuntando la casella Hyper-V nelle edizioni Professional, Enterprise ed Education di Windows 10) e, contemporaneamente, anche Virtualbox o altre soluzioni. Il problema, però, è che con Hyper-V installato, non si potranno avviare da Virtualbox o VMware macchine virtuali utilizzando lo stesso host fisico.

Anche disinstallando Hyper-V, gli utenti di Virtualbox hanno segnalato di continuare a ricevere l’errore E_FAIL (0x80004005) ConsoleWrap all’avvio di una qualunque macchina virtuale.
Questo problema, però, è dovuto al fatto che sui sistemi Windows 10 è abilitata per impostazione predefinita la funzionalità di sistema Avvio rapido o Fast boot.

Per rendersene conto, basta premere Windows+R, digitare powercfg.cpl, portarsi su Specifica comportamento pulsanti di alimentazione nella colonna di sinistra quindi su Modifica le impostazioni attualmente non disponibili.


Riavviando Windows 10 dopo la disinstallazione di Hyper-V, lo stato del kernel del sistema operativo verrà parzialmente ripristinato e, con esso, anche le preferenze sull’utilizzo delle funzionalità di virtualizzazione (che non potranno essere utilizzate da Virtualbox, da VMware e dalle soluzioni di terze parti).
Per superare il problema, una volta disinstallato Hyper-V, basterà premere Windows+D per visualizzare il desktop di Windows 10 quindi ALT+F4 e scegliere Riavvia il sistema.

In questo modo non verrà attivata la funzionalità Avvio rapido documentata nel nostro articolo Spegnere Windows 10 non equivale a un riavvio del sistema: ecco perché e Virtualbox tornerà a caricare correttamente qualunque macchina virtuale (senza più mostrare l’errore E_FAIL (0x80004005) ConsoleWrap).

Far convivere Hyper-V, Virtualbox e altre soluzioni per la virtualizzazione in Windows 10

L’unica soluzione per usare macchine Hyper-V e Virtualbox sullo stesso sistema (non contemporaneamente) consiste nell’impostare Windows 10 affinché permetta di caricare, all’avvio del sistema operativo, l’una o l’altra soluzione per la virtualizzazione.

Dopo aver installato sia Hyper-V che Virtualbox sulla stessa macchina, si può digitare cmd nella casella di ricerca di Windows 10 quindi premere i tasti CTRL+MAIUSC+INVIO per aprire il prompt dei comandi con i diritti di amministratore.

Digitando il comando che segue, si creerà una nuova voce di avvio chiamata Virtualbox copiando le preferenze predefinite (profilo current):

bcdedit /copy {current} /d "Virtualbox"

Nell’articolo EasyBCD, gestire il menu di boot di Windows e avviare file ISO abbiamo spiegato cos’è il boot loader di Windows e come funziona.

Il passaggio seguente consiste nell’utilizzo del comando seguente:

bcdedit /set {STRINGA_ALFANUMERICA} hypervisorlaunchtype off

Al posto di STRINGA_ALFANUMERICA bisognerà sostituire la lunga stringa compresa tra parentesi graffe ottenuta impartendo il precedente comando.

Digitando semplicemente bcdedit si troveranno adesso i riferimenti a due voci del menu di avvio: {current} e {STRINGA_ALFANUMERICA} dove STRINGA_ALFANUMERICA è la stringa ottenuta in risposta al primo comando.
In questa seconda voce si leggerà, tra i vari parametri, anche hypervisorlaunchtype off, a conferma che Hyper-V non verrà caricato all’avvio.

In figura come si presenterà il menu di avvio di Windows 10 dopo aver richiesto il riavvio della macchina.

Come ripristinare la configurazione predefinita dopo la disinstallazione di Hyper-V

Se in futuro si decidesse di rimuovere Hyper-V, dopo aver tolto il segno di spunta dalla casella Hyper-V nella finestra Funzionalità Windows (Windows + R, optionalfeatures) e riavviato il sistema (scegliere la voce predefinita, “Windows 10”, e non “Virtualbox”), basterà tornare al prompt dei comandi aperto con i diritti di amministratore e digitare quanto segue:

bcdedit /deletevalue {STRINGA_ALFANUMERICA}

Al posto di STRINGA_ALFANUMERICA si dovrà specificare la lunga stringa compresa tra parentesi graffe ottenuta impartendo il primo comando bcdedit visto in precedenza. Come ultimo passo, bisognerà riavviare il sistema.

In caso di problemi con l’avvio di macchine virtuali Virtualbox o nell’utilizzo di altre soluzioni per la virtualizzazione, si dovrà dapprima riavviare la macchina scavalcando il meccanismo di Avvio rapido, così come spiegato in apertura (ripetere eventualmente la procedura).
Se i problemi dovessero persistere, si potrà digitare al prompt dei comandi (aperto con i diritti di amministratore) quanto segue e riavviare Windows 10:

bcdedit /set hypervisorlaunchtype off
dism /Online /Disable-Feature:Microsoft-Hyper-V

Ti consigliamo anche

Link copiato negli appunti