Установка компонентов интеграции (Integration Components) на Hyper-V RC0

Публикация цикла статей об интеграции версии Hyper-V RC0 в процесс установки Windows Server 2008 вызвала волну новых вопросов. Меня несколько раз спрашивали — «Как бы еще автоматизировать процесс установки компонентов интеграции в виртуальных машинах?».

Здесь следует понимать, что поддерживаемые ОС виртуальных машинах подразделяются на две категории:

  • Windows Vista SP1 и Server 2008, у которых Beta-версия компонентов интеграции включена в дистрибутив — и следует лишь установить обновление до RC0.
  • Windows Server 2003 (x86 и x64) с Service Pack 2 и Windows XP с Service Pack 3, в которых компоненты по умолчанию отсутствуют — и поэтому необходима отдельная установка.

Windows Vista SP1 и Windows Server 2008

При установке Windows Vista SP1 и Windows Server 2008 в Beta-версии Hyper-V (которая вышла в составе окончательного выпуска Windows Server 2008) вам вообще не требуется что-либо доустанавливать внутри виртуальной машины. Очевидно, что версия компонентов интеграции в окончательной сборке Vista SP1 и Server 2008 совпадает с версией Hyper-V в той же сборке Server 2008 x64. Однако Beta-версия несовместима с RC0. После обновления сервера Hyper-V до RC0 синтетические устройства в виртуальных машинах, использующие шину VMBus, требуют версию компонентов интеграции не ниже RC0.

Поэтому после установки Windows Vista SP1 или Windows Server 2008 в виртуальной машине Hyper-V RC0 гостевая ОС не увидит сетевой карты. Задача скачивания обновления для компонентов интеграции до RC0 становится нетривиальной. Но тут на помощь нам приходит Legacy Network Adapter. Он эмулирует сетевую карту DEC/Intel 21140, драйвер которой уже есть в составе ОС Vista SP1 / Server 2008 — версий как для платформы x86, так и x64. Подключайте к виртуальной машине эмулируемую сетевую карту, загружайтесь в гостевую ОС, скачивайте по сети обновление компонентов интеграции до RC0 и устанавливайте его. (Для 64-битных гостевых ОС — это тот же самый файл, который вы запускали на сервере для обновления Hyper-V с Beta до RC0). После этого выключайте виртуальную машину, убирайте эмулированный адаптер, загружайтесь обратно — и вуаля, синтетические устройства VMBus видны в системе, и все работает.

Примечание. В комментариях к этой заметке предлагается более удобный способ обновления гостевой ОС — не поддерживаемый, но тоже работающий.

Очевидно, что способ интегрирования обновления Hyper-V RC0 в дистрибутив ОС при помощи Offline Servicing, который я описал ранее, также сработает и для компонентов интеграции. Vista SP1/Server 2008, установленные с обновленного таким образом дистрибутива в виртуальную машину Hyper-V RC0, автоматически установят версию RC0 компонентов интеграции. Так что выделывать хитрые па, предложенные выше, уже не потребуется.

Кстати, заявлено, что версия Hyper-V RTM будет совместима с компонентами интеграции RC0. Это означает, что в дальнейшем скачивать обновления компонентов можно будет из виртуальной машины при помощи обычного синтетического адаптера, использующего драйвер от предыдущей версии.

Window Server 2003 SP2 и Windows XP SP3

С Windows Server 2003 SP2 и Windows XP SP3 ситуация несколько проще. Компоненты интеграции для этих ОС присутствуют в виде образа в формате ISO, который вы можете подключить к виртуальной машине в качестве CD-ROM. Таким образом, эти компоненты можно установить без изменения конфигурации ВМ и скачивания чего-либо по сети.

Единственный совет, который я могу дать для этой ситуации, затронет тех, кто любит автоматизировать все процессы. Те из вас, кто уже пробовали интегрировать компоненты в дистрибутив ОС (так, чтобы установка запускалась при первой загрузке), могли заметить, что после завершения своей работы установщик выдает надоедливое приглашение нажать кнопку OK для перезагрузки ОС. Чтобы избежать этого — запускайте процесс установки компонентов с ключом /quiet. Часто используемый любителями краткости ключ /q здесь не работает!