Preparar um VHD ou VHDX do Windows para carregar no Azure

Aplica-se a: ✔️ VMs do Windows

Antes de carregar uma VM (máquina virtual) Windows do local para o Azure, você deve preparar o VHD (disco rígido virtual) ou VHDX. O Azure dá suporte às VMs de geração 1 e 2 que estão no formato de arquivo VHD e têm um disco de tamanho fixo. O tamanho máximo permitido para o VHD do sistema operacional em uma VM de geração 1 é 2 TB. Você pode validar seu arquivo VHD ou VHDX fazendo referência a esta documentação.

Você pode converter um arquivo VHDX em VHD, converter um disco de 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, confira 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, confira Suporte de software para servidores da Microsoft para VMs do Azure.

Observação

As instruções neste artigo se aplicam 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 a versão de 32 bits do sistema operacional no Azure, confira 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 Migrações para Azure, esse processo ainda será necessário no SO convidado para preparar a imagem antes da migração.

Verificador de Arquivos do Sistema

Executar o utilitário do Verificador de Arquivos do Sistema Windows antes da generalização da imagem do sistema operacional

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

Importante

Use uma sessão do PowerShell com privilégios elevados para executar os exemplos neste artigo.

Execute o comando do 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 do SFC, instale as atualizações do Windows e reinicie o computador.

Definir configurações do Windows para o Azure

Observação

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

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

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

    netsh.exe winhttp reset proxy
    

    Se a VM precisar trabalhar com um proxy específico, adicione uma exceção de proxy ao endereço IP do Azure (168.63.129.16) para que a VM possa se conectar com o 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 do disco para Onlineall:

    DISKPART> san policy=onlineall
    DISKPART> exit
    
  4. Defina a hora UTC (Tempo Universal Coordenado) para o Windows. Além disso, defina o tipo de inicialização do serviço de horário 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 energia 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 para 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 abaixo), verifique se os Serviços de Componentes de Integração do Hyper-V mais recentes estão instalados. Para obter mais informações, confira Atualização de componentes de integração do Hyper-V para VM do Windows.

Observação

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

Verificar os serviços Windows

Verifique se cada um dos seguintes serviços do Windows está definido como os valores 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 de registro da área de trabalho remota

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

Observação

Se você receber uma mensagem de erro durante a execução de Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name <string> -Value <object>, 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 política de grupo.

  1. O protocolo RDP 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 do RDP está configurada corretamente (porta 3389 padrão):

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

    Ao implantar 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 em 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 de 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 do 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
    }
    

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

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

    Goal Política Valor
    RDP está habilitado Configuração do Computador\Diretivas\Configurações do Windows\Modelos Administrativos\Componentes\Serviços de Área de Trabalho Remota\Host de Sessão da Área de Trabalho Remota\Conexões Permitir que os usuários se conectem remotamente usando a Área de Trabalho Remota
    Diretiva de grupo do NLA Configurações\Modelos Administrativos\Componentes\Serviços de Área de Trabalho Remota\Host de Sessão da Área de Trabalho Remota\Segurança Exigir autenticação de 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 o intervalo de conexão keep-alive
    Configurações de reconexã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 Reconectar 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

Configure as 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 seguinte exemplo para permitir o WinRM por meio dos três perfis de firewall (domínio, privado e público) e habilite o serviço remoto do PowerShell:

    Enable-PSRemoting -Force
    

Observação

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

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

    Get-NetFirewallRule -DisplayGroup 'Remote Desktop' | Set-NetFirewallRule -Enabled True
    
  2. Habilite a regra para compartilhamento de arquivos e impressoras para que a VM possa responder às 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 pertencente à Microsoft para Azure. Para obter mais informações, confira 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.

    Goal 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 Proteger todas as conexões de rede
    Habilitar o 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 área de trabalho remota de entrada
    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 área de trabalho remota de entrada
    Habilitar o 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 do 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 do ICMP

Verificar a VM

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

  1. Para ter certeza 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 íntegro e limpo.

  2. Defina as configurações de BCD (Dados de Configuração da 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 para solucionar problemas de falha do Windows. Habilite a coleta do 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. Confirme se o repositório da WMI (Instrumentação de Gerenciamento do Windows) é consistente:

    winmgmt.exe /verifyrepository
    

    Se o repositório estiver corrompido, confira WMI: o repositório está corrompido ou não.

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

    netstat.exe -anob
    

    A seguir, é mostrado 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 estas etapas extras para preparar o disco.

    • Verifique se você conhece a senha do Modo de Restauração dos Serviços de Diretório (DSRM) caso precise iniciar a VM no DSRM. Para obter mais informações, confira Definir uma senha DSRM.

  7. Verifique se você conhece a conta de administrador interno e a senha. Talvez você deseje redefinir a senha do administrador local atual e verificar se pode usar essa conta para entrar no Windows por meio da conexão RDP. Essa permissão de acesso é controlada pelo Objeto de Política de Grupo "Permitir logon pelos Serviços de Área de Trabalho Remota". Exiba esse objeto no Editor de Política de Grupo Local:

    • Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment
  8. Verifique as seguintes políticas do Microsoft Entra para garantir que não estejam bloqueando 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 estejam removendo 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

    • Todos

    • Usuários

  10. Reinicie a VM para garantir que o Windows ainda está íntegro e pode ser acessado por meio da conexão RDP. Neste ponto, considere a criação de uma VM em seu servidor Hyper-V local para garantir que a VM seja totalmente iniciada. Em seguida, teste para garantir que você pode alcançar a VM por meio de RDP.

  11. Remova quaisquer filtros extras de interface de driver de transporte (TDI). Por exemplo, remova o software que analisa pacotes TCP ou firewalls extras.

  12. Desinstale outros softwares e drivers de terceiros relacionados a componentes físicos ou a qualquer outra tecnologia de virtualização.

Instalar atualizações do Windows

Observação

Para evitar uma reinicialização acidental durante o provisionamento da VM, recomendamos concluir todas as instalações de atualização do Windows e verificar se não há 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.

O ideal é que você mantenha o computador atualizado para o nível de patch, se isso não for possível, verifique se as atualizações a seguir estão instaladas. Para obter as atualizações mais recentes, confira as páginas do histórico do Windows Update: 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 Windows 10 v1703 Windows 10 v1709, Windows Server 2016 v1709 Windows 10 v1803, Windows Server 2016 v1803
Armazenamento 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 - - -
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 - -
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 - -
Serviços da Área de Trabalho Remota 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 - - - - - -
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

Observação

Para evitar uma reinicialização acidental durante o provisionamento da 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 comando sysprep.exe.

Determinar quando usar o Sysprep

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

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

Para criar apenas uma VM de um disco, você não precisa 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 com base em um disco especializado, confira:

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

Nem toda função ou aplicativo que é instalado em um computador baseado no Windows dá suporte a imagens generalizadas. Antes de usar esse procedimento, verifique se o Sysprep dá suporte à função do computador. Para obter mais informações, confira Sysprep support for server role (Suporte do Sysprep para funções de servidor).

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

Generalizar um VHD

Observação

Se você está criando uma imagem generalizada de uma VM do Azure existente, recomendamos que remova as extensões de VM antes de executar o sysprep.

Observação

Depois de executar sysprep.exe nas etapas a seguir, desative a VM. Não ative-a novamente até criar uma imagem a partir dela no Azure.

  1. Entre na VM Windows.

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

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

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

  5. Na caixa de diálogo Ferramenta de Preparação do Sistema, selecione Entrar na Configuração Inicial pelo Usuário do Sistema (OOBE) e verifique se a caixa de seleção Generalizar está marcada.

    Ferramenta de Preparação do Sistema

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

  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 com base em um disco generalizado, confira Carregar um VHD generalizado e usá-lo para criar uma nova VM no Azure.

Observação

Não há suporte para um arquivo unattend.xml personalizado. Embora exista suporte à propriedade additionalUnattendContent, isso oferece apenas suporte limitado para adicionar opções do 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, confira o exemplo additionalUnattendContent FirstLogonCommands.

Converter o disco virtual em um VHD de tamanho fixo

Observação

Se você pretende usar o Azure PowerShell para carregar o disco no Azure e tiver o Hyper-V habilitado, essa etapa será opcional. O Add-AzVHD fará isso 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 a conversão ou o processo de redimensionamento do disco virtual.

  2. Verifique se o VHD do Windows funciona corretamente no servidor local. Resolva todos os 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. Os discos que são frações de um MiB causam erros ao criar imagens 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 geração de VM 1 é 2.048 GiB (2 TiB).

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

Observação

  • 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 terminar de prepará-la para o carregamento.
  • Se você estiver preparando um disco de dados, pare nesta seção e prossiga com o carregamento do disco.

Usar o Gerenciador do Hyper-V para converter o disco

  1. Abra o Gerenciador do Hyper-V e selecione o computador local à esquerda. No menu acima da lista de computadores, selecione Ação>Editar disco.
  2. Na página Localizar disco rígido virtual, selecione seu disco virtual.
  3. Na página Escolher, selecione Converter>Avançar.
  4. Para converter do VHDX, selecione VHD>Avançar.
  5. Para converter de um disco de expansão dinâmica, selecione Tamanho fixo>Avançar.
  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 este cmdlet, confira Instalar a função Hyper-V.

Observação

Se você pretende usar o Azure PowerShell para carregar o disco no Azure e tiver o Hyper-V habilitado, essa etapa será opcional. O Add-AzVHD fará isso 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 em 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 Caminho 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

Observação

Se você pretende usar o Azure PowerShell para carregar o disco no Azure e tiver o Hyper-V habilitado, essa etapa será opcional. O Add-AzVHD fará isso para você.

  1. Abra o Gerenciador do Hyper-V e selecione o computador local à esquerda. No menu acima da lista de computadores, selecione Ação>Editar disco.
  2. Na página Localizar disco rígido virtual, selecione seu 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 >Avançar.
  5. Selecione Concluir.

Usar o PowerShell para redimensionar o disco

Observação

Se você pretende usar o Azure PowerShell para carregar o disco no Azure e tiver o Hyper-V habilitado, essa etapa será opcional. O Add-AzVHD fará isso para você.

Você pode redimensionar um disco virtual usando o cmdlet Resize-VHD no PowerShell. Se precisar de informações sobre como instalar este cmdlet, confira 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 Caminho 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 do formato de disco VMware VMDK

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

As seguintes configurações não afetam o carregamento do VHD. No entanto, é altamente recomendável que você as configure.

  • 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 maior parte da funcionalidade crítica 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, confira a Visão geral do Agente de Máquina Virtual do Azure.

  • Depois de criar a VM no Azure, recomendamos colocar 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 anexado à VM, a letra do volume da unidade temporal normalmente será D. Essa designação pode ser diferente, dependendo de suas configurações e do número de unidades disponíveis.

    • Recomendamos desabilitar 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 de sua imagem.

Dica

Opcional – use DISM para otimizar a imagem e reduzir a primeira hora de inicialização da VM.

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

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

No qual D: é o caminho do VHD montado.

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

Próximas etapas