Configuring UEFI pre-boot environments
XenDesktop supports Unified Extensible Firmware Interface (UEFI) hardware technology on Hyper-V (Generation 2) and ESX VMs that are managed using SCVMM and vCenter respectively and streamed using Provisioning Services. This enables you to:
- Stream the server operating system at startup time using gigabit network speeds, so users experience faster startups
- Support TB disks in a virtualized environment
UEFI is a complete replacement for the BIOS and requires a new bootstrap. Two new bootstraps are available: one for 32-bit and one for 64-bit systems. The introduction of another bootstrap complicates network topologies depending upon how the bootstrap is delivered.
Network topology
Using a PXE server allows for the simplest topology because the PXE protocol works with multiple architectures. The Provisioning Services PXE Server recognizes the architecture flag embedded in the DHCP, then discovers and returns the appropriate bootstrap filename. Both legacy BIOS computers and UEFI computers may therefore be located on the same network segment.
If DHCP option 67 is chosen, there are two topology options:
- On a single segment, use DHCP reservations to specify the bootstrap filename (option 67) for each and every target device. This is feasible for smaller environments but quickly scales out of hand for enterprise environments.
- Divide the environment into multiple segments, isolating the legacy devices from the UEFI devices. For each segment, configure a DHCP scope with the appropriate option 67 set.
Configuring bootstraps
The UEFI bootstrap cannot have embedded settings. DHCP options are therefore used to configure the UEFI bootstrap.
DHCP选项11 - RLP服务器
Option 11 allows you to specify multiple IPv4 addresses. Use this option to specify the addresses of the streaming NICs on the Provisioning Services server. You can specify more than four addresses. The UEFI bootstrap reads all addresses then uses round-robin to select one address to connect to.
Note:Option 17 takes precedence over option 11.
DHCP Option 17 – Root Path
The Root Path option is typically used with iSCSI to specify the server and virtual disk to start. Provisioning Services uses the following format to specify the server address. Include the brackets [ ] in the command.
pvs:[IPv4]<:17:6910>
pvs – Required identifier
IPv4 – Address of a streaming NIC on the Provisioning Services server
17 - UDP协议标识符(如果需要gon port is specified)
port – Logon port (not required if the default port of 6910 is used)
Examples:
pvs:[server.corp.com]:17:6910
pvs:[server.corp.com]
pvs:[192.168.1.1]
pvs:[192.168.1.1]:17:6910
Associating a target device with a bootstrap
使用引导PTAB file to associate a target device with a specific bootstrap. At Provisioning Services 7.7, the following changes have been made to the format of the BOOTPTAB file to support mixed legacy and UEFI environments:
- The ‘ar’ tag specifies the architecture of the target device’s boot environment. You can make multiple entries for the same MAC address but different architectures. This is for use with hardware that supports both legacy BIOS and UEFI booting.
- Wildcards are not supported. If an entry for a given MAC address is not found in the BOOTPTAB file, the registry is searched for an appropriate value for the architecture. If neither is found, a default value is used.
The registry is used to provide the default bootstrap file name for a given architecture. The name of the value is the architecture number and the value is a string with the name of the bootstrap file. The following table lists the architectures supported and entries created by the Provisioning Services installer:
HKLM\Software\Citrix\ProvisioningServices\Boot Services\PXE
Value | Architecture | Bootstrap file name |
0 | x86 BIOS | ardbp32.bin |
6 | x86 UEFI | pvsnbpia32.efi |
7 | x64 UEFI | pvsnbpx64.efi |
9 | EBC (for VMware ESX) | pvsnbpx64.efi |
The full list of architectures is available from the IETF:www.ietf.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml
The format of the BOOTPTAB file is:
Examples:
host001:ha=001122334455:ar=0:bf=ardbp32.bin
host002:ha=554433221100:ar=7:bf=pvsnbpx64.efi
If the architecture flag is missing, 0 is the default value.