In case you haven’t heard, Citrix Provisioning (PVS) deprecated BIOS support for target devices in 2203 and removed the ability to create new BIOS-based target devices in 2311+. This shift was part of the broader industry trend away from BIOS towards UEFI due to the latter’s support for larger drives, shorter boot times, and improved security.
To minimize disruption, many customers migrate from BIOS to UEFI while implementing a Citrix version upgrade or OS upgrade. With the upcoming Citrix Virtual Apps and Desktops 1912 End of Life and upcoming Windows 10 End of Life, this topic will be increasingly relevant as organizations begin to migrate to supported versions.
Background
There are a few basic things to keep in mind when deploying UEFI target devices:
- BIOS and UEFI are incompatible. A vDisk can use either BIOS or UEFI, but it cannot use both.
- BIOS and UEFI use different PVS bootstrap files during the boot process, as noted here. For BIOS, PVS uses ardbp32.bin. For UEFI, PVS uses pvsnbpx64.efi.
-
The PVS boot process is described in detail here, but for this article, there are two important parts to focus on:
- First, the target device must obtain a bootstrap file (via PXE, BDM, or DHCP Options 66/67). The bootstrap file contains information about how to initialize the PVS streaming process and provides the PVS login server for BIOS target devices. Since the UEFI bootstrap file (pvsnbpx64.efi) is signed for improved security, it cannot be configured with PVS login servers. This information must be specified elsewhere—namely, DHCP Option 11 or 17 (more below).
- Second, once the bootstrap file is loaded, the target device attempts to log on to the PVS server.
Deploying a UEFI-based vDisk Image
Customers can convert an existing BIOS vDisk image or deploy a new UEFI-based vDisk.
To convert an existing BIOS image, customers can use the Image Portability Service or MBR2GPT (either by reverse imaging or mounting the vDisk on another VM) per the product documentation. Consolidate any vDisk versions to a merged base and defragment the vDisk first.
To deploy a new UEFI-based image, the image must be deployed with UEFI firmware enabled in the hypervisor (for instructions on achieving this with XenServer, click here. For other hypervisors, please refer to the vendor’s documentation). After installing the OS in UEFI mode, install the relevant hypervisor tools and PVS target device software. Overall, this should be straightforward.
Boot Method
The boot methods for UEFI are the same as BIOS, with the following differences:
- BDM - Separate BDM configurations for BIOS and UEFI devices are needed. Please note that PVS 2311+ does not support BIOS BDM.
-
DHCP Options Only - Continue specifying Options 66/67. However, BIOS and UEFI require different bootstrap filenames in Option 67 so separate DHCP Scopes will be needed. As mentioned earlier, either DHCP Option 11/17 is also necessary for UEFI. Use Option 11 if using the default login server communication port of 6910 and there are multiple PVS login servers. Use Option 17 to specify a non-default port, but remember that only a single PVS server can be defined and that specific formatting must be used. Use a load-balancing appliance or DNS round-robin to mitigate a potential single point of failure. To summarize:
- BIOS: Options 66, 67 (ardbp32.bin)
- UEFI: Options 66, 67 (pvsnbpx64.efi), and 11/17.
- PXE - DHCP Options 66 and 67 are not required (and you will not need separate DHCP scopes for BIOS and UEFI). The product documentation states, “The Citrix Provisioning PXE Server recognizes the architecture flag embedded in DHCP, then discovers and returns the appropriate bootstrap file name.” However, the UEFI bootstrap cannot provide the PVS logon servers, so specify DHCP Option 11/17. The good news is that if you have a mix of BIOS and UEFI target devices on a single network segment, you can enable PVS-based PXE and have DHCP Options 11/17 configured for all devices on that segment. BIOS devices will ignore Options 11/17, allowing BIOS and UEFI devices to run on the same network segment.
UEFI Target Devices and Device Collections
An easy way to migrate target devices from BIOS to UEFI is to build new UEFI targets in parallel and gradually migrate users over to the new target devices as the new UEFI targets are built. Separate PVS device collections should be created for BIOS and UEFI so their respective vDisks can be assigned. If you require re-using existing devices due to a lack of hardware capacity, additional planning will be necessary to validate any changes to the boot method (and/or network segmentation), as noted above.
Conclusion
To wrap things up, additional planning is required to deploy UEFI successfully. Keep in mind the following points to ease this transition:
- The PVS boot process has several steps, but it can be oversimplified by obtaining a bootstrap file and then obtaining the PVS login server.
- UEFI-based vDisks must be configured initially from a UEFI-based machine or converted from a BIOS-based vDisk. A vDisk can use BIOS or UEFI but cannot use both.
- If using DHCP Options, separate network segments will be required for BIOS and UEFI. If using PXE, a single network segment can be configured for both BIOS and UEFI. BDM will require the configuration of different hard drive partitions or ISO files for BIOS and UEFI.
- The easiest way to migrate target devices from BIOS to UEFI is to build in parallel. If attempting to convert existing devices, additional planning will be required to validate any changes in the boot method.
Happy provisioning!
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now