Per eseguire macchine virtuali (VM) alla massima velocità con VirtualBox, VMware Workstation o Hyper-V è necessario che la CPU sia dotata del supporto hardware alla virtualizzazione, e che la funzionalità sia stata preventivamente attivata nel BIOS/UEFI. Inoltre, in molte circostanze, è indispensabile la presenza di un'altra tecnologia chiamata Second Level Address Translation (SLAT). Vediamo come scoprire se la CPU offra queste funzionalità di virtualizzazione e come procedere per attivarle

Come scoprire se CPU è dotata SLAT supporto hardware virtualizzazione - abilitare Intel VT-x AMD-V BIOS/UEFI (Hyper-V, VirtualBox, VMware) - cpu hyper-v slat virtualizzazione

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

» Leggi anche: 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

» Leggi anche: Guida a VMware Player - virtualizzazione gratuita e facile per tutti

Intel VT-x e AMD-V

Iniziamo chiarendo che, con "supporto hardware alla virtualizzazione" si intende un insieme di istruzioni specializzate della CPU, utilizzate dai gestori di macchine virtuali (programmi chiamati hypervisor) per eseguire le VM con prestazioni ottimali.

Il nome "commerciale" di questa funzione è Intel VT-x oppure AMD-V, a seconda della marca del processore.

La presenza di questo set di istruzioni è però opzionale: non tutti i modelli di CPU ne sono dotati

Come scoprire se CPU è dotata SLAT supporto hardware virtualizzazione - abilitare Intel VT-x AMD-V BIOS/UEFI (Hyper-V, VirtualBox, VMware)

A complicare ulteriormente le cose interviene il fatto che il supporto hardware alla virtualizzazione può essere attivato o disattivato nel BIOS/UEFI del PC, e la totalità dei computer che ho incontrato nella mia vita l'aveva impostata ad "Off" di default.

Second Level Address Translation (SLAT)

Vi è inoltre un'ulteriore funzionalità di ausilio alla virtualizzazione che può essere supportata o meno dalla CPU: si chiama Second Level Address Translation (SLAT), nota anche come nested paging.

Viene commercializzata da Intel con il nome Extended Page Tables (EPT) e da AMD come Rapid Virtualization Indexing (RVI) - In precedenza, AMD usava il nome Nested Page Tables (NPT), ma si parla della stessa cosa.

Anche SLAT è opzionale, e non universalmente presente in tutte le CPU disponibili sul mercato.

Non vi è uno "switch" dedicato nel BIOS/UEFI: l'attivazione di SLAT è governata dalla stessa impostazione che regola il supporto hardware alla virtualizzazione.

Quali CPU supportano Intel VT-x/AMD-V e SLAT?

La maggior parte delle CPU moderne di fascia media e alta è dotata del supporto hardware alla virtualizzazione e SLAT. Per verificare puntualmente prima dell'acquisto, le risorse più affidabili sono i siti di Intel e AMD. Una volta cercato il modello di CPU, possiamo visualizzare le specifiche tecniche e cercare informazioni relative:

  • per CPU Intel: Intel VT-x ed EPT
  • per CPU AMD: AMD-V ed EPT (oppure RVI)

Come scoprire se CPU è dotata SLAT supporto hardware virtualizzazione - abilitare Intel VT-x AMD-V BIOS/UEFI (Hyper-V, VirtualBox, VMware)

Da notare che sul sito di Intel si parla spesso anche di Intel VT-d. È un'altra tecnologia di virtualizzazione, in grado di velocizzare l'accesso al disco, che però non è oggi indispensabile a nessuno dei principali hypervisor per desktop. È dunque bene concentrarsi sulla presenza di Intel VT-x ed EPT.

AMD ha oggi rimosso dal proprio sito l'indicazione relativa ad AMD-V e RVI, probabilmente perché viene data per scontata: tutti i processori Ryzen offrono sia AMD-V, sia RVI. Lo stesso dicasi per un po' tutte le CPU AMD realizzate dal 2006/2007 in poi.

Controllare se la CPU offre il supporto hardware alla virtualizzazione da Windows

Per scoprire se la CPU in dotazione al PC sia dotata di supporto hardware alla virtualizzazione e SLAT, abbiamo molti modi.

Il più semplice? Apriamo Gestione attività (Task manager) tramite la combinazione da tastiera Ctrl+Maiusc+Esc (in alternativa: fare click con il pulsante destro del mouse sulla Barra delle applicazioni e scegliere Gestione attività).

In caso fosse in uso la visualizzazione semplificata (default), cliccare sul comando Più dettagli in basso a sinistra

Come scoprire se CPU è dotata SLAT supporto hardware virtualizzazione - abilitare Intel VT-x AMD-V BIOS/UEFI (Hyper-V, VirtualBox, VMware) - Gestione attività ridotta più dettagli

Clicchiamo quindi sulla scheda Prestazioni e rivolgiamo l'attenzione alla tabella di informazioni in basso a destra. Se qui si legge Virtualizzazione: Abilitato significa che il supporto hardware alla virtualizzazione è attivo

Come scoprire se CPU è dotata SLAT supporto hardware virtualizzazione - abilitare Intel VT-x AMD-V BIOS/UEFI (Hyper-V, VirtualBox, VMware) - zShotVM_1621175749

In caso contrario, ci sono due possibilità:

  1. la CPU non dispone del supporto hardware alla virtualizzazione
  2. la CPU dispone del supporto hardware alla virtualizzazione, ma esso è disabilitato nel BIOS/UEFI - vedi seguito

Sfortunatamente, questa indicazione è relativa solamente allo specifico supporto hardware alla virtualizzazione, ma nulla ci dice in merito alla disponibilità di SLAT. Generalmente, se la CPU offre la prima, anche SLAT è disponibile, ma non sempre è così.

Controllare se la CPU offre il supporto hardware alla virtualizzazione e SLAT tramite msinfo32

Per controllare in modo più esplicito se la CPU è dotata del supporto hardware alla virtualizzazione e/o di SLAT, procediamo così:

  1. premere la combinazione da tastiera Win+R per richiamare Esegui
  2. impartire il comando msinfo32.exe
  3. selezionare il primissimo gruppo, chiamato Risorse di sistema (in alto a sinistra)
  4. scorrere fino in fondo la sezione principale

Qui troveremo diversi valori con prefisso Hyper-V, i quali indicano le capacità di virtualizzazione dalla CPU:

  • Hyper-V - Estensioni conversione indirizzi di secondo livello: indica se la CPU supporta SLAT
  • Hyper-V - Virtualizzazione abilitata nel firmware: indica se la CPU è dotata del supporto hardware alla virtualizzazione, e se la funzione è effettivamente attivata nel BIOS/UEFI

Come scoprire se CPU è dotata SLAT supporto hardware virtualizzazione - abilitare Intel VT-x AMD-V BIOS/UEFI (Hyper-V, VirtualBox, VMware) - zShotVM_1621176571

Controllare se la CPU offre il supporto hardware alla virtualizzazione e SLAT tramite coreinfo

Un'alternativa per scoprire quali funzionalità di virtualizzazione offra la CPU corrente è questa utility da linea di comando realizzata da Sysinternals (Microsoft):

» Download: Coreinfo

Estrarre il contenuto dello zip in una cartella a piacere, aprire il Prompt dei comandi come amministratore ed accedere al percorso nel quale abbiamo estratto l'eseguibile (cd "C:\percorso\completo\cartella").

Da qui impartire:

  • coreinfo64 -v se il PC monta Windows 10 a 64 bit
  • coreinfo -v se il PC monta Windows 10 a 32 bit

» Leggi anche: Come scoprire se Windows è a 32 bit oppure 64 bit

Accettare i termini della licenza cliccando Agree nella finestra di dialogo.

I valori a cui prestare attenzione sono:

  • VMX oppure SVM indica se la CPU è dotata del supporto hardware alla virtualizzazione, e se la funzione è effettivamente attivata nel BIOS/UEFI
  • EPT oppure NP: indica se la CPU supporta SLAT

Se è presente un asterisco (*) significa che la caratteristica è supportata, se invece c'è un meno (-) la CPU corrente non offre tale funzione

Come scoprire se CPU è dotata SLAT supporto hardware virtualizzazione - abilitare Intel VT-x AMD-V BIOS/UEFI (Hyper-V, VirtualBox, VMware)

Nell'immagine qui sopra, ad esempio, vediamo che la CPU è dotata del supporto hardware alla virtualizzazione (si capisce perché l'utility riporta VMX *) ma non di SLAT (EPT -).

Abilitare il supporto hardware alla virtualizzazione nel BIOS/UEFI

Come detto, è possibile che il sistema operativo non rilevi le funzioni di virtualizzazione esposte dal processore solo perché le stesse sono disabilitate nel BIOS/UEFI. In tal caso, iniziamo accedendo al BIOS/UEFI:

» Leggi: Guida: come entrare nel BIOS / UEFI / firmware del notebook / PC (portatile)

Una volta "dentro", dovete spulciare un po' le varie sezioni. Sul mio portatile Lenovo Thinkpad, ad esempio, l'opzione si trova sotto Security -> Virtualization -> Intel (R) Virtualization Technology e deve essere impostata ad Enabled affinché Windows 10 rilevi le funzionalità di virtualizzazione

Come scoprire se CPU è dotata SLAT supporto hardware virtualizzazione - abilitare Intel VT-x AMD-V BIOS/UEFI (Hyper-V, VirtualBox, VMware) - IMG_20170917_000911

Sul PC fisso, invece, la stessa opzione è inserita nella sezione BIOS Features

Come scoprire se CPU è dotata SLAT supporto hardware virtualizzazione - abilitare Intel VT-x AMD-V BIOS/UEFI (Hyper-V, VirtualBox, VMware) - IMG_20170917_153317

Dopo aver attivato le funzioni di virtualizzazione nel BIOS/UEFI ed aver salvato, riavviate il PC.

Una volta tornati al sistema operativo, provate di nuovo la rilevazione seguendo le istruzioni mostrate al paragrafo precedente.