Prepare a Windows VHD or VHDX to upload to Azure (Preparar um VHD ou um VHDX do Windows para carregamento para o Azure)

Aplica-se a: ✔️ VMs do Windows

Antes de carregar uma máquina virtual (VM) do Windows local para o Azure, você deve preparar o disco rígido virtual (VHD ou VHDX). O Azure dá suporte a VMs de geração 1 e geração 2 que estão no formato de arquivo VHD e que têm um disco de tamanho fixo. O tamanho máximo permitido para o VHD do SO em uma VM de 1ª geração é de 2 TB.

Você pode converter um arquivo VHDX em VHD, converter um disco em expansão dinâmica em um disco de tamanho fixo, mas não pode alterar a geração de uma VM. Para obter mais informações, consulte Devo criar uma VM de geração 1 ou 2 no Hyper-V? e Suporte para VMs de geração 2 no Azure.

Para obter informações sobre a política de suporte para VMs do Azure, consulte Suporte de software de servidor da Microsoft para VMs do Azure.

Nota

As instruções neste artigo aplicam-se a:

  • A versão de 64 bits do Windows Server 2008 R2 e sistemas operacionais Windows Server posteriores. Para obter informações sobre como executar um sistema operacional de 32 bits no Azure, consulte Suporte para sistemas operacionais de 32 bits em VMs do Azure.
  • Se alguma ferramenta de Recuperação de Desastres for usada para migrar a carga de trabalho, como o Azure Site Recovery ou o Azure Migrate, esse processo ainda será necessário no SO convidado para preparar a imagem antes da migração.

Verificador de arquivos do sistema

Execute o utilitário Verificador de arquivos de sistema do Windows antes da generalização da imagem do sistema operacional

O Verificador de arquivos do sistema (SFC) é usado para verificar e substituir arquivos de sistema do Windows.

Importante

Use uma sessão elevada do PowerShell para executar os exemplos neste artigo.

Execute o 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.

Após a conclusão da verificação SFC, instale as Atualizações do Windows e reinicie o computador.

Set Windows configurations for Azure (Definir configurações do Windows para o Azure)

Nota

A plataforma Azure monta um arquivo ISO no DVD-ROM quando uma VM do Windows é criada a partir de uma imagem generalizada. Por esta razão, o DVD-ROM deve ser ativado no sistema operacional na imagem generalizada. Se estiver desabilitada, a VM do Windows ficará presa na OOBE (experiência pronta para uso).

  1. Remova todas as rotas persistentes estáticas na tabela de roteamento:

    • Para exibir a tabela de roteamento, execute route.exe print.
    • Verifique a seção Rotas de persistência . Se houver uma rota persistente, use o route.exe delete comando para removê-la.
  2. Remova o proxy WinHTTP:

    netsh.exe winhttp reset proxy
    

    Se a VM precisar trabalhar com um proxy específico, adicione uma exceção de proxy para o endereço IP do Azure (168.63.129.16) para que a VM possa se conectar ao Azure:

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

    diskpart.exe
    

    Defina a política de SAN de disco como Onlineall:

    DISKPART> san policy=onlineall
    DISKPART> exit
    
  4. Defina a hora UTC (Tempo Universal Coordenado) para Windows. Além disso, defina o tipo de inicialização do serviço de tempo do Windows w32time como Automático:

    Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -Value 1 -Type DWord -Force
    Set-Service -Name w32time -StartupType Automatic
    
  5. Defina o perfil de alimentação para alto desempenho:

    powercfg.exe /setactive SCHEME_MIN
    powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0
    
  6. Verifique se as variáveis ambientais TEMP e TMP estão definidas com seus valores padrão:

    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. Para VMs com sistemas operacionais herdados (Windows Server 2012 R2 ou Windows 8.1 e posteriores), verifique se os Serviços do Componente de Integração Hyper-V mais recentes estão instalados. Para obter mais informações, consulte Atualização de componentes de integração do Hyper-V para Windows VM.

Nota

Em um cenário em que as VMs devem ser configuradas com uma solução de recuperação de desastres entre o servidor VMware local e o Azure, os Serviços do Componente de Integração do Hyper-V não podem ser usados. Se esse for o caso, entre em contato com o suporte da VMware para migrar a VM para o Azure e torná-la coresidente no servidor VMware.

Verificar os serviços Windows

Certifique-se de que cada um dos seguintes serviços do Windows está definido para o valor padrão do Windows. Esses serviços são o mínimo que deve ser configurado para garantir a conectividade da VM. Para definir as configurações de inicialização, execute o seguinte exemplo:

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

Atualizar as configurações do Registro da área de trabalho remota

Verifique se as seguintes configurações estão configuradas corretamente para acesso remoto:

Nota

Se você receber uma mensagem de erro durante a execução Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name <string> -Value <object>do , poderá ignorá-la com segurança. Isso significa que o domínio não está definindo essa configuração por meio de um Objeto de Diretiva de Grupo.

  1. O protocolo RDP (Remote Desktop Protocol) está habilitado:

    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. A porta RDP está configurada corretamente usando a porta padrão de 3389:

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

    Quando você implanta uma VM, as regras padrão são criadas para a porta 3389. Para alterar o número da porta, faça isso depois que a VM for implantada no Azure.

  3. O ouvinte está ouvindo em todas as interfaces de rede:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -Name LanAdapter -Value 0 -Type DWord -Force
    
  4. Configure o modo de autenticação no nível de rede (NLA) para as conexões RDP:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1 -Type DWord -Force
    
  5. Defina o valor 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. Defina as opções de reconexão:

    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. Limite o número de conexões simultâneas:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -Name MaxInstanceCount -Value 4294967295 -Type DWord -Force
    
  8. Remova todos os certificados autoassinados vinculados ao ouvinte 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
    }
    

    Esse código garante que você possa se conectar ao implantar a VM. Você também pode revisar essas configurações depois que a VM for implantada no Azure.

  9. Se a VM fizer parte de um domínio, verifique as políticas a seguir para garantir que as configurações anteriores não sejam revertidas.

    Objetivo Política Valor
    O PDR está ativado Configuração do Computador\Políticas\Configurações do Windows\Modelos Administrativos\Componentes\Serviços de Área de Trabalho Remota\Host da Sessão da Área de Trabalho Remota\Conexões Permitir que os usuários se conectem remotamente usando a Área de Trabalho Remota
    Política de grupo NLA Configurações\Modelos Administrativos\Componentes\Serviços de Área de Trabalho Remota\Host da Sessão da Área de Trabalho Remota\Segurança Exigir autenticação do usuário para acesso remoto usando NLA
    Configurações de Keep-alive Configuração do Computador\Políticas\Configurações do Windows\Modelos Administrativos\Componentes do Windows\Serviços de Área de Trabalho Remota\Host da Sessão da Área de Trabalho Remota\Conexões Configurar intervalo de conexão keep-alive
    Reconectar configurações Configuração do Computador\Políticas\Configurações do Windows\Modelos Administrativos\Componentes do Windows\Serviços de Área de Trabalho Remota\Host da Sessão da Área de Trabalho Remota\Conexões Reconecte-se automaticamente
    Número limitado de configurações de conexão Configuração do Computador\Políticas\Configurações do Windows\Modelos Administrativos\Componentes do Windows\Serviços de Área de Trabalho Remota\Host da Sessão da Área de Trabalho Remota\Conexões Limitar o número de conexões

Configurar regras do Firewall do Windows

  1. Ative o Firewall do Windows nos três perfis (domínio, padrão e público):

    Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled True
    
  2. Execute o exemplo a seguir para permitir o WinRM através dos três perfis de firewall (domínio, privado e público) e habilite o serviço remoto do PowerShell:

    Enable-PSRemoting -Force
    

Nota

Quando esse comando é executado, ele habilita as regras de firewall apropriadas automaticamente.

  1. Habilite as seguintes regras de firewall para permitir o tráfego RDP:

    Get-NetFirewallRule -DisplayGroup 'Remote Desktop' | Set-NetFirewallRule -Enabled True
    
  2. Habilite a regra de compartilhamento de arquivos e impressoras para que a VM possa responder a solicitações de ping dentro da rede virtual:

    Set-NetFirewallRule -Name FPS-ICMP4-ERQ-In -Enabled True
    
  3. Crie uma regra para a rede da plataforma 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 é um endereço IP público especial que pertence à Microsoft para o Azure. Para obter mais informações, consulte O que é o endereço IP 168.63.129.16.

  1. Se a VM fizer parte de um domínio, verifique as seguintes políticas do Microsoft Entra para garantir que as configurações anteriores não sejam revertidas.

    Objetivo Política Valor
    Habilitar os perfis do Firewall do Windows Configuração do Computador\Políticas\Configurações do Windows\Modelos Administrativos\Rede\Conexão de Rede\Firewall do Windows\Perfil de Domínio\Firewall do Windows Proteja todas as conexões de rede
    Ativar RDP Configuração do Computador\Políticas\Configurações do Windows\Modelos Administrativos\Rede\Conexão de Rede\Firewall do Windows\Perfil de Domínio\Firewall do Windows Permitir exceções de entrada da Área de Trabalho Remota
    Configuração do Computador\Políticas\Configurações do Windows\Modelos Administrativos\Rede\Conexão de Rede\Firewall do Windows\Perfil Padrão\Firewall do Windows Permitir exceções de entrada da Área de Trabalho Remota
    Ativar ICMP-V4 Configuração do Computador\Políticas\Configurações do Windows\Modelos Administrativos\Rede\Conexão de Rede\Firewall do Windows\Perfil de Domínio\Firewall do Windows Permitir exceções ICMP
    Configuração do Computador\Políticas\Configurações do Windows\Modelos Administrativos\Rede\Conexão de Rede\Firewall do Windows\Perfil Padrão\Firewall do Windows Permitir exceções ICMP

Verificar a VM

Verifique se a VM está íntegra, segura e acessível ao RDP:

  1. Para certificar-se de que o disco está íntegro e consistente, verifique o disco na próxima reinicialização da VM:

    chkdsk.exe /f
    

    Verifique se o relatório mostra um disco limpo e íntegro.

  2. Defina as configurações de BCD (Dados de Configuração de Inicialização).

    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. O log de despejo pode ser útil na solução de problemas de falha do Windows. Habilite a coleção de log de despejo:

    # 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. Verifique se o repositório WMI (Instrumentação de Gerenciamento do Windows) é consistente:

    winmgmt.exe /verifyrepository
    

    Se o repositório estiver corrompido, consulte WMI: Repositório corrompido ou não.

  5. Certifique-se de que nenhum outro aplicativo além do TermService esteja usando a porta 3389. Essa porta é usada para o serviço RDP no Azure. Para ver quais portas são usadas na VM, execute netstat.exe -anob:

    netstat.exe -anob
    

    A seguir encontra-se um exemplo.

    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. Para carregar um VHD do Windows que seja um controlador de domínio:

    • Siga estes passos adicionais para preparar o disco.

    • Certifique-se de que conhece a palavra-passe do Modo de Restauro dos Serviços de Diretório (DSRM) para o caso de ter de iniciar a VM no DSRM. Para obter mais informações, consulte Definir uma senha DSRM.

  7. Certifique-se de que conhece a conta de administrador e a palavra-passe incorporadas. Poderá querer repor a palavra-passe de administrador local atual e certificar-se de que pode utilizar esta conta para iniciar sessão no Windows através da ligação RDP. Esta permissão de acesso é controlada pelo Objeto de Política de Grupo "Permitir início de sessão através dos Serviços de Ambiente de Trabalho Remoto". Exiba este objeto no Editor de Diretiva de Grupo Local:

    • Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment
  8. Verifique as seguintes políticas do Microsoft Entra para se certificar de que não estão a bloquear o acesso 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. Verifique a seguinte política do Microsoft Entra para se certificar de que não estão a remover nenhuma das contas de acesso necessárias:

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

    A política deve listar os seguintes grupos:

    • Administradores

    • Operadores de Cópia de Segurança

    • Todos

    • Utilizadores

  10. Reinicie a VM para certificar-se de que o Windows ainda está íntegro e pode ser alcançado através da conexão RDP. Neste ponto, considere criar uma VM em seu servidor Hyper-V local para garantir que a VM seja iniciada completamente. Em seguida, teste para certificar-se de que você pode alcançar a VM através do RDP.

  11. Remova todos os filtros TDI (Transport Driver Interface) extras. Por exemplo, remova o software que analisa pacotes TCP ou firewalls extras.

  12. Desinstale qualquer outro software ou driver de terceiros relacionado a componentes físicos ou qualquer outra tecnologia de virtualização.

Instalar atualizações do Windows

Nota

Para evitar uma reinicialização acidental durante o provisionamento da VM, recomendamos concluir todas as instalações de atualização do Windows e garantir que não haja nenhuma reinicialização pendente. Uma maneira de fazer isso é instalar todas as atualizações do Windows e reinicializar a VM antes de executar a migração para o Azure.

Se você também precisar fazer uma generalização do sistema operacional (sysprep), deverá atualizar o Windows e reiniciar a VM antes de executar o comando Sysprep.

Idealmente, você deve manter a máquina atualizada para o nível de patch, se isso não for possível, certifique-se de que as seguintes atualizações estão instaladas. Para obter as atualizações mais recentes, consulte as páginas do histórico de atualizações do 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 Binário 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 Janelas 10 v1703 Windows 10 v1709, Windows Server 2016 v1709 Windows 10 v1803, Windows Server 2016 v1803
Armazenamento disco.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 - - -
Rede 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 - -
Disponível em.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 - -
Principal 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 - -
Serviços de Ambiente de Trabalho 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 - -
termosrv.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 - - - - - -
Segurança 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

Para evitar uma reinicialização acidental durante o provisionamento de VM, recomendamos garantir que todas as instalações do Windows Update sejam concluídas e que nenhuma atualização esteja pendente. Uma maneira de fazer isso é instalar todas as atualizações possíveis do Windows e reinicializar uma vez antes de executar o sysprep.exe comando.

Determinar quando usar o Sysprep

A Ferramenta de Preparação do Sistema (sysprep.exe) é um processo que você pode executar para redefinir uma instalação do Windows. O Sysprep fornece uma experiência "pronta para uso", removendo todos os dados pessoais e redefinindo vários componentes.

Normalmente, você executa sysprep.exe para criar um modelo a partir do qual pode implantar várias outras VMs que têm uma configuração específica. O modelo é chamado de imagem generalizada.

Para criar apenas uma VM a partir de um disco, não é necessário usar o Sysprep. Em vez disso, você pode criar a VM a partir de uma imagem especializada. Para obter informações sobre como criar uma VM a partir de um disco especializado, consulte:

Para criar uma imagem generalizada, você precisa executar o Sysprep. Para obter mais informações, consulte Como usar o Sysprep: uma introdução.

Nem todas as funções ou aplicações instaladas num computador baseado no Windows suportam imagens generalizadas. Antes de utilizar este procedimento, certifique-se de que o Sysprep suporta a função do computador. Para obter mais informações, consulte Suporte Sysprep para funções de servidor.

Em particular, o Sysprep requer que as unidades sejam totalmente desencriptadas antes da execução. Se você tiver habilitado a criptografia em sua VM, desative-a antes de executar o Sysprep.

Generalizar um VHD

Nota

Se você estiver criando uma imagem generalizada de uma VM do Azure existente, recomendamos remover as extensões de VM antes de executar o sysprep.

Nota

Depois de executar sysprep.exe nas etapas a seguir, desative a VM. Não volte a ativá-lo até criar uma imagem a partir dele no Azure.

  1. Entre na VM do Windows.

  2. Execute uma sessão do PowerShell como administrador.

  3. Exclua o diretório panther (C:\Windows\Panther).

  4. Altere o diretório para %windir%\system32\sysprep. Em seguida, execute o sysprep.exe.

  5. Na caixa de diálogo Ferramenta de Preparação do Sistema, selecione Inserir OOBE (Experiência Fora da Caixa do Sistema) e verifique se a caixa de seleção Generalizar está marcada.

    System Preparation Tool

  6. Em Opções de Desligamento, selecione Desligamento.

  7. Selecione OK.

  8. Quando o Sysprep terminar, desligue a VM. Não use Reiniciar para desligar a VM.

Agora o VHD está pronto para ser carregado. Para obter mais informações sobre como criar uma VM a partir de um disco generalizado, consulte Carregar um VHD generalizado e usá-lo para criar uma nova VM no Azure.

Nota

Não há suporte para um arquivo .xml autônomo personalizado. Embora ofereçamos suporte à propriedade adicionalUnattendContent, que fornece apenas suporte limitado para adicionar opções microsoft-windows-shell-setup ao arquivo unattend.xml que o agente de provisionamento do Azure usa. Você pode usar, por exemplo, additionalUnattendContent para adicionar FirstLogonCommands e LogonCommands. Para obter mais informações, consulte o exemplo adicionalUnattendContent FirstLogonCommands.

Converter o disco virtual em um VHD de tamanho fixo

Nota

Se você vai usar o Azure PowerShell para carregar seu disco no Azure e tem o Hyper-V habilitado, esta etapa é opcional. Add-AzVHD irá executá-lo para você.

Use um dos métodos nesta seção para converter e redimensionar seu disco virtual para o formato necessário para o Azure:

  1. Faça backup da VM antes de executar o processo de conversão ou redimensionamento do disco virtual.

  2. Verifique se o VHD do Windows funciona corretamente no servidor local. Resolva quaisquer erros na própria VM antes de tentar convertê-la ou carregá-la no Azure.

  3. Converta o disco virtual para o tipo fixo.

  4. Redimensione o disco virtual para atender aos requisitos do Azure:

    1. Os discos no Azure devem ter um tamanho virtual alinhado a 1 MiB. Se o VHD for uma fração de 1 MiB, você precisará redimensionar o disco para um múltiplo de 1 MiB. Discos que são frações de um MiB causam erros ao criar imagens a partir do VHD carregado. Para verificar o tamanho, você pode usar o cmdlet Get-VHD do PowerShell para mostrar "Size", que deve ser um múltiplo de 1 MiB no Azure, e "FileSize", que será igual a "Size" mais 512 bytes para o rodapé VHD.

      $vhd = Get-VHD -Path C:\test\MyNewVM.vhd
      $vhd.Size % 1MB
      0
      $vhd.FileSize - $vhd.Size
      512
      
    2. O tamanho máximo permitido para o VHD do SO com uma VM de geração 1 é de 2.048 GiB (2 TiB),

    3. O tamanho máximo de um disco de dados é de 32.767 GiB (32 TiB).

Nota

  • Se você estiver preparando um disco do sistema operacional Windows depois de converter para um disco fixo e redimensionar, se necessário, crie uma VM que use o disco. Inicie e entre na VM e continue com as seções deste artigo para concluir a preparação para upload.
  • Se estiver a preparar um disco de dados, pode parar com esta secção e continuar a carregar o disco.

Usar o Gerenciador do Hyper-V para converter o disco

  1. Abra o Gerenciador do Hyper-V e selecione seu computador local à esquerda. No menu acima da lista de computadores, selecione Action>Edit Disk.
  2. Na página Localizar Disco Rígido Virtual, selecione o disco virtual.
  3. Na página Escolher ação, selecione Converter próximo>.
  4. Para converter de VHDX, selecione VHD>Next.
  5. Para converter a partir de um disco em expansão dinâmica, selecione Tamanho fixo>Seguinte.
  6. Localize e selecione um caminho para salvar o novo arquivo VHD.
  7. Selecione Concluir.

Usar o PowerShell para converter o disco

Você pode converter um disco virtual usando o cmdlet Convert-VHD no PowerShell. Se precisar de informações sobre como instalar esse cmdlet, consulte Instalar a função Hyper-V.

Nota

Se você vai usar o Azure PowerShell para carregar seu disco no Azure e tem o Hyper-V habilitado, esta etapa é opcional. Add-AzVHD irá executá-lo para você.

O exemplo a seguir converte o disco de VHDX para VHD. Ele também converte o disco de um disco de expansão dinâmica para um disco de tamanho fixo.

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

Neste exemplo, substitua o valor de Path pelo caminho para o disco rígido virtual que você deseja converter. Substitua o valor de DestinationPath pelo novo caminho e nome do disco convertido.

Usar o Gerenciador do Hyper-V para redimensionar o disco

Nota

Se você vai usar o Azure PowerShell para carregar seu disco no Azure e tem o Hyper-V habilitado, esta etapa é opcional. Add-AzVHD irá executá-lo para você.

  1. Abra o Gerenciador do Hyper-V e selecione seu computador local à esquerda. No menu acima da lista de computadores, selecione Action>Edit Disk.
  2. Na página Localizar Disco Rígido Virtual, selecione o disco virtual.
  3. Na página Escolher Ação, selecione Expandir Avançar>.
  4. Na página Localizar Disco Rígido Virtual, insira o novo tamanho em GiB >Next.
  5. Selecione Concluir.

Usar o PowerShell para redimensionar o disco

Nota

Se você vai usar o Azure PowerShell para carregar seu disco no Azure e tem o Hyper-V habilitado, esta etapa é opcional. Add-AzVHD irá executá-lo para você.

Você pode redimensionar um disco virtual usando o cmdlet Resize-VHD no PowerShell. Se precisar de informações sobre como instalar esse cmdlet, consulte Instalar a função Hyper-V.

O exemplo a seguir redimensiona o disco de 100,5 MiB para 101 MiB para atender ao requisito de alinhamento do Azure.

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

Neste exemplo, substitua o valor de Path pelo caminho para o disco rígido virtual que você deseja redimensionar. Substitua o valor de SizeBytes pelo novo tamanho em bytes do disco.

Converter a partir do formato de disco VMware VMDK

Se você tiver uma imagem de VM do Windows no formato de arquivo VMDK, poderá usar o Azure Migrate para converter o VMDK e carregá-lo no Azure.

As configurações a seguir não afetam o carregamento de VHD. No entanto, recomendamos vivamente que os tenha configurado.

  • Instale o Agente de Máquina Virtual do Azure. Em seguida, você pode habilitar as extensões de VM. As extensões de VM implementam a maioria das funcionalidades críticas que você pode querer usar com suas VMs. Você precisará das extensões, por exemplo, para redefinir senhas ou configurar o RDP. Para obter mais informações, consulte a visão geral do Agente de Máquina Virtual do Azure.

  • Depois de criar a VM no Azure, recomendamos que você coloque o arquivo de paginação no volume da unidade temporal para melhorar o desempenho. Você pode configurar o posicionamento do arquivo da seguinte maneira:

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

    Se um disco de dados estiver conectado à VM, a letra do volume da unidade temporal normalmente será D. Esta designação pode ser diferente, dependendo das suas definições e do número de unidades disponíveis.

    • Recomendamos desativar os bloqueadores de script que podem ser fornecidos pelo software antivírus. Eles podem interferir e bloquear os scripts do Agente de Provisionamento do Windows executados quando você implanta uma nova VM a partir da sua imagem.

Gorjeta

Opcional: Use o DISM para otimizar sua imagem e reduzir o primeiro tempo de inicialização da VM.

Para otimizar sua imagem, monte seu VHD clicando duas vezes nele no Windows Explorer e, em seguida, execute o DISM com o /optimize-image parâmetro.

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

Onde D: é o caminho do VHD montado.

A execução DISM /optimize-image deve ser a última modificação que você faz no seu VHD. Se você fizer alterações no VHD antes da implantação, terá que executar DISM /optimize-image novamente.

Próximos passos