Preparare un disco rigido virtuale Windows o VHDX prima del caricamento in Azure
Si applica a: ✔️ macchine virtuali di Windows
Prima di caricare una macchina virtuale di Windows dall'ambiente locale ad Azure, è necessario preparare il disco rigido virtuale, VHD o VHDX. Azure supporta macchine virtuali sia di prima generazione che di seconda generazione nel formato di file VHD e con 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 convalidare il file VHD o VHDX facendo riferimento a questa documentazione.
È 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 seconda 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 di software server Microsoft per le macchine virtuali di Azure.
Nota
Le istruzioni in questo articolo si applicano a:
- Versione a 64 bit di Windows Server 2008 R2 e versioni successive del sistema operativo Windows Server. Per informazioni sull'esecuzione di un sistema operativo a 32 bit in Azure, vedere Supporto per sistemi operativi a 32 bit in macchine virtuali di Azure.
- Se verrà usato uno strumento di ripristino di emergenza 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.
Verifica file di sistema
Eseguire l'utilità Verifica file di sistema di Windows prima della generalizzazione dell'immagine del sistema operativo
L'utilità Verifica file di sistema (SFC) viene usata 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 gli aggiornamenti di Windows 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 rimarrà bloccata nella configurazione guidata.
Rimuovere qualsiasi route statica persistente nella tabella di routing:
- Per visualizzare la tabella di routing, eseguire
route.exe print
. - Controllare la sezione Route persistenti. Se è presente una route persistente, usare il comando
route.exe delete
per rimuoverla.
- Per visualizzare la tabella di routing, eseguire
Rimuovere il proxy WinHTTP:
netsh.exe winhttp reset proxy
Se la macchina virtuale deve usare un proxy specifico, aggiungere un'eccezione del 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
Aprire DiskPart:
diskpart.exe
Impostare il criterio SAN del disco su
Onlineall
:DISKPART> san policy=onlineall DISKPART> exit
Impostare l'ora UTC (Coordinated Universal Time) per Windows. Impostare anche il tipo di avvio del servizio ora di Windows w32time su Automatic:
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -Value 1 -Type DWord -Force Set-Service -Name w32time -StartupType Automatic
Impostare il profilo di potenza sulle prestazioni elevate:
powercfg.exe /setactive SCHEME_MIN powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0
Verificare 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
Per le macchine virtuali con sistemi operativi legacy (Windows Server 2012 R2 o Windows 8.1 e versioni precedenti), 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 i servizi componenti di integrazione Hyper-V. In tal caso, contattare il supporto VMware per eseguire la migrazione della macchina virtuale ad Azure e condividerla nel server VMware.
Verificare i servizi di Windows
Assicurarsi che ciascuno 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 di 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 di Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name <string> -Value <object>
, è possibile ignorarlo tranquillamente. Significa che il dominio non sta impostando la configurazione tramite un oggetto Criteri di gruppo.
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
La porta RDP viene impostata 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 regole predefinite per la porta 3389. Per modificare il numero di porta, eseguire questa operazione dopo la distribuzione della macchina virtuale in Azure.
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
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
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
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
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
Rimuovere tutti i certificati autofirmati 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 rivedere queste impostazioni dopo la distribuzione della macchina virtuale in Azure.
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 autenticazione a livello di rete 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
Attivare Windows Firewall sui tre profili (dominio, standard e pubblico):
Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled True
Eseguire l'esempio seguente per consentire WinRM attraverso 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.
Abilitare le regole del firewall seguenti per consentire il traffico RDP:
Get-NetFirewallRule -DisplayGroup 'Remote Desktop' | Set-NetFirewallRule -Enabled True
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
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.
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:
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.
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
Il log di dump può essere utile per la risoluzione dei problemi di arresto anomalo di Windows. Abilitare la raccolta di 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
Verificare che il repository di Strumentazione gestione Windows (WMI) sia coerente:
winmgmt.exe /verifyrepository
Se il repository è danneggiato, vedere WMI: il repository è davvero danneggiato?.
Assicurarsi che nessun'altra applicazione a parte TermService usi la porta 3389. Questa porta viene utilizzata per il servizio RDP in Azure. Per visualizzare le porte 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
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.
Assicurarsi di conoscere l'account amministratore e la password predefiniti. È opportuno reimpostare la password dell'amministratore locale corrente e accertarsi 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 in Editor Criteri di gruppo locali:
Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment
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
Controllare i criteri di Microsoft Entra seguenti per assicurarsi che non rimuovano 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
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. Eseguire quindi i test opportuni per assicurarsi di poter raggiungere la macchina virtuale tramite RDP.
Rimuovere eventuali filtri extra TDI (Transport Driver Interface). Ad esempio, rimuovere il software che analizza i pacchetti TCP o i firewall aggiuntivi.
Disinstallare qualsiasi altro software di terze parti o i driver correlati a componenti fisici o altre tecnologie di virtualizzazione.
Installare gli aggiornamenti di Windows
Nota
Per evitare un riavvio accidentale durante il provisioning delle macchine virtuali, è consigliabile completare tutte le installazioni di aggiornamenti di Windows e assicurarsi che non sia presente alcun 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, vedere 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 ci siano aggiornamenti in sospeso. Un modo per eseguire questa operazione consiste nell'installare tutti i possibili aggiornamenti di Windows e riavviare una sola volta prima di eseguire il comando sysprep.exe
.
Determinare quando usare Sysprep
System Preparation Tool (sysprep.exe
) è un processo che è possibile eseguire per reimpostare un'installazione di Windows.
Sysprep ripristina 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:
- Creare una macchina virtuale da un disco specializzato
- Creare una macchina virtuale da un disco rigido virtuale specializzato
Per creare un'immagine generalizzata, è necessario eseguire Sysprep. Per altre informazioni, vedere Introduzione all'uso di Sysprep.
Non tutti i ruoli o le applicazioni installati in un computer basato su Windows supportano le 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 aver eseguito sysprep.exe
nei passaggi seguenti, disattivare la macchina virtuale. Non riattivarla fino a quando non si crea un'immagine da essa in Azure.
Accedere alla VM Windows.
Eseguire una sessione di PowerShell come amministratore.
Eliminare la directory panther (C:\Windows\Panther).
Passare alla directory
%windir%\system32\sysprep
. Quindi eseguiresysprep.exe
.Nella finestra di dialogo Utilità preparazione sistema selezionare Passare alla Configurazione guidata e verificare che la casella di controllo Generalizza sia selezionata.
In Opzioni di arresto del sistema selezionare Arresta il sistema.
Seleziona OK.
Al termine dell'esecuzione di Sysprep, arrestare la macchina virtuale. Non usare Riavvia 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 creare una nuova macchina virtuale in Azure.
Nota
Un file unattend.xml personalizzato non è supportato. La proprietà additionalUnattendContent è supportata, ma fornisce solo supporto limitato per l'aggiunta delle opzioni 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 informazionim, vedere l'esempio relativo ad 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 è stato abilitato Hyper-V, questo passaggio è facoltativo. Verrà eseguito automaticamente da Add-AzVHD.
Usare uno dei metodi descritti in questa sezione per convertire e ridimensionare il disco virtuale nel formato richiesto per Azure:
Eseguire il backup della macchina virtuale prima di eseguire il processo di conversione o ridimensionamento del disco virtuale.
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.
Convertire il disco virtuale in un tipo fisso.
Ridimensionare il disco virtuale per soddisfare i requisiti di Azure:
Le dimensioni virtuali dei dischi in Azure devono essere allineate a 1 MiB. Se il disco rigido virtuale è una frazione di 1 MiB, sarà 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
Le dimensioni massime consentite per il disco rigido virtuale del sistema operativo in una macchina virtuale di prima generazione sono di 2.048 GiB (2 TiB).
Le dimensioni massime di un disco dati sono pari a 32.767 GiB (32 TiB).
Nota
- Se si sta preparando un disco del sistema operativo Windows dopo la conversione in disco fisso e l'eventuale ridimensionamento necessario, creare una macchina virtuale che usa il disco. Avviare la macchina virtuale e accedere, quindi continuare con le sezioni di questo articolo per completare la preparazione per il caricamento.
- Se si sta preparando un disco dati, è possibile fermarsi con questa sezione e procedere al caricamento del disco.
Usare la console di gestione di Hyper-V per convertire il disco
- 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.
- Nella pagina Percorso disco rigido virtuale selezionare il disco virtuale.
- Nella pagina Scegli azione selezionare Converti>Avanti.
- Per eseguire la conversione da VHDX, selezionare VHD>Avanti.
- Per eseguire la conversione da un disco a espansione dinamica, selezionare A dimensione fissa>Avanti.
- Individuare e selezionare un percorso in cui salvare il nuovo file VHD.
- Selezionare Fine.
Usare PowerShell per convertire il disco
È possibile convertire un disco virtuale utilizzando 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 è stato abilitato Hyper-V, questo passaggio è facoltativo. Verrà eseguito automaticamente da Add-AzVHD.
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 di 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 è stato abilitato Hyper-V, questo passaggio è facoltativo. Verrà eseguito automaticamente da Add-AzVHD.
- 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.
- Nella pagina Percorso disco rigido virtuale selezionare il disco virtuale.
- Nella pagina Scegli azione selezionare Espandi>Avanti.
- Nella pagina Percorso disco rigido virtuale immettere le nuove dimensioni in GiB e fare clic su Avanti.
- Selezionare Fine.
Usare PowerShell per ridimensionare il disco
Nota
Se si intende usare Azure PowerShell per caricare il disco in Azure ed è stato abilitato Hyper-V, questo passaggio è facoltativo. Verrà eseguito automaticamente da Add-AzVHD.
È possibile ridimensionare un disco virtuale utilizzando 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 per SizeBytes con le nuove dimensioni in byte per il disco.
Conversione dal formato VMware VMDK
Se è disponibile un'immagine di macchina virtuale Windows nel formato di file VMDK, è possibile usare Azure Migrate per convertire il file VMDK e caricarlo in Azure.
Completare le configurazioni consigliate
Le seguenti impostazioni non influenzano il caricamento del disco rigido virtuale. È tuttavia fortemente consigliabile configurarle.
Installare l'agente delle macchine virtuali di Azure. Sarà quindi possibile abilitare le estensioni delle VM. Le estensioni delle macchine virtuali implementano la maggior parte delle funzionalità critiche da usare con le macchine virtuali. Le estensioni saranno necessarie, 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 paging 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 è presente un disco dati collegato alla macchina virtuale, la lettera del volume dell'unità temporale è in genere D. Questa designazione può differire 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
.