Подготовка диска VHD или VHDX для Windows к отправке в Azure

Область применения: ✔️ Виртуальные машины Windows

Перед тем как передать виртуальные машины Windows из локальной среды в Azure, следует правильно подготовить виртуальный жесткий диск (VHD или VHDX). Azure поддерживает виртуальные машины поколения 1 и 2, которые имеют формат VHD-файла и диск фиксированного размера. Максимально допустимый размер виртуального жесткого диска для ОС на виртуальной машине поколения 1 составляет 2 ТБ.

Вы можете преобразовать VHDX-файл в VHD, преобразовать динамически расширяемый диск в диск фиксированного размера, но поколение виртуальной машины изменить нельзя. Дополнительные сведения см. в статьях Следует ли создавать виртуальные машины поколения 1 или 2 в Hyper-V и Поддержка виртуальных машин поколения 2 в Azure.

Дополнительные сведения о политике поддержки виртуальных машины Azure см. в статье Поддержка программного обеспечения Microsoft Server для виртуальных машин Microsoft Azure.

Примечание.

Инструкции, приведенные в этой статье, относятся к:

  • 64-разрядной версии операционных систем Windows Server 2008 R2 и более поздних операционных систем Windows Server. Сведения о запуске 32-разрядной операционной системы в Azure см. в статье Поддержка 32-разрядных операционных систем на виртуальных машинах Azure.
  • Если для миграции рабочей нагрузки будет использоваться любое средство аварийного восстановления, например Azure Site Recovery или Миграция Azure, этот процесс по-прежнему потребуется в гостевой ОС для подготовки образа перед миграцией.

Средство проверки системных файлов

Запустите программу проверки системных файлов Windows перед обобщением образа ОС

Средство проверки системных файлов (SFC) используется для проверки и замены системных файлов Windows.

Важно!

Используйте сеанс PowerShell с повышенными привилегиями для выполнения примеров в этой статье.

Выполните команду 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.

После завершения проверки SFC установите обновления Windows и перезагрузите компьютер.

Настройка конфигурации Windows для Azure

Примечание.

Платформа Azure подключает файл ISO к DVD-ROM при создании виртуальной машины Windows из обобщенного образа. По этой причине DVD-диск должен быть включен в ОС в обобщенном образе. Если он отключен, виртуальная машина Windows будет заблокирована при первом включении (OOBE).

  1. Удалите все статические постоянные маршруты в таблице маршрутизации:

    • Чтобы просмотреть таблицу маршрутизации, выполните команду route.exe print.
    • Проверьте разделы Persistence Routes (Сохраняемые маршруты). При наличии постоянного маршрута удалите его с помощью команды route.exe delete.
  2. Удалите прокси-сервер WinHTTP.

    netsh.exe winhttp reset proxy
    

    Если виртуальная машина должна работать с конкретным прокси-сервером, добавьте исключение прокси для IP-адреса Azure (168.63.129.16), чтобы виртуальная машина могла подключаться к Azure:

    $proxyAddress='<your proxy server>'
    $proxyBypassList='<your list of bypasses>;168.63.129.16'
    netsh.exe winhttp set proxy $proxyAddress $proxyBypassList
    
  3. Откройте программу DiskPart:

    diskpart.exe
    

    Установите для политики SAN дисков значение Onlineall:

    DISKPART> san policy=onlineall
    DISKPART> exit
    
  4. Установите время в формате UTC для Windows. Кроме того, задайте Automatic (Автоматический) тип запуска службы времени Windows W32Time:

    Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -Value 1 -Type DWord -Force
    Set-Service -Name w32time -StartupType Automatic
    
  5. Для профиля управления питанием установите высокую производительность:

    powercfg.exe /setactive SCHEME_MIN
    powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0
    
  6. Убедитесь, что для переменных среды TEMP и TMP заданы их значения по умолчанию:

    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. Для виртуальных машин с устаревшими операционными системами (Windows Server 2012 R2 или Windows 8.1 и ниже) убедитесь, что установлены новейшие службы компонентов интеграции Hyper-V. Дополнительные сведения см. в Обновление компонентов интеграции Hyper-V для виртуальной машины Windows.

Примечание.

В сценарии, где виртуальные машины должны быть настроены с использованием решения аварийного восстановления между локальным сервером VMware и Azure, нельзя использовать службы компонентов интеграции Hyper-V. Если это так, обратитесь в службу поддержки VMware, чтобы перенести виртуальную машину в Azure и сделать ее совместно размещенной на сервере VMware.

Настройка служб Windows

Убедитесь, что для каждой из приведенных ниже служб Windows заданы значения Windows по умолчанию. Эти службы являются минимумом, который необходимо настроить для обеспечения подключения к виртуальной машине. Чтобы сбросить параметры загрузки, можно использовать приведенный ниже пример:

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

Обновление параметров реестра для удаленного рабочего стола

Проверьте, чтобы для подключения к удаленному рабочему столу были правильно настроены следующие параметры:

Примечание.

Если при запуске Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name <string> -Value <object> появляется сообщение об ошибке, его можно спокойно проигнорировать. Оно означает, что домен не задает эту конфигурацию с помощью объекта групповой политики.

  1. Включите протокол удаленного рабочего стола (RDP):

    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. Порт RDP должен быть настроен правильно (по умолчанию это порт 3389):

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

    При развертывании виртуальной машины правила по умолчанию создаются для порта 3389. Чтобы изменить номер порта, сделайте это после развертывания виртуальной машины в Azure.

  3. Прослушиватель должен работать в каждом сетевом интерфейсе:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -Name LanAdapter -Value 0 -Type DWord -Force
    
  4. Настройте режим проверки подлинности на уровне сети (NLA) для подключений RDP:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1 -Type DWord -Force
    
  5. Задайте значение для проверки активности:

    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. Установите параметры повторного подключения:

    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. Ограничьте количество одновременных подключений:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -Name MaxInstanceCount -Value 4294967295 -Type DWord -Force
    
  8. Если к прослушивателю 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
    }
    

    Этот код гарантирует возможность подключения при развертывании виртуальной машины. Эти параметры также можно проверить после развертывания виртуальной машины в Azure.

  9. Если виртуальная машина является частью домена, проверьте следующие политики, чтобы убедиться, что предыдущие параметры не отменены.

    Цель Политика Значение
    Включение RDP Конфигурация компьютера\Политики\Параметры Windows\Административные шаблоны\Компоненты\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Подключения Разрешить пользователям удаленное подключение с использованием служб удаленных рабочих столов
    Групповая политика с проверкой подлинности на уровне сети Параметры\Административные шаблоны\Компоненты\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Безопасность Требовать проверку подлинности пользователя для удаленного доступа с помощью NLA
    Параметры проверки активности Конфигурация компьютера\Политики\Параметры Windows\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Подключения Настроить интервал проверяемых на активность подключений
    Параметры переподключения Конфигурация компьютера\Политики\Параметры Windows\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Подключения Автоматическое повторное подключение
    Ограниченное число параметров подключения Конфигурация компьютера\Политики\Параметры Windows\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Подключения Ограничить количество подключений

Настройка правил брандмауэра Windows

  1. Включите брандмауэр Windows для трех профилей ("Домен", "Стандартный" и "Общий"):

    Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled True
    
  2. Выполните следующий пример, чтобы разрешить трафик WinRM в трех профилях брандмауэра ("Домен", "Частный" и "Общий") и включить удаленное управление PowerShell:

    Enable-PSRemoting -Force
    

Примечание.

При выполнении этой команды он включает соответствующие правила брандмауэра автоматически.

  1. Включите следующие правила брандмауэра, чтобы разрешить трафик RDP:

    Get-NetFirewallRule -DisplayGroup 'Remote Desktop' | Set-NetFirewallRule -Enabled True
    
  2. Включите правило для общего доступа к файлам и принтерам, чтобы виртуальная машина могла отвечать на запросы проверки связи в виртуальной сети:

    Set-NetFirewallRule -Name FPS-ICMP4-ERQ-In -Enabled True
    
  3. Создайте правило для сети платформы 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
    

Важно!

168.63.129.16 — это специальный общедоступный IP-адрес, принадлежащий Microsoft for Azure. Дополнительные сведения см. в статье Что такое IP-адрес 168.63.129.16?.

  1. Если виртуальная машина является частью домена, проверка следующие политики Microsoft Entra, чтобы убедиться, что предыдущие параметры не отменить изменения.

    Цель Политика Значение
    Включите профили брандмауэра Windows: Конфигурация компьютера\Политики\Параметры Windows\Административные шаблоны\Сеть\Сетевое подключение\Брандмауэр Windows\Профиль домена\Брандмауэр Windows Защита всех сетевых подключений
    Включите RDP: Конфигурация компьютера\Политики\Параметры Windows\Административные шаблоны\Сеть\Сетевое подключение\Брандмауэр Windows\Профиль домена\Брандмауэр Windows Разрешить исключения для входящих сообщений удаленного управления рабочим столом
    Конфигурация компьютера\Политики\Параметры Windows\Административные шаблоны\Сеть\Сетевое подключение\Брандмауэр Windows\Стандартный профиль\Брандмауэр Windows Разрешить исключения для входящих сообщений удаленного управления рабочим столом
    Включите ICMP-V4: Конфигурация компьютера\Политики\Параметры Windows\Административные шаблоны\Сеть\Сетевое подключение\Брандмауэр Windows\Профиль домена\Брандмауэр Windows Разрешить исключения ICMP
    Конфигурация компьютера\Политики\Параметры Windows\Административные шаблоны\Сеть\Сетевое подключение\Брандмауэр Windows\Стандартный профиль\Брандмауэр Windows Разрешить исключения ICMP

Проверка виртуальной машины

Убедитесь, что виртуальная машина работоспособна и защищена, а RDP доступен:

  1. Чтобы проверить работоспособность и согласованность диска, проверьте диск при следующей перезагрузке виртуальной машины:

    chkdsk.exe /f
    

    В отчете должен быть указан исправный диск без данных.

  2. Задайте параметры данных конфигурации загрузки.

    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. Журнал дампа может быть полезен при устранении критических неполадок Windows. Включите сбор журнала дампа, как показано ниже:

    # 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. Проверьте согласованность репозитория инструментария управления Windows (WMI):

    winmgmt.exe /verifyrepository
    

    Если репозиторий поврежден, см. запись блога WMI: Repository Corruption, or Not? (WMI: поврежден ли репозиторий?)

  5. Убедитесь, что порт 3389 не используют никакие другие приложения кроме TermService. Этот порт используется для службы RDP в Azure. Чтобы узнать, какие порты используются на виртуальной машине, выполните netstat.exe -anob:

    netstat.exe -anob
    

    Пример приведен ниже.

    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. Чтобы отправить виртуальный жесткий диск Windows, который является контроллером домена, выполните следующие действия.

    • Выполните эти дополнительные шаги, чтобы подготовить диск.

    • Убедитесь, что вы знаете пароль режима восстановления служб каталогов (DSRM), если вам когда-либо потребуется запустить виртуальную машину в режиме DSRM. Дополнительные сведения см. в описании Установки пароля DSRM.

  7. Убедитесь, что вы знаете встроенную учетную запись администратора и пароль. Вы можете сбросить текущий пароль локального администратора и использовать эту учетную запись для входа в Windows через подключение к удаленному рабочему столу. Это разрешение на доступ контролируется объектом групповой политики "Разрешить вход в систему через службу удаленных рабочих столов". Этот объект можно просмотреть в редакторе локальной групповой политики:

    • Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment
  8. Проверьте следующие политики Microsoft Entra, чтобы убедиться, что они не блокируют доступ по протоколу 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. Проверьте следующую политику Microsoft Entra, чтобы убедиться, что они не удаляют какие-либо из необходимых учетных записей доступа:

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

    Политика должна перечислять следующие группы:

    • Администраторы

    • Операторы архива

    • Все

    • Пользователи

  10. Перезапустите виртуальную машину — ОС Windows должна быть по-прежнему работоспособна и доступна с помощью подключения по протоколу RDP. На этом этапе рекомендуется создать виртуальную машину на локальном сервере Hyper-V, чтобы убедиться, что виртуальная машина запускается полностью. Затем протестируйте, чтобы убедиться, что вы можете подключиться к виртуальной машине по протоколу RDP.

  11. Удалите все лишние фильтры TDI (TDI). Например, удалите программное обеспечение, которое анализирует TCP-пакеты или дополнительные брандмауэры.

  12. Удалите все стороннее программное обеспечение и драйверы, связанные с физическими компонентами или какой-либо другой технологией виртуализации.

Установка обновлений Windows

Примечание.

Чтобы избежать случайной перезагрузки во время подготовки виртуальной машины, рекомендуется выполнить все установки центра обновления Windows и убедиться в отсутствии ожидающей перезагрузки. Один из способов сделать это — установить все обновления Windows и перезагрузить виртуальную машину перед выполнением миграции в Azure.

Если также требуется обобщение операционной системы (Sysprep), необходимо обновить Windows и перезагрузить виртуальную машину перед выполнением команды Sysprep.

В идеале следует следить за тем, чтобы компьютер был обновлен до уровня исправления. Если это невозможно, убедитесь, что установлены следующие обновления. Чтобы получить последние обновления, см. страницы журнала центра обновления Windows: Windows 10 и Windows Server 2019, Windows 8.1, Windows Server 2012 R2 и Windows 7 SP1 и Windows Server 2008 R2 с пакетом обновления 1 (SP1).


Компонент Binary Windows 7 с пакетом обновления 1 (SP1), Windows Server 2008 R2 с пакетом обновления 1 (SP1) Windows 8, Windows Server 2012 Windows Server 8.1, Windows Server 2012 R2 Windows 10 версии 1607, Windows Server 2016 версии 1607 Windows 10 версии 1703 Windows 10 версии 1709, Windows Server 2016 версии 1709 Windows 10 версии 1803, Windows Server 2016 версии 1803
Хранилище 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 - - -
Сеть 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 - -
Основные сведения 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 - -
Службы удаленного рабочего стола 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 - - - - - -
Безопасность 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

Примечание.

Чтобы избежать случайной перезагрузки во время подготовки виртуальной машины, рекомендуется убедиться, что все установки Центра обновления Windows завершены и нет обновлений в состоянии ожидания. Один из способов сделать это — установить все возможные обновления Windows и перезагрузить один раз перед выполнением команды sysprep.exe.

Определение необходимости использования Sysprep

Средство подготовки системы (sysprep.exe) — это процесс, который можно выполнить для сброса установки Windows. Средство Sysprep предоставляет систему в "изначальном" виде, удаляя все персональные данные и переустанавливая несколько компонентов.

Обычно sysprep.exe запускается, если нужно создать шаблон, из которого можно развернуть несколько виртуальных машин с определенной конфигурацией. Этот шаблон называется универсальным образом.

Чтобы создать только одну виртуальную машину с одного диска, не нужно использовать Sysprep. Вместо этого можно создать виртуальную машину на основе специализированного образа. Сведения о создании виртуальной машины с помощью специализированного диска см. в руководствах ниже:

Чтобы создать универсальный образ, необходимо запустить Sysprep. Дополнительные сведения см. в статье How to Use Sysprep: An Introduction (Как использовать Sysprep: введение).

Не все роли или приложения, установленные на компьютере с Windows, поддерживают универсальные образы. Перед использованием этой процедуры убедитесь, что Sysprep поддерживает роль компьютера. Дополнительные сведения см. в статье о поддержке ролей сервера в Sysprep.

В частности, Sysprep требует полной расшифровки дисков перед выполнением. Если вы включили шифрование на виртуальной машине, отключите его перед запуском Sysprep.

Подготовка VHD к использованию

Примечание.

Если вы создаете универсальный образ существующей виртуальной машины Azure, рекомендуется удалить расширения виртуальной машины перед запуском Sysprep.

Примечание.

После выполнения sysprep.exe в следующих шагах, выключите виртуальную машину. Не включайте его снова, пока вы не создадите образ в Azure.

  1. Войдите на виртуальную машину Windows.

  2. Запустите сеанс PowerShell от имени администратора.

  3. Удалите каталог panther (C:\\Windows\Panther).

  4. Перейдите в каталог %windir%\system32\sysprep. Затем выполните sysprep.exe.

  5. В диалоговом окне Программа подготовки системы выберите Переход в окно приветствия системы (OOBE) и убедитесь, что установлен флажок Подготовка к использованию.

    System Preparation Tool

  6. В разделе Параметры завершения работы выберите Завершение работы.

  7. Нажмите ОК.

  8. После завершения работы Sysprep выключите виртуальную машину. Не используйте Перезапуск для завершения работы виртуальной машины.

Теперь диск VHD можно отправлять. Дополнительные сведения о создании виртуальной машины из универсального образа см. в статье Отправка универсального виртуального жесткого диска в Azure для создания новой виртуальной машины.

Примечание.

Настраиваемый файл unattend.xml не поддерживается. Но поддерживается свойство additionalUnattendContent, обеспечивающее ограниченную поддержку для добавления параметровmicrosoft-windows-shell-setup в файл unattend.xml, который используется агентом подготовки Azure. Например, additionalUnattendContent можно использовать для добавления FirstLogonCommands и LogonCommands. Дополнительные сведения см. в примере additionalUnattendContent FirstLogonCommands.

Преобразование виртуального жесткого диска в формат VHD с фиксированным размером

Примечание.

Если вы собираетесь использовать Azure PowerShell для отправки диска в Azure и включен Hyper-V, этот шаг является необязательным. Add-AzVHD выполнит его.

Используйте один из методов, указанных в этом разделе, чтобы преобразовать виртуальный диск в требуемый формат Azure:

  1. Создайте резервную копию виртуальной машины перед выполнением преобразования или изменения размера виртуального диска.

  2. Убедитесь в правильной работе виртуального жесткого диска Windows на локальном сервере. Устраните все ошибки на виртуальной машине, прежде чем преобразовывать ее или отправлять в Azure.

  3. Преобразуйте виртуальный жесткий диска в тип с фиксированным размером.

  4. Измените размер виртуального диска в соответствии с требованиями Azure:

    1. Виртуальный размер дисков в Azure должен быть округлен до 1 МиБ. Если виртуальный жесткий диск является долей от 1 МиБ, необходимо изменить размер диска до кратного 1 МиБ. Диски, с размером равным долям МиБ, вызывают ошибки при создании образов из отправленного виртуального жесткого диска. Чтобы проверить размер, можно использовать командлет PowerShell Get-VHD, чтобы отобразить "Size", который должен быть кратен 1 МиБ в Azure, и "FileSize", который будет равен "Size" плюс 512 байтам для нижнего колонтитула VHD.

      $vhd = Get-VHD -Path C:\test\MyNewVM.vhd
      $vhd.Size % 1MB
      0
      $vhd.FileSize - $vhd.Size
      512
      
    2. Максимально допустимый размер виртуального жесткого диска для ОС на виртуальной машине поколения 1 составляет 2,048 ГиБ (2 ТиБ).

    3. Максимальный размер диска данных — 32 767 ГиБ (32 ТиБ).

Примечание.

  • Если вы готовите диск операционной системы Windows после преобразования в фиксированный диск и, при необходимости, изменения его размера, создайте виртуальную машину, использующую этот диск. Запустите и войдите на виртуальную машину и продолжите выполнение действий из подразделов этой стати, чтобы завершить подготовку к отправке.
  • При подготовке диска данных вы можете пропустить оставшуюся часть этого раздела и приступить к отправке диска.

Преобразование диска с помощью диспетчера Hyper-V

  1. Откройте диспетчер Hyper-V и выберите свой локальный компьютер в левой части окна. В меню над списком компьютеров щелкните Действие>Изменить диск.
  2. На странице Поиск виртуального жесткого диска выберите свой виртуальный диск.
  3. На странице Выбор действия выберите Преобразовать>Далее.
  4. Чтобы преобразовать VHDX-файл, выберите VHD>Далее.
  5. Чтобы преобразовать динамически расширяемый диск, выберите Фиксированный размер>Далее.
  6. Найдите и укажите путь к папке, в которой нужно сохранить новый VHD-файл.
  7. Выберите Готово.

Преобразование диска с помощью PowerShell

Можно преобразовать виртуальный диск с помощью командлета PowerShell Convert-VHD. Сведения об установке этого командлета см. в Установка роли Hyper-V.

Примечание.

Если вы собираетесь использовать Azure PowerShell для отправки диска в Azure и включен Hyper-V, этот шаг является необязательным. Add-AzVHD выполнит его.

В следующем примере показано преобразование диска из формата VHDX в VHD. Он также преобразует диск из динамически расширяющегося диска в диск фиксированного размера.

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

В этом примере замените значение Path на путь к виртуальному жесткому диску, который требуется преобразовать. Замените значение DestinationPath на новый путь и имя преобразованного диска.

Использование диспетчера Hyper-V для изменения размера диска

Примечание.

Если вы собираетесь использовать Azure PowerShell для отправки диска в Azure и включен Hyper-V, этот шаг является необязательным. Add-AzVHD выполнит его.

  1. Откройте диспетчер Hyper-V и выберите свой локальный компьютер в левой части окна. В меню над списком компьютеров щелкните Действие>Изменить диск.
  2. На странице Поиск виртуального жесткого диска выберите свой виртуальный диск.
  3. На странице Выбор действия выберите Преобразовать>Далее.
  4. На странице Найти виртуальный жесткий диск введите новый размер в ГиБ >Далее.
  5. Выберите Готово.

Использование PowerShell для изменения размера диска

Примечание.

Если вы собираетесь использовать Azure PowerShell для отправки диска в Azure и включен Hyper-V, этот шаг является необязательным. Add-AzVHD выполнит его.

Вы можете изменить размер виртуального диска с помощью командлета Resize-VHD в PowerShell. Сведения об установке этого командлета см. в Установка роли Hyper-V.

В следующем примере показано, как изменить размер диска с 100,5 МиБ на 101 МиБ в соответствии с требованиями к выравниванию Azure.

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

В этом примере замените значение Path на путь к виртуальному жесткому диску для которого требуется изменить размер. Замените значение SizeBytes на новый размер в байтах для диска.

Преобразование диска VMware в формате VMDK

Если вы используете образ виртуальной машины Windows в формате VMDK, то можно использовать службу Миграция Azure для преобразования VMDK-файла и его передачи в Azure.

Приведенные ниже параметры не влияют на передачу VHD. Тем не менее, мы настоятельно рекомендуем их настроить.

  • Установите Агент виртуальной машины Azure. Затем можно включить расширения виртуальной машины. Расширения виртуальных машин реализуют большинство важных функций, которые может потребоваться использовать с виртуальными машинами. Например, для сброса паролей или настройки протокола удаленного рабочего стола требуются расширения. Дополнительные сведения см. в статье Обзор агента виртуальных машин Azure.

  • После создания виртуальной машины в Azure мы рекомендуем разместить файл подкачки в томе временного диска для повышения производительности. Расположение файла можно настроить следующим образом:

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

    Если диск данных подключен к виртуальной машине, то буквой тома временного диска обычно является D. Это обозначение может быть различным, в зависимости от параметров и количества доступных дисков.

    • Рекомендуется отключить блокирование сценариев, которое может быть предоставлено антивирусным программным обеспечением. Оно может мешать работе и блокировать сценарии агента подготовки Windows, выполняемые при развертывании новой виртуальной машины из образа.

Совет

Дополнительно можно использовать DISM для оптимизации образа и сокращения времени первой загрузки виртуальной машины.

Чтобы оптимизировать образ, подключите виртуальный жесткий диск, дважды щелкнув его в проводнике Windows, а затем запустите DISM с параметром /optimize-image.

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

Где D — путь к подключенному виртуальному жесткому диску.

Запуск DISM /optimize-image должен быть последним изменением, внесенным в виртуальный жесткий диск. Если перед развертыванием вы внесете какие-либо изменения в виртуальный жесткий диск, необходимо будет снова запустить DISM /optimize-image.

Следующие шаги