Lo scenario è il seguente: fino a ieri, VirtualBox ha sempre funzionato correttamente sul nostro PC. Oggi, però, non riusciamo più ad avviare nessuna delle nostre macchine virtuali poiché il programma ci mostra il messaggio Apertura di una sessione per la macchina virtuale non riuscita. Esaminando i dettagli, abbiamo scoperto che il codice d'errore è VT-x is not available (VERR_VMX_NO_VMX). A cosa è dovuto? come possiamo risolvere?

Come installare Hyper-V VirtualBox contemporaneamente stesso PC risolvere errore VT-x is not available (VERR_VMX_NO_VMX) - Apertura sessione macchina virtuale non riuscita

» Leggi anche: La virtualizzazione dei sistemi operativi non sarà più un problema: guida a VirtualBox

Il significato dell'errore

L'errore VT-x is not available (VERR_VMX_NO_VMX) significa che VirtualBox non rileva il supporto hardware alla virtualizzazione, che deve essere offerto dalla CPU affinché il programma possa funzionare correttamente.

Per quanto improbabile possa essere, la prima verifica da svolgere è che le funzionalità di supporto alla virtualizzazione della CPU siano ancora attive nel BIOS/UEFI:

» Leggi: Come scoprire se la CPU è dotata di SLAT e supporto hardware alla virtualizzazione ed abilitare Intel VT-x e AMD-V nel BIOS/UEFI (Hyper-V, VirtualBox, VMware)

Come installare Hyper-V VirtualBox contemporaneamente stesso PC risolvere errore VT-x is not available (VERR_VMX_NO_VMX) - Apertura sessione macchina virtuale non riuscita - cpu hyper-v slat virtualizzazione

Ma... se fino a ieri VirtualBox funzionava correttamente, non avete sostituito la CPU ed il supporto hardware alla virtualizzazione è attivo nel BIOS/UEFI, non può trattarsi di una mancanza del processore!

Disinstallare Hyper-V

Il primo indiziato per questo problema è certamente Hyper-V. Come abbiamo visto nella guida, Hyper-V è un hypervisor di tipo 1 che, installandosi "sotto" il sistema operativo, risulta più efficiente, ma invasivo, rispetto agli hypervisor di tipo 2 (come VirtualBox)

» Leggi: La Grande Guida ad Hyper-V in Windows 10: creazione di macchine virtuali (VM), installazione di guest Windows/Linux e accesso ai file in rete

Come installare Hyper-V VirtualBox contemporaneamente stesso PC risolvere errore VT-x is not available (VERR_VMX_NO_VMX) - Apertura sessione macchina virtuale non riuscita

Nello specifico: Hyper-V "nasconde" la disponibilità del supporto hardware alla virtualizzazione agli altri hypervisor installati sul sistema operativo "reale": ecco dunque che VirtualBox non riesce ad identificare la presenza delle istruzioni Intel VT-x o AMD-V, e quindi si interrompe generando l'errore VT-x is not available (VERR_VMX_NO_VMX).

È bene precisare che potreste non aver installato Hyper-V manualmente, ma come dipendenza per altri programmi. Docker, ad esempio, richiede Hyper-V e lo abilita semi-automaticamente durante il setup. L'emulatore per Android di Visual Studio fa la stessa cosa, ed è ampiamente probabile che molti tool per programmatori e sistemisti abbiano un comportamento analogo.

Come risolvere? La soluzione più rapida, se avete fretta di rendere nuovamente operativo VirtualBox a discapito di Hyper-V, è di disinstallare Hyper-V seguendo la procedura indicata nell'articolo dedicato

Come installare Hyper-V VirtualBox contemporaneamente stesso PC risolvere errore VT-x is not available (VERR_VMX_NO_VMX) - Apertura sessione macchina virtuale non riuscita

Disattivare selettivamente Hyper-V

In alternativa, possiamo implementare uno "switch" che ci consenta di disabilitare selettivamente Hyper-V quando vogliamo usare VirtualBox. Per farlo, apriamo un prompt dei comandi amministrativo, quindi impartiamo quanto segue:

bcdedit /copy {current} /d "No Hyper-V"

Detto comando ci restituisce una sequenza di caratteri (GUID) fra graffe: riportiamolo all'interno di questo secondo comando (mantenendo le parentesi graffe) e lanciamolo:

bcdedit /set {incolla-qui-il-tuo-guid} hypervisorlaunchtype off

Come installare Hyper-V VirtualBox contemporaneamente stesso PC risolvere errore VT-x is not available (VERR_VMX_NO_VMX) - Apertura sessione macchina virtuale non riuscita

Ora: ogni volta che desideriamo abilitare Hyper-V e disabilitare VirtualBox oppure rendere funzionante VirtualBox ai danni di Hyper-V:

  1. clicchiamo Start -> Arresta
  2. premiamo e teniamo premuto MAIUSC (Shift) sulla tastiera
  3. senza rilasciare MAIUSC, cliccare Riavvia il sistema
  4. dal menu di boot, cliccare Utilizza un altro sistema operativo

Come installare Hyper-V VirtualBox contemporaneamente stesso PC risolvere errore VT-x is not available (VERR_VMX_NO_VMX) - Apertura sessione macchina virtuale non riuscita - IMG_20170917_144420

Ci troveremo così davanti a due scelte:

  1. Windows 10: avvia Windows 10 regolarmente. Hyper-V è funzionante, mentre VirtualBox continua a bloccarsi con l'errore VT-x is not available (VERR_VMX_NO_VMX)
  2. No Hyper-V: Hyper-V viene disabilitato, mentre VirtualBox può operare correttamente

Come installare Hyper-V VirtualBox contemporaneamente stesso PC risolvere errore VT-x is not available (VERR_VMX_NO_VMX) - Apertura sessione macchina virtuale non riuscita - IMG_20170917_144433

Posso confermare che questo artificio funziona correttamente, ma ha un evidente limitazione: ci costringe a riavviare completamente il PC ogni volta che desideriamo passare da un programma all'altro. Al momento non ho trovato soluzione migliore: chiunque avesse altre idee che consentano di mantenere installati Hyper-V e VirtualBox contemporaneamente è invitato a segnalarle nei commenti qui sotto. Grazie!