Cпособы установки Hyper-V — часть 2: Автоматическая (Unattended) установка

Представьте себе печальный пятничный вечер: несколько десятков новых серверов, ожидающих установки Windows Server 2008 с ролью Hyper-V (RC0), — и срок исполнения задачи, истекающий «вчера».

Однако, все не так безнадежно. Автоматическая (Unattended) установка существовала всегда. Есть много способов доставки дистрибутива до сервера, но сегодня речь пойдет только об автоматизации процесса самой установки. Причем даже не столько самой ОС — благо, это сможет сделать даже ленивый*, и материалов на эту тему полно — сколько именно обновлений к серверным ролям. Причем как для полной версии Windows Server 2008, так и для Server Core.

Перед тем, как начать заниматься вопросами автоматической установки, вам потребуется скачать последнюю версию Windows Automated Installation Kit (AIK), которая вышла одновременно с Windows Server 2008 и Windows Vista SP1. Windows AIK содержит набор средств и документации, которые позволят администраторам автоматизировать процесс установки Windows. В AIK вы найдете утилиту, которая поможет вам генерировать сценарий установки ОС — файл unattend.xml. (В предыдущих версиях ОС файл с аналогичными функциями назывался sysprep.inf). Скачать Windows AIK можно в центре загрузки Microsoft.

Предпосылки

  • В данной статье я предполагаю, что у вас уже есть файл unattend.xml, который вы планируете использовать для ответа на вопросы в ходе установки ОС. О том, как получить такой файл, можно почитать в документации к AIK. Я же хочу остановиться на аспектах, специфических для Hyper-V — в частности, на вопросе установки версии RC0 в ходе развертывания ОС. Ниже я опишу, как потребуется модифицировать ваш файл unattend.xml, вставив в него необходимый фрагмент. Однако для того, чтобы вы могли пропустить этот этап и заняться тестированием непосредственно процесса установки, в конце статьи я предложу свой готовый вариант файла unattend.xml.

Внимание: мой сценарий установки уничтожает разметку жесткого диска и создает ее заново в ходе установки. Используйте этот готовый файл только в том случае, если вы отдаете себе отчет о последствиях таких действий. Также из моего файла удален ключ продукта (серийный номер). Если вы будете использовать дистрибутив Windows Server 2008 для корпоративных заказчиков (так называемый Volume), то указание ключа и не потребуется. ОС будет ожидать активации через KMS. Но это совсем другая история.

  • Я предполагаю, что у вас имеется необходимое оборудование, поддерживающее Hyper-V, а также дистрибутив одного из изданий Windows Server 2008 для платформы x64, плюс пакет обновления для роли Hyper-V до версии RC0. (О том, где ее достать, я уже писал — но все равно повторю ниже).
  • Для выполнения автоматической установки вам также потребуется внешний накопитель с интерфейсом USB. На него вы запишете свой файл ответов и диструбитв для обновления серверной роли. Нет никаких проблем с тем, чтобы сделать новый установочный DVD, содержащий эти файлы вместе с дистрибутивом Windows — просто я не хочу сейчас на этом останавливаться.

Девять шагов до цели

  • Скачайте дистрибутив Hyper-V RC0. Для установки сервера вам потребуется только версия этого обновления для платформы x64.
  • Создайте на жестком диске временный каталог, в который будут извлечены фалы обновления. Например, C:\extract.
  • Запустите командную строку с правами администратора (Run as Administrator), перейдите в каталог, содержащий дистрибутив обновления Hyper-V в формате MSU, и выполните команду:

expand -F:* Windows6.0-KB949219-x64.msu C:\extract

  • В каталоге C:\extract вы обнаружите два файла с расширением CAB. Вам понадобится Windows6.0-KB949219-x64.cab. Скопируйте его в корень вашего диска USB.
  • Откройте ваш файл unattend.xml и добавьте в него один из следующих фрагментов между секцией <unattend /> и первой из секций <settings />.

Первый фрагмент — для полной установки Windows Server 2008, второй для Server Core — в зависимости от того, какую конфигурацию вы устанавливаете. Предлагаемый ниже готовый файл unattend.xml устанавливает полную версию ОС Windows Server 2008 Standard.

<!--фрагмент для полной установки Windows Server 2008 -->

<servicing>

    <package

        action="configure">

        <assemblyIdentity

            name="Microsoft-Windows-Foundation-Package"

            version="6.0.6001.18000"

            processorArchitecture="amd64"

            publicKeyToken="31bf3856ad364e35" 

            language="" />

        <selection

            name="Microsoft-Hyper-V"

            state="true" />

        <selection

            name="Microsoft-Hyper-V-Management-Clients"

            state="true" />

    </package>

    <package

        action="install">

        <assemblyIdentity

            name="Package_for_KB949219"

            version="6.0.1.2" 

            processorArchitecture="amd64"

            publicKeyToken="31bf3856ad364e35"

            language="neutral" />

        <source

            location="E:\Windows6.0-KB949219-x64.cab" />

    </package>

</servicing>

или

<!-- фрагмент для установки Windows Server 2008 Server Core -->

<servicing>

  <package

      action="configure">

    <assemblyIdentity

        name="Microsoft-Windows-ServerCore-Package"

        version="6.0.6001.18000"

        processorArchitecture="amd64"

        publicKeyToken="31bf3856ad364e35"

        language="" />

    <selection

        name="Microsoft-Hyper-V"

        state="true" />

  </package>

  <package

      action="install">

    <assemblyIdentity

        name="Package_for_KB949219"

        version="6.0.1.2"

        processorArchitecture="amd64"

        publicKeyToken="31bf3856ad364e35"

        language="neutral" />

    <source

        location="E:\Windows6.0-KB949219-x64.cab" />

  </package>

</servicing>

  • Убедитесь, что путь во вставленном фрагменте указывает на файл CAB, скопированный на предыдущем шаге. Имя диска зависит от системы — в моем случае это E:\.
  • Сохраните ваш файл unattend.xml в корень диска USB под именем «autounattend.xml».
  • Протестируйте процесс. Вставьте установочный DVD Windows Server 2008 x64 в один из ваших серверв, подключите диск USB и запустите установку обычным способом. Если ваш файл unattend был сделан корректно, то в процессе установки вам не будет задано ни одного вопроса. (Если вы используете мой готовый файл — помните, что он переразобьет диск, и не забудьте добавить в файл ключ продукта).
  • Когда процесс установки завершится, откройте приложение Programs из Control Panel. В списке установленных обновлений вы должны увидеть «KB949219 - the Hyper-V RC0 QFE».

Пример готового файла unatted.xml. Используйте на свой страх и риск! :)

 

* примечание редактора: а неленивый будет устанавливать все серверы вручную.