Riepilogo rapido : Attivare Hyper-V in 3 comandi
Apri PowerShell come amministratore ed esegui questi 3 comandi nell'ordine:
# 1. Installare Hyper-V con gli strumenti di gestione
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
# 2. Verificare l'installazione dopo il riavvio
Get-WindowsFeature -Name Hyper-V
# 3. Verificare che il servizio sia attivo
Get-Service -Name vmms
Riavvio automatico incluso. Su un VPS OuiHeberg, la virtualizzazione nidificata è già attivata: nessuna configurazione aggiuntiva lato host.
Hyper-V su un VPS: cosa sapere prima
Virtualizzazione nidificata (nested virtualization): cos'è?
Il tuo VPS è a sua volta una macchina virtuale che gira su un hypervisor fisico. Per far girare Hyper-V all'interno di questo VPS, è necessario che l'host esponga le estensioni di virtualizzazione al sistema guest. Questo è ciò che si chiama virtualizzazione nidificata (nested virtualization).
Senzo di essa, Windows Server rileva correttamente il ruolo Hyper-V ma rifiuta di avviare le VM: ricevi l'errore "Il processore non ha le capacità di virtualizzazione richieste".
Il comando da eseguire sull'host fisico (non nel tuo VPS) è:
Set-VMProcessor -VMName <NomeDelTuoVPS> -ExposeVirtualizationExtensions $true
Presso la maggior parte degli host, questo passaggio è manuale e a pagamento. Presso OuiHeberg, la virtualizzazione nidificata è attivata per impostazione predefinita su tutti i VPS Windows.
Scopri i nostri VPS Windows con Hyper-V attivato
Requisiti hardware e software
Prima di installare Hyper-V, verifica questi punti:
RAM: 4 GB minimo (8 GB raccomandati per creare VM utilizzabili)
CPU: processore a 64 bit con SLAT (Second Level Address Translation): Intel EPT o AMD RVI
OS: Windows Server 2019, 2022 o 2026 (Standard, Datacenter o Essentials)
Virtualizzazione nidificata: attivata dall'host sul nodo fisico
Spazio disco: prevedere almeno 20 GB per ogni VM guest
Tabella comparativa: Hyper-V in base all'edizione di Windows Server
Edizione | Hyper-V disponibile | VM Windows incluse | Uso raccomandato |
|---|---|---|---|
Standard | ✅ Sì | 2 VM Windows Server | Virtualizzazione leggera, 1-2 VM |
Datacenter | ✅ Sì | Illimitate | Ambienti fortemente virtualizzati |
Essentials | ✅ Sì | 0 (licenza limitata) | Piccole strutture, non per virtualizzazione intensiva |
⚠️ Nota OuiHeberg: tutti i nostri VPS Windows girano su Windows Server Standard o Datacenter. La virtualizzazione nidificata è attivata per impostazione predefinita: puoi partire direttamente dal passaggio di installazione qui sotto.
Metodo 1: PowerShell (raccomandato)
È il metodo più veloce e affidabile, soprattutto su un VPS senza interfaccia grafica.
Passo 1: Aprire PowerShell come amministratore
Clic destro sul menu Start → Windows PowerShell (Admin) o Terminale (Admin).
Passo 2: Avviare l'installazione
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
Il flag -IncludeManagementTools installa anche il Gestore Hyper-V e i cmdlet PowerShell. Il flag -Restart riavvia automaticamente il server al termine.
Passo 3: Verificare dopo il riavvio
Get-WindowsFeature -Name Hyper-V
La colonna Install State deve mostrare Installed. Se vedi Available, l'installazione è fallita: ripeti il comando.
Passo 4: Confermare che il servizio di gestione sia attivo
Get-Service -Name vmms | Select-Object Name, Status, StartType
Risultato atteso: Status = Running, StartType = Automatic.
Metodo 2: Gestore server (GUI)
Se preferisci l'interfaccia grafica, ecco i 5 passaggi essenziali.
Passo 1: Apri il Gestore server (icona nella barra delle applicazioni o servermanager.exe).
Passo 2: Clicca su Gestisci → Aggiungi ruoli e funzionalità.
Passo 3: Scegli Installazione basata su un ruolo o una funzionalità, quindi seleziona il tuo server locale.
Passo 4: Nella lista dei ruoli, seleziona Hyper-V. Una finestra ti propone di aggiungere gli strumenti di gestione: accetta.
Passo 5: Clicca su Installa e attendi la fine. Seleziona Riavvia automaticamente se vuoi evitare di farlo manualmente.
💡 Il metodo GUI è identico su Windows Server 2019, 2022 e 2026.
Metodo 3: DISM (linea di comando)
DISM è utile in due casi: script di distribuzione automatizzati, o ambienti in cui PowerShell è limitato.
DISM /Online /Enable-Feature /FeatureName:Microsoft-Hyper-V-All /All /NoRestart
Poi riavvia manualmente:
shutdown /r /t 0
DISM vs PowerShell: quando scegliere cosa?
Criterio | PowerShell | DISM |
|---|---|---|
Sintassi | Più leggibile | Più verboso |
Riavvio automatico | ✅ | ❌ Manuale |
Compatibilità script | Eccellente | Buona |
Verifica post-installazione |
|
|
Raccomandato per VPS | ✅ Sì | Casi specifici |
Configurare gli switch virtuali
È il passaggio che la maggior parte delle guide trascurano. Tuttavia, uno switch mal configurato = VM senza rete.
I 3 tipi di switch: tabella comparativa
Tipo | Accesso rete fisica | Accesso host | Accesso tra VM | Casi d'uso |
|---|---|---|---|---|
Esterno | ✅ Sì | ✅ Sì | ✅ Sì | VM con IP pubblico/LAN, accesso internet |
Interno | ❌ No | ✅ Sì | ✅ Sì | Lab host ↔ VM, NAT dall'host |
Privato | ❌ No | ❌ No | ✅ Sì | Sandbox isolato, test malware, rete VM-to-VM |
Creare uno switch esterno (PowerShell)
# Identificare l'adattatore di rete fisico
Get-NetAdapter
# Creare lo switch esterno
New-VMSwitch -Name "Switch-Esterno" -NetAdapterName "Ethernet" -AllowManagementOS $true
Sostituisci "Ethernet" con il nome esatto del tuo adattatore di rete (visualizzato da Get-NetAdapter).
Creare uno switch interno per lab isolato
New-VMSwitch -Name "Switch-Interno" -SwitchType Internal
Quindi, assegna un'IP all'interfaccia virtuale creata sull'host:
# Recuperare l'indice dell'interfaccia virtuale
Get-NetAdapter | Where-Object {$_.Name -like "*Switch-Interno*"}
# Assegnare un'IP
New-NetIPAddress -IPAddress 192.168.100.1 -PrefixLength 24 -InterfaceIndex <Index>
Creare uno switch tramite il Gestore Hyper-V (GUI)
Apri il Gestore Hyper-V
Clicca su Gestore switch virtuale (pannello di destra)
Scegli il tipo (Esterno / Interno / Privato)
Dai un nome esplicito e clicca su Applica
Creare la tua prima macchina virtuale
PowerShell: New-VM con parametri completi
New-VM `
-Name "VM-Test-01" `
-MemoryStartupBytes 2GB `
-Generation 2 `
-NewVHDPath "C:\VMs\VM-Test-01.vhdx" `
-NewVHDSizeBytes 40GB `
-SwitchName "Switch-Esterno"
# Allocare i vCPU
Set-VMProcessor -VMName "VM-Test-01" -Count 2
# Attivare la Memoria Dinamica (opzionale)
Set-VMMemory -VMName "VM-Test-01" -DynamicMemoryEnabled $true -MinimumBytes 512MB -MaximumBytes 4GB
# Montare l'ISO di installazione
Add-VMDvdDrive -VMName "VM-Test-01" -Path "C:\ISOs\windows-server-2022.iso"
# Avviare la VM
Start-VM -Name "VM-Test-01"
GUI: 6 passaggi sintetizzati
Gestore Hyper-V → Nuovo → Macchina virtuale
Dai un nome alla VM e scegli la posizione di archiviazione
Seleziona Generazione 2 (raccomandato per tutti i sistemi operativi moderni)
Imposta la RAM di avvio (2048 MB minimo)
Collegati allo switch virtuale creato in precedenza
Crea un disco virtuale (VHDX) e monta il tuo ISO
Tabella: allocazione RAM/CPU raccomandata in base all'uso
Uso | RAM dedicata | vCPU | Tipo memoria |
|---|---|---|---|
Sviluppo / test leggero | 1–2 GB | 1–2 | Dinamica |
Server web / app | 2–4 GB | 2 | Dinamica |
Database | 4–8 GB | 2–4 | Statica |
Produzione critica | 8 GB+ | 4+ | Statica |
💡 Per le VM di database (SQL Server, MySQL), utilizza sempre la memoria statica: la memoria dinamica può causare picchi di latenza durante le riallocazioni.
Checkpoint e backup
Checkpoint Standard vs Produzione: la differenza che conta
Criterio | Standard | Produzione |
|---|---|---|
Cattura la RAM | ✅ Sì | ❌ No |
Coerenza dei dati | ⚠️ Parziale | ✅ VSS (coerenza applicativa) |
Ripristino | Stato esatto al momento T | Avvio pulito come dopo un arresto |
Raccomandato per | Sviluppo / test / debug | Carichi di lavoro di produzione |
In pratica: utilizza i checkpoint di Produzione per le tue VM in produzione (SQL Server, IIS, AD). Mantieni i checkpoint Standard per i tuoi laboratori di test dove hai bisogno di tornare a uno stato di memoria preciso.
Creare un checkpoint prima di ogni modifica (PowerShell)
# Checkpoint di produzione (raccomandato)
Checkpoint-VM -Name "VM-Test-01" -SnapshotName "Prima-MAJ-$(Get-Date -Format 'yyyyMMdd')" -CheckpointType Production
# Elencare i checkpoint esistenti
Get-VMCheckpoint -VMName "VM-Test-01"
# Ripristinare un checkpoint
Restore-VMCheckpoint -VMName "VM-Test-01" -Name "Prima-MAJ-20260526"
Checkpoint ≠ backup
Un checkpoint non è un backup. Se il disco host si guasta, perdi la VM e tutti i suoi checkpoint.
Per una vera strategia di backup del tuo VPS Windows, consulta la nostra guida dedicata
Performance e ottimizzazione
Memoria Dinamica vs Memoria Statica: quando usare cosa
Memoria Dinamica consente a Hyper-V di allocare e recuperare la RAM in base alle esigenze della VM. Utile per consolidare più VM leggere su un unico host.
Memoria Statica fissa una quantità di RAM immutabile. Nessuna latenza di riallocazione, comportamento prevedibile. Indispensabile per i database e i carichi di lavoro in tempo reale.
Regola semplice: se la tua VM esegue SQL Server, MySQL o un server di gioco → memoria statica. Per tutto il resto, la Memoria Dinamica funziona bene.
Tabella ottimizzazione in base alla RAM totale del VPS
RAM totale VPS | RAM host da riservare | Raccomandazione VM |
|---|---|---|
4 GB | 1,5 GB | 1 VM max (2 GB): Memoria Dinamica obbligatoria |
8 GB | 2 GB | 2–3 VM leggere o 1 VM produzione (4–6 GB) |
16 GB | 2–3 GB | 3–5 VM, mix Dinamica/Statica in base all'uso |
32 GB | 3–4 GB | 6–10 VM, memoria statica possibile per tutte |
⚠️ Riserva sempre RAM per l'host. Un VPS da 8 GB con 8 GB allocati alle VM finirà in swap: prestazioni catastrofiche.
NUMA e CPU: evitare il sovraccarico
Non superare il numero di vCPU fisiche disponibili sul tuo VPS. Se il tuo VPS ha 4 vCPU, creare 3 VM con 4 vCPU ciascuna = 12 vCPU virtuali per 4 fisiche → contesa CPU garantita.
Regola pratica: totale vCPU delle VM ≤ 2× le vCPU del VPS host per prestazioni accettabili.
Sicurezza Hyper-V
Sei punti da applicare su ogni ambiente Hyper-V esposto.
1. Secure Boot attivato su tutte le VM di Generazione 2
Attivato per impostazione predefinita sulle VM Gen 2. Non disattivarlo a meno che non sia assolutamente necessario: impedisce il caricamento di bootloader non firmati.
Set-VMFirmware -VMName "VM-Prod-01" -EnableSecureBoot On
2. vTPM per le VM critiche
Il TPM virtuale consente di attivare BitLocker nella VM guest e di proteggere i segreti a livello firmware.
Enable-VMTPM -VMName "VM-Prod-01"
3. Isolamento rete tramite switch
Non mettere le tue VM di produzione e le tue VM di test sullo stesso switch virtuale. Utilizza uno switch Privato per i laboratori e uno switch Esterno per la produzione.
4. Backup crittografati
Se esporti VM, crittografa i file VHDX con BitLocker o uno strumento di terze parti. Un'esportazione non crittografata = accesso completo al disco della VM.
5. Accesso Hyper-V Manager ristretto
Limita il gruppo Hyper-V Administrators solo ai conti che ne hanno bisogno. Per impostazione predefinita, ogni amministratore locale può gestire Hyper-V.
# Visualizza i membri del gruppo
Get-LocalGroupMember -Group "Hyper-V Administrators"
6. Audit degli eventi Hyper-V
Attiva l'audit nell'Osservatore eventi → Microsoft-Windows-Hyper-V-VMMS. Gli eventi ID 13002 (avvio VM) e ID 13003 (arresto VM) sono i più utili per rilevare azioni non autorizzate.
Risoluzione dei problemi: 6 errori comuni
1. "Il processore non ha le capacità di virtualizzazione richieste"
Cause: la virtualizzazione nidificata non è attivata sul nodo host.
Soluzione: contatta il tuo host affinché esegua Set-VMProcessor -VMName <VPS> -ExposeVirtualizationExtensions $true. Presso OuiHeberg, è attivato per impostazione predefinita.
2. "Un hypervisor è già in esecuzione"
Cause : VirtualBox o VMware Workstation è installato e ha preso il controllo dell'ipervisor.
Soluzione : disinstallare VirtualBox/VMware, quindi verificare che Hyper-V non sia in conflitto con la configurazione di avvio :
bcdedit /set hypervisorlaunchtype auto
Riavviare quindi.
3. Il Gestore Hyper-V non si apre
Cause : il servizio vmms (Virtual Machine Management Service) è fermo.
Soluzione :
Start-Service -Name vmms
Set-Service -Name vmms -StartupType Automatic
4. Impossibile creare VM
Cause : diritti insufficienti: il tuo account non è nel gruppo Hyper-V Administrators o Administrators.
Soluzione :
Add-LocalGroupMember -Group "Hyper-V Administrators" -Member "DOMAIN\IlMioAccount"
5. Rete VM senza connettività
Cause : switch virtuale mal configurato o adattatore di rete non associato.
Soluzione : verifica che lo switch Esterno sia correttamente collegato all'adattatore fisico attivo (Get-NetAdapter). Verifica anche che la VM sia connessa allo switch corretto nelle sue impostazioni di rete.
# Vedi lo switch connesso a una VM
Get-VMNetworkAdapter -VMName "VM-Test-01" | Select-Object SwitchName, IPAddresses
6. Prestazioni degradate dopo attivazione
Cause : Memoria Dinamica mal configurata: la RAM minima è troppo bassa, la VM si trova in swap costante.
Soluzione : aumenta la RAM minima o passa a memoria statica per le VM critiche :
Set-VMMemory -VMName "VM-Prod-01" -DynamicMemoryEnabled $false -StartupBytes 4GB
FAQ
È possibile attivare Hyper-V su tutti i VPS Windows?
No. È necessario che l'hosting provider abbia attivato la virtualizzazione annidata sul nodo fisico. Senza questo passaggio lato host, Hyper-V si installa ma rifiuta di avviare VM. Presso OuiHeberg, è attivato per impostazione predefinita su tutti i VPS Windows.
Qual è la differenza tra Hyper-V e VMware?
Hyper-V è l'ipervisor di Microsoft, integrato in Windows Server: gratuito con la licenza OS. VMware (vSphere/ESXi) è un ipervisor bare-metal indipendente, più utilizzato nei data center aziendali. Su un VPS Windows, Hyper-V è l'unica scelta realistica tramite virtualizzazione annidata.
Quante VM si possono creare su un VPS con 8 GB di RAM?
In pratica: 2-3 VM leggere (1-2 GB ciascuna) o 1 VM di produzione (4-6 GB). Mantieni sempre 2 GB per il sistema host. Oltre, le prestazioni degradano rapidamente.
Hyper-V rallenta il VPS host?
L'installazione del ruolo Hyper-V ha un impatto trascurabile sull'host (< 1% CPU a riposo). La degradazione proviene dalle VM stesse se si sovraprovisiona la RAM o i vCPU. Dimensiona correttamente e l'impatto è minimo.
È possibile utilizzare Hyper-V per ospitare un server di gioco?
Sì. Crea una VM con memoria statica, assegna 2-4 vCPU e 4-8 GB di RAM a seconda del gioco. Collegala a uno switch Esterno per l'accesso alla rete. Le prestazioni sono leggermente inferiori al bare-metal (overhead di virtualizzazione ~3-5%), il che è accettabile per la maggior parte dei giochi multiplayer.
Come disinstallare Hyper-V in modo pulito?
Remove-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
Attenzione: tutte le VM create rimangono sul disco (file VHDX) ma non saranno più accessibili tramite Hyper-V. Esporta o salva le tue VM prima di disinstallare.

