Preparare un disco rigido virtuale Windows o VHDX prima del caricamento in Azure

Si applica a: ✔️ Macchine virtuali Windows

Prima di caricare una macchina virtuale Windows da locale ad Azure, è necessario preparare il disco rigido virtuale (VHD o VHDX). supporto tecnico di Azure sia macchine virtuali di prima generazione che di seconda generazione che si trovano in formato di file VHD e che hanno un disco a dimensione fissa. La dimensione massima consentita per il disco rigido virtuale del sistema operativo in una macchina virtuale di prima generazione è di 2 TB.

È possibile convertire un file VHDX in disco rigido virtuale, convertire un disco a espansione dinamica in un disco a dimensione fissa, ma non è possibile modificare la generazione di una macchina virtuale. Per altre informazioni, vedere Creare una macchina virtuale di prima o 2 generazione in Hyper-V? e supporto per le macchine virtuali di seconda generazione in Azure.

Per informazioni sui criteri di supporto per le macchine virtuali di Azure, vedere Supporto software del server Microsoft per le macchine virtuali di Azure.

Nota

Le istruzioni contenute in questo articolo si applicano a:

  • Versione a 64 bit di Windows Server 2008 R2 e sistemi operativi Windows Server successivi. Per informazioni sull'esecuzione di un sistema operativo a 32 bit in Azure, vedere Supporto per sistemi operativi a 32 bit nelle macchine virtuali di Azure.
  • Se uno strumento di ripristino di emergenza verrà usato per eseguire la migrazione del carico di lavoro, ad esempio Azure Site Recovery o Azure Migrate, questo processo è comunque necessario nel sistema operativo guest per preparare l'immagine prima della migrazione.

Controllo file di sistema

Eseguire l'utilità Controllo file di sistema Windows prima della generalizzazione dell'immagine del sistema operativo

Il controllo file di sistema (SFC) viene usato per verificare e sostituire i file di sistema di Windows.

Importante

Usare una sessione di PowerShell con privilegi elevati per eseguire gli esempi in questo articolo.

Eseguire il comando SFC:

sfc.exe /scannow
Beginning system scan.  This process will take some time.

Beginning verification phase of system scan.
Verification 100% complete.

Windows Resource Protection did not find any integrity violations.

Al termine dell'analisi SFC, installare Windows Aggiornamenti e riavviare il computer.

Impostare le configurazioni di Windows per Azure

Nota

La piattaforma Azure monta un file ISO nel DVD-ROM quando viene creata una macchina virtuale Windows da un'immagine generalizzata. Per questo motivo, il DVD-ROM deve essere abilitato nel sistema operativo nell'immagine generalizzata. Se è disabilitato, la macchina virtuale Windows verrà bloccata nella configurazione guidata.

  1. Rimuovere tutte le route persistenti statiche nella tabella di routing:

    • Per visualizzare la tabella di routing, eseguire route.exe print.
    • Controllare la sezione Route di persistenza. Se è presente una route persistente, usare il route.exe delete comando per rimuoverlo.
  2. Rimuovere il proxy WinHTTP:

    netsh.exe winhttp reset proxy
    

    Se la macchina virtuale deve usare un proxy specifico, aggiungere un'eccezione proxy per l'indirizzo IP di Azure (168.63.129.16) in modo che la macchina virtuale possa connettersi ad Azure:

    $proxyAddress='<your proxy server>'
    $proxyBypassList='<your list of bypasses>;168.63.129.16'
    netsh.exe winhttp set proxy $proxyAddress $proxyBypassList
    
  3. Apri DiskPart:

    diskpart.exe
    

    Impostare i criteri SAN del disco su Onlineall:

    DISKPART> san policy=onlineall
    DISKPART> exit
    
  4. Impostare l'ora UTC (Coordinated Universal Time) per Windows. Impostare anche il tipo di avvio del servizio ora di Windows w32time su Automatico:

    Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -Value 1 -Type DWord -Force
    Set-Service -Name w32time -StartupType Automatic
    
  5. Impostare il profilo di alimentazione su prestazioni elevate:

    powercfg.exe /setactive SCHEME_MIN
    powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0
    
  6. Assicurarsi che le variabili di ambiente TEMP e TMP siano impostate sui valori predefiniti:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment' -Name TEMP -Value "%SystemRoot%\TEMP" -Type ExpandString -Force
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment' -Name TMP -Value "%SystemRoot%\TEMP" -Type ExpandString -Force
    
  7. Per le macchine virtuali con sistemi operativi legacy (Windows Server 2012 R2 o Windows 8.1 e versioni successive), assicurarsi che siano installati i servizi componenti di integrazione Hyper-V più recenti. Per altre informazioni, vedere Aggiornamento dei componenti di integrazione Hyper-V per la macchina virtuale Windows.

Nota

In uno scenario in cui le macchine virtuali devono essere configurate con una soluzione di ripristino di emergenza tra il server VMware locale e Azure, non è possibile usare Hyper-V Integration Component Services. In questo caso, contattare il supporto VMware per eseguire la migrazione della macchina virtuale ad Azure e renderla condivisa nel server VMware.

Verificare i servizi di Windows

Assicurarsi che ognuno dei seguenti servizi Di Windows sia impostato sul valore predefinito di Windows. Questi servizi sono il minimo che deve essere configurato per garantire la connettività della macchina virtuale. Per impostare le impostazioni di avvio, eseguire l'esempio seguente:

Get-Service -Name BFE, Dhcp, Dnscache, IKEEXT, iphlpsvc, nsi, mpssvc, RemoteRegistry |
  Where-Object StartType -ne Automatic |
    Set-Service -StartupType Automatic

Get-Service -Name Netlogon, Netman, TermService |
  Where-Object StartType -ne Manual |
    Set-Service -StartupType Manual

Aggiornare le impostazioni del Registro di sistema desktop remoto

Assicurarsi che le impostazioni seguenti siano configurate correttamente per l'accesso remoto:

Nota

Se viene visualizzato un messaggio di errore durante l'esecuzione Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name <string> -Value <object>di , è possibile ignorarlo in modo sicuro. Significa che il dominio non imposta tale configurazione tramite un oggetto Criteri di gruppo.

  1. Remote Desktop Protocol (RDP) è abilitato:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections -Value 0 -Type DWord -Force
    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name fDenyTSConnections -Value 0 -Type DWord -Force
    
  2. La porta RDP è configurata correttamente usando la porta predefinita 3389:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -Name PortNumber -Value 3389 -Type DWord -Force
    

    Quando si distribuisce una macchina virtuale, vengono create le regole predefinite per la porta 3389. Per modificare il numero di porta, eseguire questa operazione dopo la distribuzione della macchina virtuale in Azure.

  3. Il listener è in ascolto su ogni interfaccia di rete:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -Name LanAdapter -Value 0 -Type DWord -Force
    
  4. Configurare la modalità di autenticazione a livello di rete (NLA) per le connessioni RDP:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1 -Type DWord -Force
    
  5. Impostare il valore keep-alive:

    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name KeepAliveEnable -Value 1  -Type DWord -Force
    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name KeepAliveInterval -Value 1  -Type DWord -Force
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -Name KeepAliveTimeout -Value 1 -Type DWord -Force
    
  6. Impostare le opzioni di riconnessione:

    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name fDisableAutoReconnect -Value 0 -Type DWord -Force
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -Name fInheritReconnectSame -Value 1 -Type DWord -Force
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -Name fReconnectSame -Value 0 -Type DWord -Force
    
  7. Limitare il numero di connessioni simultanee:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -Name MaxInstanceCount -Value 4294967295 -Type DWord -Force
    
  8. Rimuovere tutti i certificati autofirmato associati al listener RDP:

    if ((Get-Item -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp').Property -contains 'SSLCertificateSHA1Hash')
    {
        Remove-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name SSLCertificateSHA1Hash -Force
    }
    

    Questo codice garantisce la connessione quando si distribuisce la macchina virtuale. È anche possibile esaminare queste impostazioni dopo la distribuzione della macchina virtuale in Azure.

  9. Se la macchina virtuale fa parte di un dominio, controllare i criteri seguenti per assicurarsi che le impostazioni precedenti non vengano ripristinate.

    Obiettivo Criteri Valore
    RDP è abilitato Configurazione computer\Criteri\Impostazioni di Windows \Modelli amministrativi\Componenti\Servizi Desktop remoto\Host sessione Desktop remoto\Connessioni Consenti la connessione remota tramite Servizi Desktop remoto
    Criteri di gruppo NLA Impostazioni\Modelli amministrativi\Componenti\Servizi Desktop remoto\Host sessione Desktop remoto\Sicurezza Richiedere l'autenticazione utente per l'accesso remoto tramite NLA
    Impostazioni keep-alive Configurazione computer\Criteri\Impostazioni di Windows\Modelli amministrativi\Componenti di Windows\Servizi Desktop remoto\Host sessione Desktop remoto\Connessioni Configura intervallo keep-alive della connessione
    Impostazioni di riconnessione Configurazione computer\Criteri\Impostazioni di Windows\Modelli amministrativi\Componenti di Windows\Servizi Desktop remoto\Host sessione Desktop remoto\Connessioni Riconnettersi automaticamente
    Numero limitato di impostazioni di connessione Configurazione computer\Criteri\Impostazioni di Windows\Modelli amministrativi\Componenti di Windows\Servizi Desktop remoto\Host sessione Desktop remoto\Connessioni Limita il numero di connessioni

Configurare le regole del firewall di Windows

  1. Attivare Windows Firewall sui tre profili (dominio, standard e pubblico):

    Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled True
    
  2. Eseguire l'esempio seguente per consentire WinRM tramite i tre profili firewall (dominio, privato e pubblico) e abilitare il servizio remoto di PowerShell:

    Enable-PSRemoting -Force
    

Nota

Quando questo comando viene eseguito, abilita automaticamente le regole del firewall appropriate.

  1. Abilitare le regole del firewall seguenti per consentire il traffico RDP:

    Get-NetFirewallRule -DisplayGroup 'Remote Desktop' | Set-NetFirewallRule -Enabled True
    
  2. Abilitare la regola per la condivisione di file e stampanti in modo che la macchina virtuale possa rispondere alle richieste ping all'interno della rete virtuale:

    Set-NetFirewallRule -Name FPS-ICMP4-ERQ-In -Enabled True
    
  3. Creare una regola per la rete della piattaforma Azure:

    New-NetFirewallRule -DisplayName AzurePlatform -Direction Inbound -RemoteAddress 168.63.129.16 -Profile Any -Action Allow -EdgeTraversalPolicy Allow
    New-NetFirewallRule -DisplayName AzurePlatform -Direction Outbound -RemoteAddress 168.63.129.16 -Profile Any -Action Allow
    

Importante

168.63.129.16 è un indirizzo IP pubblico speciale di proprietà di Microsoft per Azure. Per altre informazioni, vedere Che cos'è l'indirizzo IP 168.63.129.16.

  1. Se la macchina virtuale fa parte di un dominio, controllare i criteri di Microsoft Entra seguenti per assicurarsi che le impostazioni precedenti non vengano ripristinate.

    Obiettivo Criteri Valore
    Abilitare i profili di Windows Firewall Configurazione computer\Criteri\Impostazioni di Windows\Modelli amministrativi\Rete\Connessione di rete\Windows Firewall\Profilo di dominio\Windows Firewall Proteggi tutte le connessioni di rete
    Abilitare RDP Configurazione computer\Criteri\Impostazioni di Windows\Modelli amministrativi\Rete\Connessione di rete\Windows Firewall\Profilo di dominio\Windows Firewall Consenti eccezioni per Desktop remoto in ingresso
    Configurazione computer\Criteri\Impostazioni di Windows\Modelli amministrativi\Rete\Connessione di rete\Windows Firewall\Profilo standard\Windows Firewall Consenti eccezioni per Desktop remoto in ingresso
    Abilitare ICMP V4 Configurazione computer\Criteri\Impostazioni di Windows\Modelli amministrativi\Rete\Connessione di rete\Windows Firewall\Profilo di dominio\Windows Firewall Consenti eccezioni ICMP
    Configurazione computer\Criteri\Impostazioni di Windows\Modelli amministrativi\Rete\Connessione di rete\Windows Firewall\Profilo standard\Windows Firewall Consenti eccezioni ICMP

Verificare la VM

Assicurarsi che la macchina virtuale sia integra, sicura e accessibile da RDP:

  1. Per assicurarsi che il disco sia integro e coerente, controllare il disco al successivo riavvio della macchina virtuale:

    chkdsk.exe /f
    

    Assicurarsi che il report mostri un disco pulito e integro.

  2. Configurare le impostazioni dei dati di configurazione di avvio.

    cmd
    
    bcdedit.exe /set "{bootmgr}" integrityservices enable
    bcdedit.exe /set "{default}" device partition=C:
    bcdedit.exe /set "{default}" integrityservices enable
    bcdedit.exe /set "{default}" recoveryenabled Off
    bcdedit.exe /set "{default}" osdevice partition=C:
    bcdedit.exe /set "{default}" bootstatuspolicy IgnoreAllFailures
    
    #Enable Serial Console Feature
    bcdedit.exe /set "{bootmgr}" displaybootmenu yes
    bcdedit.exe /set "{bootmgr}" timeout 5
    bcdedit.exe /set "{bootmgr}" bootems yes
    bcdedit.exe /ems "{current}" ON
    bcdedit.exe /emssettings EMSPORT:1 EMSBAUDRATE:115200
    
    exit
    
  3. Il log di dump può essere utile per la risoluzione dei problemi di arresto anomalo di Windows. Abilitare la raccolta dei log di dump:

    # Set up the guest OS to collect a kernel dump on an OS crash event
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl' -Name CrashDumpEnabled -Type DWord -Force -Value 2
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl' -Name DumpFile -Type ExpandString -Force -Value "%SystemRoot%\MEMORY.DMP"
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl' -Name NMICrashDump -Type DWord -Force -Value 1
    
    # Set up the guest OS to collect user mode dumps on a service crash event
    $key = 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps'
    if ((Test-Path -Path $key) -eq $false) {(New-Item -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting' -Name LocalDumps)}
    New-ItemProperty -Path $key -Name DumpFolder -Type ExpandString -Force -Value 'C:\CrashDumps'
    New-ItemProperty -Path $key -Name CrashCount -Type DWord -Force -Value 10
    New-ItemProperty -Path $key -Name DumpType -Type DWord -Force -Value 2
    Set-Service -Name WerSvc -StartupType Manual
    
  4. Verificare che il repository strumentazione gestione Windows (WMI) sia coerente:

    winmgmt.exe /verifyrepository
    

    Se il repository è danneggiato, vedere WMI: danneggiamento del repository.

  5. Assicurarsi che nessun'altra applicazione di TermService usi la porta 3389. Questa porta viene utilizzata per il servizio RDP in Azure. Per vedere quali porte vengono usate nella macchina virtuale, eseguire netstat.exe -anob:

    netstat.exe -anob
    

    Di seguito viene riportato un esempio.

    netstat.exe -anob | findstr 3389
    TCP    0.0.0.0:3389           0.0.0.0:0              LISTENING       4056
    TCP    [::]:3389              [::]:0                 LISTENING       4056
    UDP    0.0.0.0:3389           *:*                                    4056
    UDP    [::]:3389              *:*                                    4056
    
    tasklist /svc | findstr 4056
    svchost.exe                   4056 TermService
    
  6. Per caricare un disco rigido virtuale Windows che è un controller di dominio:

    • Seguire questi passaggi aggiuntivi per preparare il disco.

    • Assicurarsi di conoscere la password DSRM (Directory Services Restore Mode) nel caso in cui sia necessario avviare la macchina virtuale in DSRM. Per altre informazioni, vedere Impostare una password DSRM.

  7. Assicurarsi di conoscere l'account amministratore e la password predefiniti. È possibile reimpostare la password dell'amministratore locale corrente e assicurarsi di poter usare questo account per accedere a Windows tramite la connessione RDP. Questa autorizzazione di accesso è controllata dall'oggetto Criteri di gruppo "Consenti accesso tramite Servizi Desktop remoto". Visualizzare questo oggetto nell'Editor Criteri di gruppo locali:

    • Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment
  8. Controllare i criteri di Microsoft Entra seguenti per assicurarsi che non blocchino l'accesso RDP:

    • Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Deny access to this computer from the network

    • Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Deny log on through Remote Desktop Services

  9. Controllare i criteri di Microsoft Entra seguenti per assicurarsi che non vengano rimossi gli account di accesso necessari:

    • Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Access this computer from the network

    I criteri devono elencare i gruppi seguenti:

    • Amministratori

    • Backup Operators

    • Tutti

    • Utenti

  10. Riavviare la macchina virtuale per assicurarsi che Windows sia ancora integro e raggiungibile tramite la connessione RDP. A questo punto, prendere in considerazione la creazione di una macchina virtuale nel server Hyper-V locale per assicurarsi che la macchina virtuale venga avviata completamente. Testare quindi per assicurarsi di poter raggiungere la macchina virtuale tramite RDP.

  11. Rimuovere eventuali filtri extra di Transport Driver Interface (TDI).Remove any extra Transport Driver Interface (TDI) filters. Ad esempio, rimuovere il software che analizza pacchetti TCP o firewall aggiuntivi.

  12. Disinstallare qualsiasi altro software o driver di terze parti correlato ai componenti fisici o a qualsiasi altra tecnologia di virtualizzazione.

Installare gli aggiornamenti di Windows

Nota

Per evitare un riavvio accidentale durante il provisioning della macchina virtuale, è consigliabile completare tutte le installazioni di aggiornamenti di Windows e assicurarsi che non ci sia un riavvio in sospeso. Un modo per eseguire questa operazione consiste nell'installare tutti gli aggiornamenti di Windows e riavviare la macchina virtuale prima di eseguire la migrazione ad Azure.

Se è anche necessario eseguire una generalizzazione del sistema operativo (sysprep), è necessario aggiornare Windows e riavviare la macchina virtuale prima di eseguire il comando Sysprep.

Idealmente, è consigliabile mantenere aggiornato il computer al livello di patch, se non è possibile, assicurarsi che siano installati gli aggiornamenti seguenti. Per ottenere gli aggiornamenti più recenti, vedi le pagine della cronologia degli aggiornamenti di Windows: Windows 10 e Windows Server 2019, Windows 8.1 e Windows Server 2012 R2 e Windows 7 SP1 e Windows Server 2008 R2 SP1.


Componente Binario Windows 7 SP1, Windows Server 2008 R2 SP1 Windows 8, Windows Server 2012 Windows 8.1, Windows Server 2012 R2 Windows 10 v1607, Windows Server 2016 v1607 Windows 10 v1703 Windows 10 v1709, Windows Server 2016 v1709 Windows 10 v1803, Windows Server 2016 v1803
Storage disk.sys 6.1.7601.23403 - KB3125574 6.2.9200.17638 / 6.2.9200.21757 - KB3137061 6.3.9600.18203 - KB3137061 - - - -
storport.sys 6.1.7601.23403 - KB3125574 6.2.9200.17188 / 6.2.9200.21306 - KB3018489 6.3.9600.18573 - KB4022726 10.0.14393.1358 - KB4022715 10.0.15063.332 - -
ntfs.sys 6.1.7601.23403 - KB3125574 6.2.9200.17623 / 6.2.9200.21743 - KB3121255 6.3.9600.18654 - KB4022726 10.0.14393.1198 - KB4022715 10.0.15063.447 - -
Iologmsg.dll 6.1.7601.23403 - KB3125574 6.2.9200.16384 - KB2995387 - - - - -
Classpnp.sys 6.1.7601.23403 - KB3125574 6.2.9200.17061 / 6.2.9200.21180 - KB2995387 6.3.9600.18334 - KB3172614 10.0.14393.953 - KB4022715 - - -
Volsnap.sys 6.1.7601.23403 - KB3125574 6.2.9200.17047 / 6.2.9200.21165 - KB2975331 6.3.9600.18265 - KB3145384 - 10.0.15063.0 - -
partmgr.sys 6.1.7601.23403 - KB3125574 6.2.9200.16681 - KB2877114 6.3.9600.17401 - KB3000850 10.0.14393.953 - KB4022715 10.0.15063.0 - -
volmgr.sys 10.0.15063.0 - -
Volmgrx.sys 6.1.7601.23403 - KB3125574 - - - 10.0.15063.0 - -
Msiscsi.sys 6.1.7601.23403 - KB3125574 6.2.9200.21006 - KB2955163 6.3.9600.18624 - KB4022726 10.0.14393.1066 - KB4022715 10.0.15063.447 - -
Msdsm.sys 6.1.7601.23403 - KB3125574 6.2.9200.21474 - KB3046101 6.3.9600.18592 - KB4022726 - - - -
Mpio.sys 6.1.7601.23403 - KB3125574 6.2.9200.21190 - KB3046101 6.3.9600.18616 - KB4022726 10.0.14393.1198 - KB4022715 - - -
vmstorfl.sys 6.3.9600.18907 - KB4072650 6.3.9600.18080 - KB3063109 6.3.9600.18907 - KB4072650 10.0.14393.2007 - KB4345418 10.0.15063.850 - KB4345419 10.0.16299.371 - KB4345420 -
Fveapi.dll 6.1.7601.23311 - KB3125574 6.2.9200.20930 - KB2930244 6.3.9600.18294 - KB3172614 10.0.14393.576 - KB4022715 - - -
Fveapibase.dll 6.1.7601.23403 - KB3125574 6.2.9200.20930 - KB2930244 6.3.9600.17415 - KB3172614 10.0.14393.206 - KB4022715 - - -
Rete netvsc.sys - - - 10.0.14393.1198 - KB4022715 10.0.15063.250 - KB4020001 - -
mrxsmb10.sys 6.1.7601.23816 - KB4022722 6.2.9200.22108 - KB4022724 6.3.9600.18603 - KB4022726 10.0.14393.479 - KB4022715 10.0.15063.483 - -
mrxsmb20.sys 6.1.7601.23816 - KB4022722 6.2.9200.21548 - KB4022724 6.3.9600.18586 - KB4022726 10.0.14393.953 - KB4022715 10.0.15063.483 - -
mrxsmb.sys 6.1.7601.23816 - KB4022722 6.2.9200.22074 - KB4022724 6.3.9600.18586 - KB4022726 10.0.14393.953 - KB4022715 10.0.15063.0 - -
tcpip.sys 6.1.7601.23761 - KB4022722 6.2.9200.22070 - KB4022724 6.3.9600.18478 - KB4022726 10.0.14393.1358 - KB4022715 10.0.15063.447 - -
http.sys 6.1.7601.23403 - KB3125574 6.2.9200.17285 - KB3042553 6.3.9600.18574 - KB4022726 10.0.14393.251 - KB4022715 10.0.15063.483 - -
vmswitch.sys 6.1.7601.23727 - KB4022719 6.2.9200.22117 - KB4022724 6.3.9600.18654 - KB4022726 10.0.14393.1358 - KB4022715 10.0.15063.138 - -
Core ntoskrnl.exe 6.1.7601.23807 - KB4022719 6.2.9200.22170 - KB4022718 6.3.9600.18696 - KB4022726 10.0.14393.1358 - KB4022715 10.0.15063.483 - -
Servizi Desktop remoto rdpcorets.dll 6.2.9200.21506 - KB4022719 6.2.9200.22104 - KB4022724 6.3.9600.18619 - KB4022726 10.0.14393.1198 - KB4022715 10.0.15063.0 - -
termsrv.dll 6.1.7601.23403 - KB3125574 6.2.9200.17048 - KB2973501 6.3.9600.17415 - KB3000850 10.0.14393.0 - KB4022715 10.0.15063.0 - -
termdd.sys 6.1.7601.23403 - KB3125574 - - - - - -
win32k.sys 6.1.7601.23807 - KB4022719 6.2.9200.22168 - KB4022718 6.3.9600.18698 - KB4022726 10.0.14393.594 - KB4022715 - - -
rdpdd.dll 6.1.7601.23403 - KB3125574 - - - - - -
rdpwd.sys 6.1.7601.23403 - KB3125574 - - - - - -
Sicurezza MS17-010 KB4012212 KB4012213 KB4012213 KB4012606 KB4012606 - -
KB4012216 KB4013198 KB4013198 - -
KB4012215 KB4012214 KB4012216 KB4013429 KB4013429 - -
KB4012217 KB4013429 KB4013429 - -
CVE-2018-0886 KB4103718 KB4103730 KB4103725 KB4103723 KB4103731 KB4103727 KB4103721
KB4103712 KB4103726 KB4103715

Nota

Per evitare un riavvio accidentale durante il provisioning delle macchine virtuali, è consigliabile assicurarsi che tutte le installazioni di Windows Update siano terminate e che non siano in sospeso aggiornamenti. Un modo per eseguire questa operazione consiste nell'installare tutti i possibili aggiornamenti di Windows e riavviare una sola volta prima di eseguire il sysprep.exe comando.

Determinare quando usare Sysprep

System Preparation Tool (sysprep.exe) è un processo che è possibile eseguire per reimpostare un'installazione di Windows. Sysprep offre un'esperienza predefinita rimuovendo tutti i dati personali e reimpostando diversi componenti.

In genere si esegue sysprep.exe per creare un modello da cui è possibile distribuire diverse altre macchine virtuali con una configurazione specifica. Il modello è denominato immagine generalizzata.

Per creare una sola macchina virtuale da un disco, non è necessario usare Sysprep. È invece possibile creare la macchina virtuale da un'immagine specializzata. Per informazioni su come creare una macchina virtuale da un disco specializzato, vedere:

Per creare un'immagine generalizzata, è necessario eseguire Sysprep. Per altre informazioni, vedere Come usare Sysprep: Introduzione.

Non tutti i ruoli o le applicazioni installati in un computer basato su Windows supportano immagini generalizzate. Prima di usare questa procedura, assicurarsi che Sysprep supporti il ruolo del computer. Per altre informazioni, vedere Sysprep support for server roles (Supporto di Sysprep per i ruoli server).

In particolare, Sysprep richiede che le unità vengano decrittografate completamente prima dell'esecuzione. Se è stata abilitata la crittografia nella macchina virtuale, disabilitarla prima di eseguire Sysprep.

Generalizzare un disco rigido virtuale

Nota

Se si sta creando un'immagine generalizzata da una macchina virtuale di Azure esistente, è consigliabile rimuovere le estensioni della macchina virtuale prima di eseguire sysprep.

Nota

Dopo l'esecuzione sysprep.exe nei passaggi seguenti, disattivare la macchina virtuale. Non riattivarlo fino a quando non si crea un'immagine da essa in Azure.

  1. Accedere alla VM Windows.

  2. Eseguire una sessione di PowerShell come amministratore.

  3. Eliminare la directory panther (C:\Windows\Panther).

  4. Modificare la directory in %windir%\system32\sysprep. Quindi eseguire sysprep.exe.

  5. Nella finestra di dialogo Utilità preparazione sistema selezionare Enter System Out-of-Box Experience (OOBE) e assicurarsi che la casella di controllo Generalize (Generalize) sia selezionata.

    System Preparation Tool

  6. In Opzioni di arresto del sistema selezionare Arresta il sistema.

  7. Seleziona OK.

  8. Al termine di Sysprep, arrestare la macchina virtuale. Non usare Restart per arrestare la macchina virtuale.

A questo punto il disco rigido virtuale è pronto per essere caricato. Per altre informazioni su come creare una macchina virtuale da un disco generalizzato, vedere Caricare un disco rigido virtuale generalizzato e usarlo per creare una nuova macchina virtuale in Azure.

Nota

Un file unattend.xml personalizzato non è supportato. Sebbene sia supportata la proprietà additionalUnattendContent , che offre solo un supporto limitato per l'aggiunta di opzioni di installazione di microsoft-windows-shell-setup nel file unattend.xml usato dall'agente di provisioning di Azure. È possibile usare, ad esempio, additionalUnattendContent per aggiungere FirstLogonCommands e LogonCommands. Per altre informazioni, vedere l'esempio additionalUnattendContent FirstLogonCommands.

Convertire il disco virtuale in un disco rigido virtuale a dimensione fissa

Nota

Se si intende usare Azure PowerShell per caricare il disco in Azure ed è abilitato Hyper-V , questo passaggio è facoltativo. Add-AzVHD lo eseguirà.

Usare uno dei metodi descritti in questa sezione per convertire e ridimensionare il disco virtuale nel formato necessario per Azure:

  1. Eseguire il backup della macchina virtuale prima di eseguire il processo di conversione o ridimensionamento del disco virtuale.

  2. Assicurarsi che il disco rigido virtuale Windows funzioni correttamente nel server locale. Risolvere qualsiasi errore nella macchina virtuale prima di provare a convertire o caricare il disco in Azure.

  3. Convertire il disco virtuale in un tipo fisso.

  4. Ridimensionare il disco virtuale per soddisfare i requisiti di Azure:

    1. I dischi in Azure devono avere una dimensione virtuale allineata a 1 MiB. Se il disco rigido virtuale è una frazione di 1 MiB, è necessario ridimensionare il disco in un multiplo di 1 MiB. I dischi che sono frazioni di un MiB causano errori durante la creazione di immagini dal disco rigido virtuale caricato. Per verificare le dimensioni, è possibile usare il cmdlet Get-VHD di PowerShell per visualizzare "Size", che deve essere un multiplo di 1 MiB in Azure e "FileSize", che sarà uguale a "Size" più 512 byte per il piè di pagina del disco rigido virtuale.

      $vhd = Get-VHD -Path C:\test\MyNewVM.vhd
      $vhd.Size % 1MB
      0
      $vhd.FileSize - $vhd.Size
      512
      
    2. La dimensione massima consentita per il disco rigido virtuale del sistema operativo con una macchina virtuale di prima generazione è 2.048 GiB (2 TiB),

    3. La dimensione massima per un disco dati è 32.767 GiB (32 TiB).

Nota

  • Se si sta preparando un disco del sistema operativo Windows dopo la conversione in un disco fisso e ridimensionarlo, se necessario, creare una macchina virtuale che usa il disco. Avviare e accedere alla macchina virtuale e continuare con le sezioni di questo articolo per completare la preparazione per il caricamento.
  • Se si sta preparando un disco dati, è possibile arrestarsi con questa sezione e procedere al caricamento del disco.

Usare la console di gestione di Hyper-V per convertire il disco

  1. Aprire la console di gestione di Hyper-V e selezionare il computer locale a sinistra. Nel menu sopra l'elenco di computer selezionare Azione>Modifica disco.
  2. Nella pagina Individua disco rigido virtuale selezionare il disco virtuale.
  3. Nella pagina Scegli azione selezionare Converti>avanti.
  4. Per eseguire la conversione da VHDX, selezionare VHD>Avanti.
  5. Per eseguire la conversione da un disco a espansione dinamica, selezionare Dimensioni>fisse Avanti.
  6. Individuare e selezionare un percorso per salvare il nuovo file VHD.
  7. Selezionare Fine.

Usare PowerShell per convertire il disco

È possibile convertire un disco virtuale usando il cmdlet Convert-VHD in PowerShell. Se sono necessarie informazioni sull'installazione di questo cmdlet, vedere Installare il ruolo Hyper-V.

Nota

Se si intende usare Azure PowerShell per caricare il disco in Azure ed è abilitato Hyper-V , questo passaggio è facoltativo. Add-AzVHD lo eseguirà.

L'esempio seguente converte il disco da VHDX a VHD. Converte anche il disco da un disco a espansione dinamica in un disco a dimensione fissa.

Convert-VHD -Path C:\test\MyVM.vhdx -DestinationPath C:\test\MyNewVM.vhd -VHDType Fixed

In questo esempio sostituire il valore di Path con il percorso del disco rigido virtuale da convertire. Sostituire il valore per DestinationPath con il nuovo percorso e il nome del disco convertito.

Usare la console di gestione di Hyper-V per ridimensionare il disco

Nota

Se si intende usare Azure PowerShell per caricare il disco in Azure ed è abilitato Hyper-V , questo passaggio è facoltativo. Add-AzVHD lo eseguirà.

  1. Aprire la console di gestione di Hyper-V e selezionare il computer locale a sinistra. Nel menu sopra l'elenco di computer selezionare Azione>Modifica disco.
  2. Nella pagina Individua disco rigido virtuale selezionare il disco virtuale.
  3. Nella pagina Scegli azione selezionare Espandi>avanti.
  4. Nella pagina Individua disco rigido virtuale immettere le nuove dimensioni in GiB >Next.
  5. Selezionare Fine.

Usare PowerShell per ridimensionare il disco

Nota

Se si intende usare Azure PowerShell per caricare il disco in Azure ed è abilitato Hyper-V , questo passaggio è facoltativo. Add-AzVHD lo eseguirà.

È possibile ridimensionare un disco virtuale usando il cmdlet Resize-VHD in PowerShell. Se sono necessarie informazioni sull'installazione di questo cmdlet, vedere Installare il ruolo Hyper-V.

L'esempio seguente ridimensiona il disco da 100.5 MiB a 101 MiB per soddisfare i requisiti di allineamento di Azure.

Resize-VHD -Path C:\test\MyNewVM.vhd -SizeBytes 105906176

In questo esempio sostituire il valore di Path con il percorso del disco rigido virtuale da ridimensionare. Sostituire il valore di SizeBytes con le nuove dimensioni in byte per il disco.

Conversione dal formato VMware VMDK

Se si dispone di un'immagine di macchina virtuale Windows nel formato di file VMDK, è possibile usare Azure Migrate per convertire VMDK e caricarlo in Azure.

Le impostazioni seguenti non influiscono sul caricamento del disco rigido virtuale. È tuttavia fortemente consigliabile configurarle.

  • Installare l'agente di macchine virtuali di Azure. Sarà quindi possibile abilitare le estensioni delle VM. Le estensioni della macchina virtuale implementano la maggior parte delle funzionalità critiche che è possibile usare con le macchine virtuali. Sono necessarie le estensioni, ad esempio, per reimpostare le password o configurare RDP. Per altre informazioni, vedere Panoramica dell'agente di macchine virtuali di Azure.

  • Dopo aver creato la macchina virtuale in Azure, è consigliabile inserire il file di pagina nel volume dell'unità temporale per migliorare le prestazioni. È possibile configurare il posizionamento dei file come indicato di seguito:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management' -Name PagingFiles -Value 'D:\pagefile.sys' -Type MultiString -Force
    

    Se un disco dati è collegato alla macchina virtuale, la lettera del volume dell'unità temporale è in genere D. Questa designazione può essere diversa, a seconda delle impostazioni e del numero di unità disponibili.

    • È consigliabile disabilitare i blocchi di script che potrebbero essere forniti dal software antivirus. Potrebbero interferire e bloccare gli script dell'agente di provisioning di Windows eseguiti quando si distribuisce una nuova macchina virtuale dall'immagine.

Suggerimento

Facoltativo Usare DISM per ottimizzare l'immagine e ridurre il tempo del primo avvio della macchina virtuale.

Per ottimizzare l'immagine, montare il disco rigido virtuale facendovi doppio clic in Esplora risorse e quindi eseguire DISM con il parametro /optimize-image.

DISM /image:D:\ /optimize-image /boot

Dove D: è il percorso del disco rigido virtuale montato.

L'esecuzione di DISM /optimize-image dovrebbe essere l'ultima modifica apportata al disco rigido virtuale. Se si apportano modifiche al disco rigido virtuale prima della distribuzione, è necessario eseguire nuovamente DISM /optimize-image.

Passaggi successivi