XenServer

Windows 虚拟机

在 XenServer® 主机上安装 Windows 虚拟机需要硬件虚拟化支持(Intel VT 或 AMD-V)。

注意:

XenServer 上托管的 Windows 虚拟机不支持嵌套虚拟化。

创建 Windows 虚拟机的基本步骤

在虚拟机上安装 Windows 的过程包括以下步骤:

  1. 选择合适的 Windows 模板

  2. 选择合适的启动模式

  3. 安装 Windows 操作系统

  4. 安装适用于 Windows 的 XenServer VM Tools(I/O 驱动程序管理代理

警告:

仅当虚拟机安装了适用于 Windows 的 XenServer VM Tools 时,才支持 Windows 虚拟机。

Windows 虚拟机模板

通过使用 XenCenter® 或 xe CLI 克隆相应的模板,然后安装操作系统,将 Windows 操作系统安装到虚拟机上。各个来宾的模板具有预定义的平台标志,这些标志定义了虚拟硬件的配置。例如,所有 Windows 虚拟机都安装了启用 ACPI 硬件抽象层 (HAL) 模式。如果以后将其中一个虚拟机更改为具有多个虚拟 CPU,Windows 会自动将 HAL 切换到多处理器模式。

下表列出了可用的 Windows 模板:

模板名称 支持的引导模式 描述
Windows 10 (64 位版本) BIOS、UEFI、UEFI 安全引导 用于安装 Windows 10 (64 位)
Windows 11 操作系统 UEFI、UEFI 安全引导 用于安装 Windows 11
Windows Server 2016 操作系统 BIOS、UEFI、UEFI 安全引导 用于安装 Windows Server 2016 操作系统或 Windows Server Core 2016 操作系统
Windows 服务器 2019 BIOS、UEFI、UEFI 安全引导 用于安装 Windows 服务器 2019 或 Windows 服务器核心版 2019
Windows 服务器 2022 BIOS、UEFI、UEFI 安全启动 用于安装 Windows 服务器 2022 或 Windows Server Core 2022
Windows 服务器 2025 BIOS、UEFI、UEFI 安全启动 用于安装 Windows 服务器 2025 或 Windows Server Core 2025

XenServer 支持列出的所有 Windows 版本的 SKU(版本)。

附加 ISO 映像库

Windows 操作系统可以从 XenServer 主机上的物理 CD-ROM 驱动器中的安装 CD 安装,也可以从 ISO 映像安装。有关如何从 Windows 安装 CD 制作 ISO 映像并使其可用的信息,请参阅创建 ISO 映像

使用 XenCenter 创建 VM

创建 Windows VM:

  1. 在 XenCenter 工具栏上,单击新建 VM 按钮以打开新建 VM 向导。

    新建 VM 向导允许您配置新 VM,调整 CPU、存储和网络资源的各种参数。

  2. 选择 VM 模板。

    首先,选择一个合适的 VM 模板。模板包含用于创建具有特定客户操作系统以及最佳存储、CPU、内存和虚拟网络配置的 VM 的设置信息。提供了各种不同的模板,您可以添加自己的自定义模板。有关更多信息,请参阅模板和 BIOS 选项

    选择内置 Windows 模板时,您可以通过启用或禁用“允许 Windows Update 交付 I/O 驱动程序”复选框来管理通过 Windows Update 为 XenServer VM Tools 提供的 I/O 驱动程序更新。

    对于自定义模板或快照,“新建 VM”向导会显示 has-vendor-device 字段的当前值。此字段必须设置为 true,才能允许通过 Windows Update 交付 PV 驱动程序。

    注意:

    如果您打算将 Windows VM 用作 Citrix Provisioning 目标或启用 reset-on-boot 标志,则不能使用任何自动化更新机制。在这种情况下,请确保禁用“允许 Windows Update 交付 I/O 驱动程序”复选框。有关详细信息,请参阅 Citrix Provisioning 目标或重置启动计算机的设置

  3. (可选)配置 BIOS 字符串。

    如果您要在 VM 上安装的操作系统仅与原始硬件兼容,请选中“将主机 BIOS 字符串复制到 VM”复选框。例如,您可能将此选项用于随特定计算机打包的操作系统安装 CD。首次启动 VM 后,BIOS 字符串无法更改,因此请务必在继续操作之前确保其正确无误。

    要使用 CLI 复制 BIOS 字符串,请参阅 从经销商选项套件 (BIOS 锁定) 介质安装 VM。高级用户可以设置用户定义的 BIOS 字符串。有关详细信息,请参阅 用户定义的 BIOS 字符串

  4. 为新 VM 输入名称和可选描述。

  5. 选择要在新 VM 上安装的操作系统介质源。

    从 CD/DVD 安装是入门最简单的选项。

    1. 选择默认安装源选项(DVD 驱动器)
    2. 将磁盘插入 XenServer 主机的 DVD 驱动器

    XenServer 还允许您从各种来源(包括预先存在的 ISO 库)提取操作系统安装介质。ISO 映像是一个文件,其中包含光盘(CD、DVD 等)所包含的所有信息。在这种情况下,ISO 映像将包含与 Windows 安装 CD 相同的操作系统数据。

    要附加预先存在的 ISO 库,请单击“新建 ISO 库”并指明 ISO 库的位置和类型。然后,您可以从列表中选择特定的操作系统 ISO 介质。

  6. 在“安装介质”选项卡中,您可以为 VM 选择启动模式。默认情况下,XenCenter 会为 VM 操作系统版本选择最安全的可用启动模式。

    注意:

    • 如果所选的 VM 模板不支持 UEFI 引导,则 UEFI 引导UEFI 安全引导选项显示为灰色。
    • 首次启动 VM 后,无法更改引导模式。

    有关详细信息,请参阅来宾 UEFI 引导和安全引导

  7. 如果需要,请更改选项创建并附加新的 vTPM

    • 对于需要 vTPM 的 VM 操作系统,此选项处于选中状态且无法取消选择。
    • 对于不支持 vTPM 的 VM 操作系统,此选项显示为灰色且无法选择。
    • 对于支持 vTPM 但不需要它的 VM 操作系统,请选择是否将 vTPM 附加到 VM。

    有关详细信息,请参阅vTPM

  8. 为 VM 选择一个主服务器。

    主服务器是为池中 VM 提供资源的主机。当您为 VM 指定主服务器时,XenServer 会尝试在该主机上启动 VM。如果此操作不可行,则会自动选择同一池中的备用主机。要选择主服务器,请单击将 VM 放置在此服务器上,然后从列表中选择一个主机。

    注意:

    • 在启用 WLB 的池中,指定的主服务器不用于启动、重新启动、恢复或迁移 VM。相反,工作负载平衡通过分析 XenServer 资源池指标并推荐优化来为 VM 指定最佳主机。
    • 如果 VM 分配有一个或多个虚拟 GPU,则主服务器指定无效。相反,主机指定基于用户设置的虚拟 GPU 放置策略。
    • 在滚动池升级期间,迁移 VM 时不考虑主服务器。相反,VM 会迁移回升级前所在的主机。

    如果您不想指定主服务器,请单击不为此 VM 分配主服务器。该 VM 将在任何具有所需资源的宿主机上启动。

    单击下一步继续。

  9. 为 VM 分配处理器和内存资源。对于 Windows 10 VM(64 位),默认值为 2 个虚拟 CPU 和 4 GB RAM。您也可以选择修改默认值。单击下一步继续。

  10. 分配虚拟 GPU。新建 VM向导会提示您为 VM 分配专用 GPU 或一个或多个虚拟 GPU。此选项使 VM 能够使用 GPU 的处理能力。借助此功能,您可以更好地支持高端 3D 专业图形应用程序,例如 CAD/CAM、GIS 和医学成像应用程序。

  11. 为新 VM 分配和配置存储。

    单击下一步以选择默认分配 (32 GB) 和配置,或者您可能需要执行以下额外配置:

    • 通过单击编辑更改虚拟磁盘的名称、描述或大小。
    • 通过选择添加来添加新的虚拟磁盘。
  12. 配置新 VM 上的网络。

    单击下一步以选择默认 NIC 和配置,包括为每个 NIC 自动创建的唯一 MAC 地址。或者,您可能需要执行以下额外配置:

    • 通过单击编辑更改虚拟磁盘的物理网络、MAC 地址或服务质量 (QoS) 优先级。
    • 通过选择添加来添加新的虚拟 NIC。
  13. (可选)如果此 VM 将用作 Citrix Provisioning 的模板或设置了 reset-on-boot 标志,请确保未选择自动启动新 VM。这使您能够在安装 Windows 之前执行一些必要的配置。

  14. 检查设置,然后单击立即创建以创建 VM 并返回到搜索选项卡。

    新 VM 的图标将显示在资源窗格中宿主机下方。

  15. (可选)如果此 VM 旨在用作 Citrix Provisioning 的模板或已设置 reset-on-boot 标志,请在安装 Windows 之前配置该 VM。

    在主机控制台中,键入以下命令:

    xe vm-param-set uuid=<uuid> has-vendor-device=false
    

    标志 has-vendor-device=false 确保 Windows Update 不会尝试安装或更新 XenServer VM Tools 中包含的 I/O 驱动程序。有关详细信息,请参阅 适用于 Citrix Provisioning 目标或启动时重置的计算机的设置

  16. 在“资源”窗格中,选择 VM,然后单击“控制台”选项卡以查看 VM 控制台。

  17. (可选)如果要克隆 VM,建议不要运行 Windows 首次设置(称为开箱即用体验 (OOBE))。相反,当 OOBE 在要求提供区域信息的页面上启动时,按 Ctrl + Shift + F3 进入审核模式。

    然后,您可以使用 Sysprep 泛化 VM。有关详细信息,请参阅 使用 Sysprep 准备克隆 Windows VM

    如果您不打算克隆 VM,请继续执行此过程中的以下步骤。

  18. 按照操作系统安装屏幕进行操作并做出选择。

  19. 操作系统安装完成且 VM 重新启动后,安装适用于 Windows 的 XenServer VM Tools

使用 CLI 创建 Windows VM

要使用 xe CLI 从 ISO 存储库创建 Windows VM,请执行以下操作:

注意:

对于 Windows 10 和 Windows 11 VM,模板指定了对 vTPM 的要求。您无需向 xe CLI 命令添加任何内容即可设置 vTPM。

  1. 从模板创建 VM:

    xe vm-install new-name-label=<vm_name> template=<template_name>
    <!--NeedCopy-->
    

    此命令返回新 VM 的 UUID。

  2. (可选) 更改 VM 的启动模式。

    xe vm-param-set uuid=<uuid> HVM-boot-params:firmware=<mode>
    xe vm-param-set uuid=<uuid> platform:secureboot=<option>
    <!--NeedCopy-->
    

    mode 的值可以是 BIOSuefi,如果您的 VM 操作系统支持该选项,则默认为 uefi。否则,模式默认为 BIOSoption 的值可以设置为 truefalse。如果您未指定安全启动选项,则默认为 auto

    有关更多信息,请参阅 客户机 UEFI 启动和安全启动

  3. (可选) 如果此 VM 旨在用作 Citrix Provisioning 的模板或已设置 reset-on-boot 标志,请在安装 Windows 之前配置 VM。

    xe vm-param-set uuid=<uuid> has-vendor-device=false
    <!--NeedCopy-->
    

    标志 has-vendor-device=false 可确保 Windows Update 不会尝试安装或更新 XenServer VM Tools 中包含的 I/O 驱动程序。有关更多信息,请参阅 Citrix Provisioning 目标或启动时重置计算机的设置

  4. 创建 ISO 存储库:

    xe-mount-iso-sr <path_to_iso_sr>
    <!--NeedCopy-->
    
  5. 列出所有可用的 ISO:

    xe cd-list
    <!--NeedCopy-->
    
  6. 将指定的 ISO 插入指定 VM 的虚拟 CD 驱动器:

    xe vm-cd-add vm=<vm_name> cd-name=<iso_name> device=3
    <!--NeedCopy-->
    
  7. 启动 VM 并安装操作系统:

    xe vm-start vm=<vm_name>
    <!--NeedCopy-->
    

    此时,VM 控制台在 XenCenter 中可见。

  8. 在 XenCenter 的“资源”窗格中,选择 VM,然后单击“控制台”选项卡以查看 VM 控制台。

  9. (可选) 如果您希望能够克隆 VM,建议您不要运行 Windows 首次设置,即开箱即用体验 (OOBE)。相反,当 OOBE 在要求提供区域信息的页面上启动时,按 Ctrl + Shift + F3 进入审核模式。

    然后,您可以使用 Sysprep 泛化 VM。有关更多信息,请参阅 使用 Sysprep 准备克隆 Windows VM

    如果您不打算克隆 VM,请继续执行此过程中的以下步骤。

  10. 按照操作系统安装屏幕进行操作并做出选择。

  11. 操作系统安装完成且虚拟机重新启动后,安装适用于 Windows 的 XenServer VM Tools

有关使用 CLI 的更多信息,请参阅命令行界面

安装适用于 Windows 的 XenServer VM Tools

适用于 Windows 的 XenServer VM Tools 提供高性能 I/O 服务,而无需传统设备仿真的开销。有关适用于 Windows 的 XenServer VM Tools 和高级用法的更多信息,请参阅适用于 Windows 的 XenServer VM Tools

在安装适用于 Windows 的 XenServer VM Tools 之前,请确保您的虚拟机已配置为从 Windows Update 接收 I/O 驱动程序。Windows Update 是接收 I/O 驱动程序更新的推荐方式。但是,如果 Windows Update 不适用于您的虚拟机,您也可以通过其他方式接收 I/O 驱动程序更新。有关更多信息,请参阅更新 I/O 驱动程序

安装适用于 Windows 的 XenServer VM Tools:

  1. 建议您在安装或更新 XenServer VM Tools 之前对虚拟机进行快照。

  2. XenServer 下载页面下载适用于 Windows 的 XenServer VM Tools 文件。

  3. 根据提供的 SHA-256 值验证您的下载。

  4. 将文件复制到您的 Windows 虚拟机或 Windows 虚拟机可以访问的共享驱动器。

  5. 运行 managementagentxXX.msi 文件以开始安装 XenServer VM Tools。

    Msiexec.exe /package managementagentxXX.msi
    
  6. 按照安装程序中的提示操作。

    1. 按照向导中的说明接受许可协议并选择目标文件夹。

    2. 向导在“安装和更新设置”页面上显示推荐设置。有关自定义这些设置的信息,请参阅适用于 Windows 的 XenServer VM Tools

    3. 单击“下一步”,然后单击“安装”以开始适用于 Windows 的 XenServer VM Tools 安装过程。

  7. 在提示时重新启动 VM 以完成安装过程。

升级 VM 中的 Windows 操作系统

通常在 Microsoft 发布新版本或修订版,或迁移到较新版本的 XenServer 时,需要升级 VM。

升级 Windows VM 之前

  1. 如果您要将操作系统更新到需要 vTPM 的 Windows 版本(例如 Windows 11),则必须在升级操作系统之前将 vTPM 附加到 VM。有关详细信息,请参阅将 vTPM 附加到 VM
  2. 将 VM 上的 XenServer VM Tools for Windows 升级到最新版本。有关详细信息,请参阅XenServer VM Tools for Windows
  3. 确保清理了任何旧版本的 XenServer VM Tools for Windows 驱动程序。您可以通过在 Windows VM 中运行以下命令来完成此操作:

    1. 运行 XenServer VM Tools for Windows 清理工具:<tools-install-directory>\uninstall.exe cleanup

    2. 使用命令 pnputil.exe -enum-drivers 列出所有已安装的驱动程序。

      必须删除 Provider Name 为 XenServer 且 Published Name 形式为 oemxx.inf 的任何驱动程序。

    3. 要删除这些驱动程序,请为每个驱动程序运行以下命令:pnputil.exe -delete-driver oemXX.inf

      此命令仅删除未使用的旧版本驱动程序。如果驱动程序正在使用中,则该命令将正确失败。

升级 Windows 操作系统

您可以通过以下方式之一升级 Windows VM:

  • 使用 Windows Update 升级 Windows VM 上的 Windows 操作系统版本。如果您使用 Windows Update 更新 XenServer VM Tools,我们建议您使用此方法。
  • 对于较新版本,请使用 Windows 安装 ISO。如果在一台已安装早期版本 Windows 的服务器上启动 Windows 安装盘,它们通常会提供升级选项。

在 Windows 虚拟机控制台中,按照 Windows 提供的升级提示进行操作。

使用 Sysprep 准备克隆 Windows 虚拟机

克隆 Windows 虚拟机唯一受支持的方法是使用 Windows 实用程序 sysprep 来准备虚拟机。

sysprep 实用程序会更改本地计算机 SID,使其对每台计算机都是唯一的。sysprep 二进制文件位于 C:\Windows\System32\Sysprep 文件夹中。

有关使用 Sysprep 的详细信息,请参阅 Sysprep(通用化)Windows 安装

在 Windows 虚拟机上运行 Sysprep:

注意:

在 Windows 10 和 11 上,Windows 首次设置或开箱即用体验 (OOBE) 会安装可能干扰 sysprep 过程的应用程序(例如 AppX)。由于此行为,在创建可克隆虚拟机时,我们建议跳过首次设置并以审核模式启动 Windows。

  1. 创建 Windows 虚拟机。

  2. 安装 Windows。

  3. (可选)当开箱即用体验 (OOBE) 在要求提供区域信息的页面上启动时,按 Ctrl + Shift + F3。Windows 将以审核模式启动。有关详细信息,请参阅 将 Windows 启动到审核模式或 OOBE

    虽然不是必需的,但我们建议您退出 OOBE,以避免在映像上创建不必要的用户帐户,并避免第三方应用程序兼容性问题。如果您继续使用 OOBE,在 OOBE 期间安装的某些应用程序或 Windows 更新可能会阻止 Sysprep 正常运行。

  4. 安装最新版本的 XenServer VM Tools for Windows。

  5. 安装任何应用程序并执行任何其他所需的配置。

  6. 运行 sysprep 以通用化虚拟机。此实用程序在完成后会关闭虚拟机。

注意:

sysprep 阶段之后,请勿再次重新启动原始的通用化虚拟机(“源”虚拟机)。之后立即将其转换为模板以防止重新启动。如果源虚拟机重新启动,则必须再次在其上运行 sysprep,然后才能安全地用于创建更多克隆。

克隆通用化 Windows 虚拟机:

  1. 使用 XenCenter 将虚拟机转换为模板。

  2. 根据需要将新创建的模板克隆到新虚拟机中。

  3. 克隆的虚拟机启动时,它会完成以下操作,然后才能使用:

    • 它会获取新的 SID 和名称
    • 它会运行设置,以在必要时提示输入配置值
    • 最后,它会重新启动

使用 Sysprep 自定义 Windows 虚拟机

XenServer 可以通过将来宾操作系统内部的应答文件(通常为 unattend.xml)传递给 Microsoft Sysprep 来自定义正在运行的 Windows 虚拟机。XenServer 会将文件上传到虚拟机的临时虚拟 CD-ROM 上,运行 Sysprep,然后虚拟机在重新启动后完成自定义。此机制允许您通过共享映像以编程方式配置大型 Windows 部署。

XenServer 通过管理 API 和 xe CLI 支持此操作。它无法通过 XenCenter 使用。XenServer 不会验证应答文件的内容。

要求

  • 虚拟机必须正在运行。
  • 虚拟机必须安装 XenServer VM Tools for Windows,且 PV 驱动程序版本为 9.4.2 或更高。
  • 虚拟机中安装的 Windows 版本必须支持 Sysprep。

使用管理 API

VM 类公开了一个 sysprep 方法,该方法接受应答文件内容和超时时间(以秒为单位)。有关完整的方法签名和参数参考,请参阅 Class: VM — sysprep

使用 xe CLI

运行以下命令,将 <vm-uuid> 替换为您要自定义的正在运行的虚拟机的 UUID,将 unattend.xml 替换为您的应答文件路径:

xe vm-sysprep uuid=<vm-uuid> filename=unattend.xml
<!--NeedCopy-->

该命令接受以下参数:

  • uuid - 要自定义的正在运行的虚拟机的 UUID。
  • filename - 要传递给虚拟机的 Sysprep 应答文件的路径。
  • timeout - 可选。等待虚拟机重新启动的秒数。默认值为 180 秒。

当虚拟机重新启动或超时时,命令返回。由于自定义时间取决于应答文件的内容,您可能需要增加超时时间。如果自定义在超时后完成,即使 Sysprep 可能已成功完成,CLI 也会报告失败。在这种情况下,请增加超时时间并重试。

故障排除

  • CLI 报告超时但 Sysprep 仍在进行中。 如果 CLI 超时时 Sysprep 仍在虚拟机内运行,请增加 timeout 值并重试。如果 Sysprep 已停止或失败(例如,由于应答文件错误),增加超时时间无济于事。按照“应答文件错误”中的说明检查虚拟机内的 Windows Sysprep 日志。

  • 自定义未启动。 确认虚拟机正在运行,并且已安装 XenServer VM Tools for Windows 9.4.2 或更高版本。您可以使用以下命令检查已安装的驱动程序版本:

     xe vm-param-get uuid=<vm-uuid> param-name=PV-drivers-version
     <!--NeedCopy-->
    
  • 应答文件错误。 XenServer 不会验证应答文件。请检查虚拟机内的 Windows Sysprep 日志 (%WINDIR%\System32\Sysprep\Panther\) 以获取详细信息。

Windows VM 发行说明

Windows 有许多版本和变体,它们对 XenServer 提供的功能的支持程度各不相同。本节列出了已知差异的说明和勘误。

常见 Windows 问题

  • 安装 Windows VM 时,最初不要超过三个虚拟磁盘。安装 VM 和 XenServer VM Tools for Windows 后,可以添加额外的虚拟磁盘。确保引导设备始终是初始磁盘之一,以便 VM 可以在没有 XenServer VM Tools for Windows 的情况下成功引导。

  • 当 Windows VM 的引导模式为 BIOS 引导时,Windows 会使用主引导记录 (MBR) 格式化主磁盘。MBR 将磁盘的最大可寻址存储空间限制为 2 TiB。要将大于 2 TiB 的磁盘与 Windows VM 配合使用,请执行以下操作之一:

    • 如果 Windows 版本支持 UEFI 引导,请确保将 UEFI 用作 Windows VM 的引导模式。
    • 将大磁盘创建为 VM 的辅助磁盘,并选择 GUID 分区表 (GPT) 格式。
  • 多个 vCPU 作为 CPU 插槽暴露给 Windows 客户机,并受 VM 中存在的许可限制。可以通过检查设备管理器来确认客户机中存在的 CPU 数量。Windows 实际使用的 CPU 数量可以在任务管理器中查看。

  • Windows 客户机中的磁盘枚举顺序可能与它们最初添加的顺序不同。此行为是由于 I/O 驱动程序与 Windows 中的即插即用子系统之间的交互造成的。例如,第一个磁盘可能显示为 Disk 1,下一个热插拔磁盘显示为 Disk 0,稍后的磁盘显示为 Disk 2,然后以预期的方式向上显示。

  • VLC 播放器 DirectX 后端中的一个错误会导致在 Windows 显示属性设置为 24 位颜色时,视频播放期间黄色被蓝色替换。使用 OpenGL 作为后端的 VLC 可以正常工作,任何其他基于 DirectX 或 OpenGL 的视频播放器也可以正常工作。如果客户机设置为使用 16 位颜色而不是 24 位颜色,则没有问题。

  • PV 以太网适配器在 Windows VM 中报告的速度为 100 Gbps。此速度是人工硬编码值,在虚拟环境中不相关,因为虚拟 NIC 连接到虚拟交换机。Windows VM 使用可用的全部速度,但网络可能无法达到完整的 100 Gbps。

  • 如果您尝试对 Windows VM 进行不安全的 RDP 连接,此操作可能会失败并显示以下错误消息:“这可能是由于 CredSSP 加密 Oracle 修复造成的。”当 Credential Security Support Provider 协议 (CredSSP) 更新仅应用于 RDP 连接中的客户端和服务器之一时,会发生此错误。有关更多信息,请参阅 https://support.microsoft.com/en-gb/help/4295591/credssp-encryption-oracle-remediation-error-when-to-rdp-to-azure-vm