È necessario creare una macchina virtuale di generazione 1 o 2 in Hyper-V?

Si applica a: Windows 10, Windows 11, Windows Server 2016, Microsoft Hyper-V Server 2016, Windows Server 2019, Microsoft Hyper-V Server 2019, Windows Server 2022, Azure Stack HCI

Nota

Se si prevede di caricare macchine virtuali Windows dall'ambiente locale a Microsoft Azure, le macchine virtuali di prima e di seconda generazione sono supportate purché usino il formato di file VHD e abbiano un disco con dimensioni fisse (non a espansione dinamica). Vedere Macchine virtuali di seconda generazione in Azure per altre informazioni sulle funzionalità di seconda generazione supportate in Azure. Per altre informazioni sul caricamento di un disco rigido virtuale Windows o VHDX, vedere Preparare un disco rigido virtuale Windows o VHDX da caricare in Azure.

La scelta di creare una macchina virtuale di prima o seconda generazione dipende dal sistema operativo guest da installare e dal metodo di avvio da usare per distribuire la macchina virtuale. È consigliabile creare una macchina virtuale di seconda generazione per sfruttare le funzionalità come l'avvio protetto, a meno che una delle istruzioni seguenti non sia vera:

  • Si usa un disco virtuale esistente predefinito (VHD o VHDX), che non è compatibile con UEFI.
  • La generazione 2 non supporta il sistema operativo che si vuole eseguire nella macchina virtuale.
  • La generazione 2 non supporta il metodo di avvio che si vuole usare.

Per altre informazioni sulle funzionalità disponibili con le macchine virtuali di seconda generazione, vedere Compatibilità delle funzionalità di Hyper-V per generazione e guest.

Non è possibile modificare la generazione di una macchina virtuale dopo averla creata. È quindi consigliabile esaminare le considerazioni qui, nonché scegliere il sistema operativo, il metodo di avvio e le funzionalità da usare prima di scegliere una generazione.

Quali sistemi operativi guest sono supportati?

Le macchine virtuali di prima generazione supportano la maggior parte dei sistemi operativi guest. Le macchine virtuali di seconda generazione supportano la maggior parte delle versioni a 64 bit di Windows e altre versioni correnti dei sistemi operativi Linux e FreeBSD. Usare le sezioni seguenti per vedere quale generazione di macchina virtuale supporta il sistema operativo guest da installare.

Supporto del sistema operativo guest Windows

La tabella seguente illustra le versioni a 64 bit di Windows che è possibile usare come sistema operativo guest per le macchine virtuali di prima e seconda generazione.

Versioni a 64 bit di Windows Prima generazione Seconda generazione
Windows Server 2025
Windows Server 2022
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
Windows Server 2008 R2
Windows Server 2008
Windows 11
Windows 10
Windows 8.1
Windows 8
Windows 7

La tabella seguente illustra le versioni a 32 bit di Windows che è possibile usare come sistema operativo guest per le macchine virtuali di prima e seconda generazione.

Versioni a 32 bit di Windows Prima generazione Seconda generazione
Windows 10
Windows 8.1
Windows 8
Windows 7

Supporto del sistema operativo guest CentOS e Red Hat Enterprise Linux

La tabella seguente illustra le versioni di Red Hat Enterprise Linux (RHEL) e CentOS che è possibile usare come sistema operativo guest per le macchine virtuali di prima e seconda generazione.

Versioni del sistema operativo Prima generazione Seconda generazione
Serie RHEL/CentOS 8. x
Serie RHEL/CentOS 7. x
Serie RHEL/CentOS 6. x
Nota: supportato solo in Windows Server 2016 e versioni successive.
Serie RHEL/CentOS 5. x

Per altre informazioni, vedere Macchine virtuali CentOS e Red Hat Enterprise Linux in Hyper-V.

Supporto del sistema operativo guest Debian

La tabella seguente illustra le versioni di Debian che è possibile usare come sistema operativo guest per le macchine virtuali di prima e seconda generazione.

Versioni del sistema operativo Prima generazione Seconda generazione
Serie Debian 10.x (buster)
Serie Debian 9.x (stretch)
Serie Debian 8.x (jessie)
Serie Debian 7.x (wheezy)

Per altre informazioni, vedere Macchine virtuali Debian in Hyper-V.

Supporto del sistema operativo guest FreeBSD

La tabella seguente illustra le versioni di FreeBSD che è possibile usare come sistema operativo guest per le macchine virtuali di prima e seconda generazione.

Versioni del sistema operativo Prima generazione Seconda generazione
FreeBSD da 12 a 12.1
FreeBSD da 11.1 a 11.3
FreeBSD 11
FreeBSD da 10 a 10.3
FreeBSD 9.1 e 9.3
FreeBSD 8.4

Per altre informazioni, vedere Macchine virtuali FreeBSD in Hyper-V.

Supporto del sistema operativo guest Oracle Linux

La tabella seguente illustra le versioni di Red Hat Compatible Kernel Series che è possibile usare come sistema operativo guest per le macchine virtuali di prima e seconda generazione.

Versioni della serie kernel compatibile con Red Hat Prima generazione Seconda generazione
Serie Oracle Linux 8.x
Serie Oracle Linux 7.x
Serie Oracle Linux 6.x

La tabella seguente illustra le versioni di Unbreakable Enterprise Kernel che è possibile usare come sistema operativo guest per le macchine virtuali di prima e seconda generazione.

Versioni di Unbreakable Enterprise Kernel (UEK) Prima generazione Seconda generazione
Oracle Linux UEK R3 QU3
Oracle Linux UEK R3 QU2
Oracle Linux UEK R3 QU1

Per altre informazioni, vedere Macchine virtuali Oracle Linux in Hyper-V.

Supporto del sistema operativo guest SUSE

La tabella seguente illustra le versioni di SUSE che è possibile usare come sistema operativo guest per le macchine virtuali di prima e seconda generazione.

Versioni del sistema operativo Prima generazione Seconda generazione
Serie SUSE Linux Enterprise Server 15
Serie SUSE Linux Enterprise Server 12
Serie SUSE Linux Enterprise Server 11
Aprire SUSE 12.3 +

Per altre informazioni, vedere Macchine virtuali SUSE in Hyper-V.

Supporto del sistema operativo guest Ubuntu

La tabella seguente illustra le versioni di Ubuntu che è possibile usare come sistema operativo guest per le macchine virtuali di prima e seconda generazione.

Versioni del sistema operativo Prima generazione Seconda generazione
Ubuntu 20.04
Ubuntu 18.04
Ubuntu 16.04
Ubuntu 14.04
Ubuntu 12.04

Per ulteriori informazioni, vedere l'argomento relativo alle macchine virtuali Ubuntu in Hyper-V.

Come è possibile avviare la macchina virtuale?

La tabella seguente illustra i metodi di avvio supportati dalle macchine virtuali di prima e seconda generazione.

Metodo di avvio Prima generazione Seconda generazione
Avvio PXE tramite una scheda di rete standard
Avvio PXE tramite una scheda di rete legacy
Eseguire l'avvio da un disco rigido virtuale SCSI (. VHDX) o DVD virtuale (. ISO)
Avvio dal disco rigido virtuale del controller IDE (. VHD), DVD virtuale (. ISO) o un'unità CD/DVD fisica
Avvio da floppy virtuale (. VFD)

Quali sono i vantaggi dell'uso di macchine virtuali di seconda generazione?

Ecco alcuni dei vantaggi che si ottengono quando si usa una macchina virtuale di seconda generazione:

  • Avvio protetto

    Si tratta di una funzionalità che verifica che il caricatore di avvio sia firmato da un'autorità attendibile nel database UEFI per impedire l'esecuzione di firmware, sistemi operativi o driver UEFI non autorizzati in fase di avvio. L'avvio protetto è abilitato per impostazione predefinita per le macchine virtuali di seconda generazione. Se è necessario eseguire un sistema operativo guest non supportato dall'avvio protetto, è possibile disabilitarlo dopo la creazione della macchina virtuale. Per altre informazioni, vedere Avvio protetto.

    Per proteggere le macchine virtuali Linux di seconda generazione, è necessario scegliere il modello di avvio protetto della CA UEFI quando si crea la macchina virtuale.

  • Volume di avvio più grande Il volume di avvio massimo per le macchine virtuali di seconda generazione è 64 TB. Questa è la dimensione massima del disco supportata da un oggetto .VHDX. Per le macchine virtuali di prima generazione, il volume di avvio massimo è 2 TB per un .VHDX e 2040 GB per un oggetto .VHD. Per altre informazioni, vedere Panoramica del formato del disco rigido virtuale Hyper-V.

    È possibile anche notare un leggero miglioramento nei tempi di avvio e di installazione con le macchine virtuali di prima e di seconda generazione.

Qual è la differenza nel supporto dei dispositivi?

Nella tabella seguente vengono confrontati i dispositivi disponibili tra le macchine virtuali di prima e seconda generazione.

Dispositivo di prima generazione Sostituzione con la seconda generazione Miglioramenti della seconda generazione
Controller IDE Controller SCSI virtuale Avvio da .VHDX (dimensione massima 64 TB e capacità di ridimensionamento online)
CD-ROM IDE CD-ROM SCSI virtuale Supporto di 64 dispositivi DVD SCSI per ogni controller SCSI.
BIOS legacy Firmware UEFI Avvio protetto
Scheda di rete legacy Scheda di rete sintetica Avvio di rete con IPv4 e IPv6
Controller floppy e controller DMA Nessun supporto per il controller floppy N/D
Universal Asynchronous Receiver/Transmitter (UART) per porte COM UART facoltativo per il debug Più veloce e affidabile
Controller tastiera i8042 Input basato sul software Usa meno risorse perché non sono previste emulazioni. Inoltre riduce la superficie di attacco dal sistema operativo guest.
Tastiera PS/2 Tastiera basata sul software Usa meno risorse perché non sono previste emulazioni. Inoltre riduce la superficie di attacco dal sistema operativo guest.
Mouse PS/2 Mouse basato sul software Usa meno risorse perché non sono previste emulazioni. Inoltre riduce la superficie di attacco dal sistema operativo guest.
Video S3 Video basato sul software Usa meno risorse perché non sono previste emulazioni. Inoltre riduce la superficie di attacco dal sistema operativo guest.
Bus PCI Non più necessario N/D
Programmable Interrupt Controller (PIC) Non più necessario N/D
Programmable Interval Timer (PIT) Non più necessario N/D
Dispositivo Super I/O Non più necessario N/D

Altre informazioni sulle macchine virtuali di seconda generazione

Ecco alcuni suggerimenti aggiuntivi sull'uso di macchine virtuali di seconda generazione.

Collegare o aggiungere un'unità DVD

  • Non è possibile collegare un'unità CD o DVD fisica a una macchina virtuale di seconda generazione. L'unità DVD virtuale nelle macchine virtuali di seconda generazione supporta solo file di immagine ISO. Per creare un file immagine ISO di un ambiente Windows, è possibile usare lo strumento da riga di comando Oscdimg. Per altre informazioni, vedere Opzioni della riga di comando di Oscdimg.
  • Quando si crea una nuova macchina virtuale con il cmdlet di Windows PowerShell New-VM, la macchina virtuale di seconda generazione non dispone di un'unità DVD. È possibile aggiungere un'unità DVD mentre la macchina virtuale è in esecuzione.

Usare il firmware UEFI

  • L'avvio protetto o il firmware UEFI non è necessario nell'host Hyper-V fisico. Hyper-V fornisce il firmware virtuale alle macchine virtuali indipendenti da ciò che si trova nell'host Hyper-V.
  • Il firmware UEFI in una macchina virtuale di seconda generazione non supporta la modalità di installazione per l'avvio protetto.
  • Non è supportata l'esecuzione di una shell UEFI o di altre applicazioni UEFI in una macchina virtuale di seconda generazione. L'uso di una shell UEFI o di applicazioni UEFI non Microsoft è tecnicamente possibile se vengono compilate direttamente dalle origini. Se queste applicazioni non hanno una firma digitale valida, sarà necessario disabilitare l'avvio protetto per la macchina virtuale.

Usare i file VHDX

  • È possibile ridimensionare un file VHDX contenente il volume di avvio per una macchina virtuale di seconda generazione mentre la macchina virtuale è in esecuzione.
  • Non è supportato né si consiglia di creare un singolo disco virtuale (VHD o file VHDX) che sia avviabile per sia macchine virtuali di prima generazione sia di seconda generazione. Creare invece file VHDX di avvio destinati solo alle macchine virtuali di prima o seconda generazione.
  • La generazione è una proprietà della macchina virtuale e non del disco rigido virtuale. Non è quindi possibile stabilire se un file VHDX è stato creato da una macchina virtuale di prima o di seconda generazione.
  • Un file VHDX creato con una macchina virtuale di seconda generazione può essere collegato al controller IDE o al controller SCSI di una macchina virtuale di prima generazione. Se però si tratta di un file VHDX di avvio, la macchina virtuale di prima generazione non verrà avviata.

Usare IPv6 anziché IPv4

Quando si esegue l'avvio dalla rete con PXE, le macchine virtuali di seconda generazione usano IPv4 per impostazione predefinita. Per usare invece IPv6, eseguire cmdlet Set-VMFirmware Windows PowerShell. Ad esempio, il comando seguente imposta il protocollo preferito su IPv6 per una macchina virtuale denominata TestVM:

Set-VMFirmware -VMName 'TestVM' -IPProtocolPreference IPv6

Aggiungere una porta COM per il debug del kernel

Le porte COM non sono disponibili nelle macchine virtuali di seconda generazione finché non vengono aggiunte. A tale scopo, è possibile usare Windows PowerShell o Strumentazione gestione Windows (WMI). Questi passaggi illustrano come eseguire questa operazione con Windows PowerShell.

Per aggiungere una porta COM:

  1. Disabilitare l'avvio protetto. Il debug del kernel non è compatibile con l'avvio protetto. Assicurarsi che la macchina virtuale sia in stato Off e quindi usare il cmdlet Set-VMFirmware. Il comando seguente, ad esempio, disabilita l'avvio protetto nella macchina virtuale TestVM:

    Set-VMFirmware -VMName 'TestVM' -EnableSecureBoot Off
    
  2. Aggiungere una porta COM. Usare il cmdlet Set-VMComPort per eseguire questa operazione. Il comando seguente, ad esempio, configura la prima porta COM nella macchina virtuale, TestVM, per la connessione alla named pipe, TestPipe, sul computer locale:

    Set-VMComPort -VMName 'TestVM' -Number 1 -Path '\\.\pipe\TestPipe'
    

Nota

Le porte COM configurate non sono elencate nelle impostazioni di una macchina virtuale nella console di gestione di Hyper-V.

Vedi anche