Работа с WinPE и установка компонентов интеграции в виртуальной машине Hyper-V

Виртуальные машины Hyper-V используют архитектуру синтетических устройств (в отличии от эмулированных устройств в VS2005). Это позволяет добиться серьезного увеличения производительности виртуальных машин, однако у администратора появляется новая головная боль — необходимость установки компонентов интеграции (Integration Components) в гостевой ОС. Без компонентов интеграции гостевая ОС не сможет работать с виртуальными контроллерами SCSI, синтетическим сетевыми адаптерами, а указатель мыши будет «застревать» в окне «Virtual Machine Connection» до нажатия специальной комбинации клавиш.

Если вам необходимо в виртуальной машине загрузиться в WinPE для проведения установки или восстановления системы, вам наверняка потребуется использовать компоненты интеграции и в этой среде. Очевидно, что для нормального использования WinPE в Hyper-V потребуется создать загрузочный образ WinPE со встроенными компонентами интеграции.

Для начала — краткое введение для тех, кто незнаком с WinPE. Windows Preinstallation Environment (Windows PE) — это минимальная операционная система, созданная для подготовки вашего компьютера к установке Windows. WinPE может быть использована на компьютере без операционной системы для загрузки с компакт диска — например, в целях разметки жесткого диска и создания разделов или для копирования необходимых файлов и запуска установки Windows с сетевого ресурса.

Windows PE в качестве отдельного продукта доступна в рамках некоторых схем корпоративного лицензирования. На основе WinPE построено множество различных средств установки и восстановления Windows, включая сам установщик Windows Vista, Server 2008 и Windows Deployment Services (WDS). Последняя доступная в данный момент версия — Windows PE 2.1 — основана на ядре Windows Vista с Service Pack 1 / Windows Server 2008.

Итак, для создания дистрибутива WinPE со встроенными компонентами интеграции Hyper-V нам потребуется выполнить несколько несложных шагов. Перед тем, как приступить к описанию процесса, замечу, что данный способ не поддерживается Microsoft и предлагается вам для самостоятельного использования.

  • Скачайте и установите последнюю версию Windows Automated Installation Kit (AIK). Это позволит вам создать свой образ WinPE. Английскую версию можно скачать тут, а русскую тут.
  • Вам потребуются также сами обновления Hyper-V. Они находятся в файле c:\windows\system32\vmguest.iso на сервере с установленной ролью Hyper-V. Файлы из образа можно извлечь при помощи одной из многочисленных программ третьих фирм (WinImage, WinISO, UltraISO, WinRar) или скопировать, подключив данный образ в виртуальной машине. В зависимости от выбранной вами архитектуры, под которую собирается образ, вам потребуется:
    • файл \support\x86\Windows6.0-KB951633-x86.msu для 32-битной версии WinPE;
    • файл \support\amd64\Windows6.0-KB951633-x64.msu для 64-битной версии WinPE.
  • Поместите файл с обновлением в локальный каталог системы, в которой вы установили AIK.
  • Откройте Windows PE User's Guide, который установился вместе с Windows AIK. Обычно его можно найти в Start -> All Programs -> Windows OPK -> Documentation -> Windows PE User's Guide.
  • Откройте главу Customizing WinPE -> Windows PE Walkthroughs -> Walkthrough: Create a Custom WinPE Image и выполните шаги 1-4.
  • После четвертого шага (Optional: Add Additional Customizations) запустите сценарий, прилагаемый к статье, из Windows PE Tools Command Prompt. Перед этим убедитесь в том, что:
    • переменная MSUSOURCE в сценарии указывает на каталог, в который вы ранее поместили обноление Hyper-V;
    • переменная PESOURCE в сценарии указывет на каталог, который вы создали в ходе выполнения инструкций из Windows PE User's Guide.
  • По окончанию работы сценария продолжайте выполнять последовательность действий из Windows PE Users Guide с пятого шага.

В результате вы получите образ компакт-диска с WinPE. Для загрузки с него подключите образ к CD-ROM в свойствах виртуальной машины, убедитесь, что в BIOS разрешена загрузка с CD и включите машину. После этого вам должны быть доступны все синтетические устройства из WinPE.

P.S. Для старых версий WinPE последовательность немного отличается. Но я не вижу смысла их использования, поэтому не стану углубляться в это.

P.P.S. Пример сценария прилагаю для 64-битной версии WinPE. 32-битную версию при необходимости сделайте сами.

P.P.P.S. Мой пример с Hyper-V RC1 не отличается от предварительных или будущей окончательной версии ничем — кроме имени файла с обновлением. Однако я надеюсь, что вместе с оконательной версией Hyper-V выйдут интегрированные версии Windows Server 2008 и AIK. Соответственно, обновится версия WinPE.

winpe_x64_synthetic.bat