Назад | Перейти на главную страницу

Автоматическая установка Windows Server 2012 на KVM

Я пытаюсь выполнить автоматическую установку Windows Server 2012 на виртуальную машину KVM, используя virt-install. Установщик жалуется: "Windows не может прочитать <ProductKey> из файла ответов автоматической установки ", и я не смог понять, как продолжить работу после этого момента.

Я начинаю со следующего autounattend.xml файл:

<unattend xmlns="urn:schemas-microsoft-com:unattend"
xmlns:ms="urn:schemas-microsoft-com:asm.v3"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
  <settings pass="windowsPE">
    <component name="Microsoft-Windows-Setup"
    publicKeyToken="31bf3856ad364e35" language="neutral"
    versionScope="nonSxS" processorArchitecture="x86">
      <UserData>
        <AcceptEula>true</AcceptEula>
        <ProductKey>
          <Key>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key>
          <WillShowUI>OnError</WillShowUI>
        </ProductKey>
      </UserData>
      <ImageInstall>
        <OSImage>
          <WillShowUI>Never</WillShowUI>
          <InstallTo>
            <DiskID>0</DiskID>
            <PartitionID>1</PartitionID>
          </InstallTo>
          <InstallFrom>
            <MetaData>
              <Key>/IMAGE/Name</Key>
              <Value>Windows Longhorn SERVERSTANDARDCORE</Value>
            </MetaData>
          </InstallFrom>
        </OSImage>
      </ImageInstall>
    </component>
  </settings>
</unattend>

Я записываю это в образ ISO, используя mkisofs:

$ ls config/
autounattend.xml
$ mkisofs -o config.iso -J -r config

А потом я начинаю установку так:

virt-install -n ws2012 -r 2048 -w network=default,model=virtio \
  --disk path=ws2012.qcow2,device=disk,bus=virtio \
  --cdrom en_windows_server_2012_r2_with_update_x64_dvd_4065220.iso \
  --disk path=virtio-win-0.1-81.iso,device=cdrom \
  --disk path=config.iso,device=cdrom \
  --os-type windows --os-variant win2k8

Смотря на x:\windows\panther\setupact.log, Я вижу, что программа установки находит файл автоматической установки:

2014-11-14 12:29:43, Info  [0x060114] IBS
Callback_Productkey_Validate_Unattend:User specified an unattend
xml file

Указанный ключ продукта действителен (я могу скопировать и вставить его из этого файла в диалоговое окно ключа продукта, и установка будет продолжена правильно).

Вы знаете, как заставить эту установку работать?

В данном случае ответ был прост. Я имел:

<component name="Microsoft-Windows-Setup"
publicKeyToken="31bf3856ad364e35" language="neutral"
versionScope="nonSxS" processorArchitecture="x86">

Когда мне понадобилось:

<component name="Microsoft-Windows-Setup"
publicKeyToken="31bf3856ad364e35" language="neutral"
versionScope="nonSxS" processorArchitecture="amd64">

То есть я ошибся processorArchitecture в моем XML (который я должен был заметить раньше).

Я знаю, что у меня есть рабочий, полностью автоматизированный процесс, в результате которого образ Windows подходит для развертывания в OpenStack. Скрипты и конфигурация, которые я использую, доступно на github.

процедура, которую мы используем для создания официальных оценочных образов Windows Server 2012 R2 для OpenStack, подробно описана здесь:

https://github.com/cloudbase/windows-openstack-imaging-tools

Образы Windows OpenStack (KVM и Hyper-V):

http://www.cloudbase.it/ws2012r2/