Product Documentation

配置 UEFI 预启动环境

Jun 15, 2017

XenDesktop 支持在使用 SCVMM 托管的 Hyper-V VM 上以及使用 Provisioning Services 通过流技术推送的 Hyper-V VM 上使用统一可扩展固件接口 (UEFI) 硬件技术。这使客户能够执行以下操作:

  • 使用以 GB 计的网络速度在启动时通过流技术推送服务器操作系统,以便用户能够体验到更快的启动速度
  • 支持在虚拟化环境中使用 TB 磁盘

UEFI 完全替代了 BIOS,并且需要使用新的引导程序。可以使用两个新引导程序:一个适用于 32 位操作系统,一个适用于 64 位操作系统。引入另一个引导程序使得网络拓扑更加复杂,具体取决于引导程序的交付方式。

网络拓扑

使用 PXE 服务器则允许使用最简单的拓扑,因为 PXE 协议适用于多种体系结构。Provisioning Services PXE 服务器将识别 DHCP 中嵌入的体系结构标志,然后发现并返回恰当的引导程序文件名。因此,可以在相同的网络段上同时找到旧版 BIOS 计算机和 UEFI 计算机。

如果选择了 DHCP 选项 67,则存在两个拓扑选项:

  • 在单个段上,使用 DHCP 预留为每个目标设备指定引导程序文件名(选项 67)。这适用于较小的环境,但可以快速扩展以适用于企业环境。
  • 将环境分为多个段,将旧版设备与 UEFI 设备隔离开来。对于每个段,请通过设置的相应选项 67 配置 DHCP 作用域。

配置引导程序

不能为 UEFI 引导程序配置嵌入式设置。因此,应使用 DHCP 选项配置 UEFI 引导程序。

DHCP 选项 11 – RLP 服务器

选项 11 允许您指定多个 IPv4 地址。使用此选项可在 Provisioning Services 服务器上指定流 NIC 的地址。可以指定四个以上的地址。UEFI 引导程序将读取所有地址,然后使用轮循机制选择一个要连接到的地址。

注意:选项 17 的优先级高于选项 11。

DHCP 选项 17 – 引导路径

“引导路径”选项通常与 iSCSI 结合使用以指定要启动的服务器和虚拟磁盘。Provisioning Services 使用以下格式指定服务器地址:

pvs:[IPv4]<:17:6910>   

pvs – 所需的标识符

IPv4 – Provisioning Services 服务器上的流 NIC 的地址

17 – UDP 的协议标识符(如果指定了登录端口,则需要此参数)

port – 登录端口(如果使用默认端口 6910,则不需要此端口)

示例:

pvs:[server.corp.com]:17:6910

pvs:[server.corp.com]

pvs:[192.168.1.1]

pvs:[192.168.1.1]:17:6910

将目标设备与引导程序相关联

使用 BOOTPTAB 文件可将目标设备与特定的引导程序相关联。在 Provisioning Services 7.7 中,对 BOOTPTAB 文件的格式做了以下更改,以支持混合旧版环境和 UEFI 环境:

  • “ar”标记指定目标设备的引导环境的体系结构。可以为相同的 MAC 地址不同的体系结构设置多个注册表项。这用于同时支持旧版 BIOS 和 UEFI 引导的硬件。
  • 不支持通配符。如果在 BOOTPTAB 文件中找不到指定 MAC 地址的注册表项,则会搜索注册表中恰当的体系结构值。如果都找不到,则使用默认值。

注册表用于为指定体系结构提供默认引导程序文件名。值名称为体系结构编号,值的开头为引导程序文件的名称。下表列出了 Provisioning Services 安装程序支持的体系结构和创建的注册表项:

HKLM\Software\Citrix\ProvisioningServices\Boot Services\PXE

体系结构

引导程序文件名

0

x86 BIOS

ardbp32.bin

6

x86 UEFI

pvsnbpia32.efi

7

x64 UEFI

pvsnbpx64.efi

9

EBC(适用于 VMware ESX)

pvsnbpx64.efi

 

IETF 中提供的体系结构的完整列表:www.ietf.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml

BOOTPTAB 文件的格式如下:

:ha=:ar=:bf=

示例:

host001:ha=001122334455:ar=0:bf=ardbp32.bin

host002:ha=554433221100:ar=7:bf=pvsnbpx64.efi

如果缺少体系结构标志,则默认值为 0。