È 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, sono supportate sia le macchine virtuali di seconda generazione che quella di seconda generazione purché usino il formato di file VHD e abbiano un disco con dimensioni fisse (non con espansione dinamica). Per altre informazioni sulle funzionalità di seconda generazione supportate in Azure, vedere Macchine virtuali di seconda generazione 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 che si vuole 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 non sia vera una delle istruzioni seguenti:

  • Si sta usando un disco virtuale esistente predefinito (VHD o VHDX) che non è compatibile con UEFI.
  • La seconda generazione 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à che si desidera 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 versioni più recenti dei sistemi operativi Linux e FreeBSD. Usare le sezioni seguenti per vedere quale generazione di macchina virtuale supporta il sistema operativo guest che si vuole 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 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 CentOS e Red Hat Enterprise Linux macchine virtuali in Hyper-V.

Supporto del sistema operativo guest Debian

Nella tabella seguente vengono illustrate le versioni di Debian che è possibile usare come sistema operativo guest per le macchine virtuali di seconda generazione 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

Nella tabella seguente vengono illustrate le versioni di FreeBSD che è possibile usare come sistema operativo guest per le macchine virtuali di seconda generazione e seconda generazione.

Versioni del sistema operativo Prima generazione Seconda generazione
FreeBSD da 12 a 12.1
FreeBSD 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

Nella tabella seguente vengono illustrate le versioni della serie kernel compatibile con Red Hat che è possibile usare come sistema operativo guest per le macchine virtuali di seconda generazione e 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

Nella tabella seguente vengono illustrate le versioni del kernel Enterprise Nonbreakable che è possibile usare come sistema operativo guest per le macchine virtuali di seconda generazione e seconda generazione.

Versioni di Enterprise Kernel (UEK) non infrangibili 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

Nella tabella seguente vengono illustrate le versioni di SUSE che è possibile usare come sistema operativo guest per le macchine virtuali di seconda generazione e generazione 2.

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 seconda generazione 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 altre informazioni, vedere Macchine virtuali Ubuntu in Hyper-V.

Come è possibile avviare la macchina virtuale?

Nella tabella seguente vengono illustrati i metodi di avvio supportati dalle macchine virtuali di seconda generazione e di seconda generazione.

Metodo di avvio Prima generazione Seconda generazione
Avvio PXE tramite una scheda di rete standard
Avvio PXE usando una scheda di rete legacy
Avvio da un disco rigido virtuale SCSI (. VHDX) o DVD virtuale (. ISO)
Avvio da 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. 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 sicuro, è 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 sicuro 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. Si tratta della dimensione massima del disco supportata da un oggetto . VHDX. Per le macchine virtuali di seconda generazione, il volume di avvio massimo è 2 TB per un oggetto . VHDX e 2040 GB per un oggetto . Vhd. Per altre informazioni, vedere Panoramica del formato disco rigido virtuale Hyper-V.

    È anche possibile notare un lieve miglioramento nei tempi di avvio e installazione delle macchine virtuali di seconda generazione.

Qual è la differenza nel supporto del dispositivo?

La tabella seguente confronta i dispositivi disponibili tra le macchine virtuali di seconda generazione e di seconda generazione.

Dispositivo di prima generazione Sostituzione con la seconda generazione Miglioramenti della seconda generazione
Controller IDE Controller SCSI virtuale Avvio da . VHDX (dimensioni massime di 64 TB e funzionalità 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 di 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 New-VM cmdlet Windows PowerShell, 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 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 configurazione per l'avvio protetto.
  • Non è supportato 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 sono firmate digitalmente in modo appropriato, è necessario disabilitare l'avvio protetto per la macchina virtuale.

Usare i file VHDX

  • È possibile ridimensionare un file VHDX che contiene il volume di avvio per una macchina virtuale di seconda generazione mentre la macchina virtuale è in esecuzione.
  • Non è supportato o si consiglia di creare un singolo disco virtuale (file VHD o VHDX) che sia avviabile sia per le macchine virtuali di prima generazione che per le macchine virtuali di 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 generazione o da una macchina virtuale 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. Tuttavia, se si tratta di un file VHDX avviabile, la macchina virtuale di prima generazione non verrà avviata.

Usare IPv6 invece di 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 il 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 Disattivato, quindi usare il cmdlet Set-VMFirmware . Ad esempio, il comando seguente 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. Ad esempio, il comando seguente configura la prima porta COM nella macchina virtuale, TestVM, per connettersi alla named pipe, TestPipe, nel 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.

Vedere anche