在 KVM 上无人值守安装 Windows Server 2012

在 KVM 上无人值守安装 Windows Server 2012

我正在尝试使用 执行无人值守的 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

指定的产品密钥有效(我可以将其从此文件复制并粘贴到产品密钥对话框中,安装将正确进行)。

您知道如何使这个安装工作​​吗?

答案1

在这种情况下,答案很简单。我有:

<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">

也就是说,我的 XML 中有错误processorArchitecture(我应该早点发现)。

我知道有一个可行、完全自动化的流程,可生成适合在 OpenStack 中部署的 Windows 映像。我使用的脚本和配置是可在 github 上获取

答案2

我们用于生成 OpenStack 官方 Windows Server 2012 R2 评估映像的过程详述如下:

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

Windows OpenStack 映像(KVM 和 Hyper-V):

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

相关内容