Guest Post by Trond Eirik Haavarstein – Author of The views expressed here are mine alone and have not been authorized by, and do not necessarily reflect the views of Citrix.

With every new release of Citrix Provisioning Services (PVS) we are challenged with the process of upgrading the Target Device Software on the Virtual Machines (VM). There are three options; you can use Reverse Image, Hyper-V Direct VHD Boot or XenServer Direct VHD Boot.

My favorite have always been using the Hyper-V Direct VHD Boot, because I’ve had mixed results and wasted too much time with Reverse Imaging. It’s also worth mention that Hyper-V is the fastest and easiest way to go. The only downside with Hyper-V is that not too many customers have them in production, so I normally have to bring the vDisk back and forth to my lab.

When I first looked at the blog post about XenServer Direct VHD Boot it seemed to me that it was too much hassle with SSH upload to the XenServer Storage Repository (SR). People also commented that the SSH upload/download was slow and time consuming.

Well to make the story short, I thought it would be worth testing the new XenConvert utility and PVS Imaging Wizard to get the image back and forth.

Important Notes: The  XenServer storage repository being used needs to support VHD so that would include a NFS share or EXT2/3 (Local SR, SAN, or iSCSI) SR partitions, not LVM.

Let’s get started :

  • Make a copy of the vDisk you would like to upgrade
  • Add the vDisk to your preferred vDisk store

For Windows XP and Server 2003:

  1. Mount the vDisk in the PVS Console
  2. Add /PVS|=2000 to the Boot.ini
  3. Unmount the vDisk

For Windows Vista, 7 and Server 2008:

  1. Boot a Virtual Machine (VM) with the new image in Private Mode
  2. Start – Run – bcdedit /set loadoptions “PV|=2000”
  3. Shutdown the VM

Download and install the latest XenConvert tool from to your preferred management server, e.g. the Provisioning Server itself.

Transfer the vDisk to the XenServer with XenConvert: 

From XenCenter change the properties of the imported VM with the proper network interface and set the Network to the top of the boot order.

Tip: Create a Snapshot of the VM to save time if something goes wrong

Start the VM and log on with the local Administrator account. From Add/Remove Programs uninstall Citrix Provisioning Services Target Device Software and restart the VM.

Mount the PVS56 ISO image and select Target Device Installation – Target Device Installation – Uncheck “Launch image wizard” – Do not restart.

For Windows XP and Server 2003:

  • Remove /PVS|=2000 from boot.ini
  • Restart the VM

Windows Vista, 7 and Server 2008:

  • Start – Run – bcdedit /deletevalue loadoptions
  • Restart the VM

Provisioning Services Image Wizard inside the VM:

Type in the proper information

You have two options : Create new vDisk or Use Existing vDisk

If you have any red text that indicates errors, select the AutoFit button

Type in the proper information

Select Optimize for Provisioning Services – OK – Finish – Yes

If the wizard fails just do another restart of the VM and launch the XenConvert utility manually. After the transfer is completed shutdown the VM. From the PVS Console copy and paste the vDisk properties from the previous vDisk and raise the build number. That’s it.

So here’s what I want you to do now:
In the comments below, please tell me what’s your favorite way of updating the PVS Target Device Software. Should Citrix come up with a better solution for this kind of updates?