VK Private Cloud logo
Помощь
Обновлена 8 октября 2026 г. в 09:12

Создание образа ВМ с ОС Windows

На Платформе поддерживается миграция ОС Windows серверных версий:

  • Windows Server 2008 или 2008 R2.
  • Windows Server 2012 или 2012 R2.
  • Windows Server 2016.
  • Windows Server 2019.
  • Windows Server 2022.

В качестве примера использован образ Windows Server 2016 редакции CORE, команды приведены на языке PowerShell.

Подготовительные шаги

  1. Убедитесь, что Git установлен и настроен (подробнее — в официальной документации).

  2. Клонируйте репозиторий windows-imaging-tools со скриптами автоматизированной сборки (подробнее — в официальной документации).

  3. Клонируйте репозиторий WindowsUpdateCLI для обновления образа системы (подробнее — в официальной документации).

  4. Настройте инструментарий:

  5. Скачайте ISO-образ ОС, для которого планируется миграция на Платформу. Рекомендуется использовать en-US версию образа.

  6. Выполните подготовительные операции (подробнее — в разделе Конфигурационный файл для подключения).

Основные шаги

  1. Подготовьте установочный WIM-файл ОС.

    1. Подключите скачанный ISO-образ ОС.

    2. Выведите список всех версий Windows с помощью команды, выполненной от имени администратора:

      Get-WindowsImage -ImagePath E:\sources\Install.wim

      Здесь E:\sources\Install.wim — полный путь к WIM-файлу системы на смонтированном диске.

      Появится список редакций с указанием ее номера ImageIndex:

      ImageIndex      : 1ImageName       : Windows Server 2016 StandardImageDescription: Это рекомендуемый вариант. Он сокращает управление и обслуживание за счет установки только того, что требуется для большинства приложений и ролей сервера. Он не включает графический интерфейс пользователя, однако вы можете полностью управлять сервером локально или удаленно с помощью Windows PowerShell или других средств. См. раздел "Варианты установки Windows Server".ImageSize       : 9 146 079 566 bytesImageIndex      : 2ImageName       : Windows Server 2016 Standard (возможности рабочего стола)ImageDescription: Этот вариант подходит, если нужен графический пользовательский интерфейс. Пример: для обеспечения обратной совместимости приложения, которое не может работать при установке основных серверных компонентов. Поддерживаются все роли и компоненты сервера. Подробнее: "Варианты установки Windows Server".ImageSize       : 15 219 002 744 bytes
    3. Экспортируйте редакцию с ImageIndex = 1:

      dism `/export-image `/SourceImageFile:E:\sources\Install.wim `/SourceIndex:1 `/DestinationImageFile:D:\Temp\install.wim `/Compress:max `/CheckIntegrity

      Здесь:

      • D:\Temp\install.wim — полный путь на локальном диске, где будет сохранен экспортируемый образ.
      • SourceIndex:1 — номер индекса необходимой редакции.
  2. Создайте виртуальный коммутатор external с подключением в интернет (подробнее — в официальной документации).

  3. Соберите образ локально:

    1. Перейдите в директорию windows-imaging-tools и импортируйте модули:

      Import-Module .\WinImageBuilder.psm1Import-Module .\Config.psm1Import-Module .\UnattendResources\ini.psm1
    2. Перенесите содержимое директории WindowsUpdateCLI в windows-imaging-tools\UnattendResources\WindowsUpdates.

    3. Создайте конфигурационный файл config.ini:

      $ConfigFilePath = ".\config.ini"New-WindowsImageConfig -ConfigFilePath $ConfigFilePath
    4. Откройте созданный файл и проверьте параметры:

      wim_file_path=D:\Temp\install.wimimage_name=Windows Server 2016 SERVERSTANDARDCOREimage_path=D:\Win_Server_2016_img.qcow2virtual_disk_format=QCOW2image_path=D:\Win_Server_2016_img.rawvirtual_disk_format=RAWimage_type=KVMexternal_switch=externalvirtio_iso_path="D:\Drivers\virtio.iso"time_zone="Russian Standard Time"install_qemu_ga=Trueinstall_updates=Truepurge_updates=Falsecompress_qcow2=True

      Здесь:

      • external_switch=external — имя созданного коммутатора.
      • virtio_iso_path="D:\Drivers\virtio.iso" — полный путь к ISO-файлу с драйверами VirtIO.
      • time_zone="Russian Standard Time" — временная зона, можно узнать с помощью команды tzutil /l.
      • purge_updates=False — не очищать директорию WinSXS после установки обновлений.
    5. Запустите локальную сборку образа:

      New-WindowsOnlineImage -ConfigFilePath $ConfigFilePath
    6. Дождитесь завершения выполнения операции и убедитесь, что файл D:\Win_Server_2016_img.raw создан.

  4. Импортируйте образ на Платформу:

    # openstack image create \    --progress \    --private \    --container-format bare \    --disk-format raw \    --file D:\Win_Server_2016_img.raw \    --property store=s3 \    --property hw_qemu_guest_agent=True \    --property os_require_quiesce=yes \    --property mcs:lic:mswinsrv=true \    --property mcs_name='Windows Server 2016 Standard (en)' \    --property os_admin_user='Admin' \    --property os_type=windows \    <ОБРАЗ>

    Здесь аргументы вида --property <КЛЮЧ>=<ЗНАЧЕНИЕ> используются для присвоения образу метатегов.

    Дождитесь завершения операции. После загрузки образа появится возможность создавать ВМ стандартными средствами Платформы.

  5. Если импортированный образ больше не нужен, удалите его.

Была ли статья полезна?