Citrix Provisioning – Update vDisk

Last Modified: Apr 19, 2024 @ 4:39 am


This article applies to all 7.x versions of Citrix Provisioning, including 2402, LTSR 2203 CU4, LTSR 1912 CU8, and LTSR 7.15.45 (aka LTSR 7.15 CU9).

💡 = Recently Updated

Change Log

Updater Device

  1. Create a new Updater Target Device that is only used when you need to update a vDisk. You can create the Updater device manually or you can use the Citrix Virtual Desktops Setup Wizard.
  2. Put the Updater device in a new Device Collection. This is to avoid assigning the device to a Catalog in Studio. Users must not connect to an Updater device while it is powered on.
  3. Set the Updater device to boot from the Maintenance Type. This is used by the Versioning method of updating a vDisk.
  4. When adding the Updater device to Active Directory, be mindful of group policies. Sometimes it is helpful to apply the group policies to the Updater device so they are stored in the vDisk you are updating.
  5. An Updater device can only boot from one vDisk at a time but it can boot from any vDisk. If you need to do updates to multiple vDisks simultaneously, create more Updater devices.
  6. If you are using Enterprise Software Deployment tools (e.g., System Center Configuration Manager) to maintain a vDisk, keep the Updater device constantly booted to a Maintenance version so the ESD tool can push updates to it. This basically requires a separate Updater device for each vDisk.

Update a vDisk – Versioning Method

  1. In the Citrix Provisioning Console, right-click a Standard Mode vDisk, and click Versions.
  2. In the vDisk Versions window, click New.
  3. Notice that the Access is set to Maintenance. Click Done.
  4. If you look at the physical location where the vDisks are stored, you’ll see a new .avhdx file.
  5. Go to the properties of an Updater Target Device, and change the Type to Maintenance. You’ll use this Target Device to update the vDisk. Make sure this Target Device you are using for vDisk Updating is not in any Delivery Group so that users don’t accidentally connect to it when it is powered on.
  6. Of course this Target Device will need to be configured to use the vDisk you are updating.
  7. Power on the Updater Target Device.
  8. If you did not configure the DWORD registry value HKLM\Software\Citrix\ProvisioningServices\StreamProcess\SkipBootMenu to 1 on the Provisioning Servers, then you’ll see a boot menu.
  9. Login to your Updater Target Device. The Virtual Disk Status icon by the clock should indicate that the vDisk Mode is now Read/Write.
  10. Make any desired changes.
  11. The Citrix Provisioning Image Optimization tool disables Windows Update. To install Windows Updates, use the following script to enable Windows Update, install updates, then disable Windows Update –
  12. Before powering off the target device, run your sealing tasks. Run antivirus sealing tasks. See VDA > Antivirus for links to antivirus vendor articles.
  13. Citrix Blog Post Sealing Steps After Updating a vDisk contains a list of commands to seal an image for Citrix Provisioning.
  14. Base Image Script Framework (BIS-F) automates many sealing tasks. The script is configurable using Group Policy.
  15. Power off the target device so the vDisk is no longer being used.
  16. Go back to the Versions window for the vDisk.
  17. Highlight the version you just updated, and click Promote.
  18. Best practice is to promote it to Test first. Or you can go directly to Production if you’re confident that your updates won’t cause any problems. Note: if you select Immediate, it won’t take effect until the Target Devices are rebooted. For scheduled promotion, the Target Devices must be rebooted after the scheduled date and time.
  19. The Replication icon should have a warning icon on it indicating that you need to copy the files to the other Provisioning server.
  20. Only copy the .avhdx and .pvp files. Do not copy the .lok file.

  21. Another method of copying the vDisk files is by using Robocopy:
    Robocopy D:\vDisks\ \\pvs2\d$\vDisks *.vhd *.avhd *.pvp *.vhdx *.avhdx /b /mir /xf *.lok /xd WriteCache /xo
  22. Citrix Blog Post The vDisk Replicator Utility is finally finished! has a GUI utility script that can replicate vDisks between Citrix Provisioning Sites and between Citrix Provisioning Farms.

  23. Then click the Refresh button, and the warning icon should go away.
  24. Configure a Target Device to boot the Test vDisk Type. Then boot it.
  25. Once testing is complete, promote the vDisk version again.
  26. Immediate means it will take effect only after Target Devices are rebooted, whether immediately or later. Scheduled means the Target Device has to be rebooted after the scheduled date and time before it takes effect; if the Target Device has been rebooted before the scheduled date, then the older version is still in effect. Click OK.
  27. If you need to Revert, you can use the Revert button, or the drop-down on top of the window.

Merge Versions

  1. Citrix recommends no more than five .avhd files in the snapshot chain. To collapse the chain of .avhd files, you can Merge the versions. Don’t Merge until the files on both Provisioning servers are replicated.
  2. You can merge (Merged Updates) multiple .avhdx files into a single new .avhdx file that is linked to the original base file. Or you can merge (Merged Base) the original base, plus all of the .avhdx files into a new base .vhdx file, without any linked .avhdx files.
  3. The Merged Base process creates a whole new .vhdx file that is the same size or larger than the original base. After merging, replicate the merged file to both Provisioning Servers.

  4. Make sure there is no warning icon on the Replication button.
  5. If your merged version is currently in Test mode, then you can promote it to Production.
  6. After merging, you can delete older versions if you don’t need to revert to them.

Citrix CTX207112 Managing Provisioning Services VDisk Versions with VhdUtil Tool: CLI tool that can do the following outside of Citrix Provisioning Console:

  • dump header/footer
  • merge chain
  • rename chain

Expand vDisk VHD

To expand a vDisk file, create a Merged Base. Then use normal VHD expansion tools/methods.

One method is described below: (Commands in fixed width font)

  1. Open cmd or powershell as administrator
  2. diskpart
  3. select vdisk file=“<path to your visk>” (e.g. V:\store\my.vhd)
  4. list vdisk (you should now see your vdisk and the path)
  5. expand vdisk maximum=60000 (This is the size in megabytes of the size you want to extend, so 60000 is 60Gb)
  6. attach vdisk
  7. list disk
  8. list volume (take note of the Volume number of the your vdisk, you should see the old size)
  9. select volume 5 (or whatever volume number from list volume command)
  10. extend
  11. list volume (you should now see the size you want for your disk. This should also be seen in the Citrix Provisioning console)
  12. detach vdisk
  13. exit

Reverse Image – BCDEDIT Method

If you want to upgrade the Citrix Provisioning Target Device Software on a vDisk, and if your current Target Devices Software installation is 7.6 Update 1 or newer then you can simply install the new Target Device Software. No special steps required. However, if your Target Device software is 7.6 or older then you’ll need to Reverse Image as detailed in this section.

If you want to update the NIC driver (e.g., VMware Tools), then you can’t use the normal vDisk versioning process since NIC interruptions will break the connection between Target Device and vDisk. Instead, you must reverse image, which essentially disconnects the vDisk from Citrix Provisioning.

One method of reverse imaging is to boot directly from the vDisk VHD. All you need to do is copy the vDisk VHD/VHDX to a Windows machine’s local C: drive, run bcdedit to configure booting to the VHD/VHDX, reboot into the VHD/VHDX, make your changes, reboot back into the original Windows OS, copy the VHD/VHDX back to Citrix Provisioning and import it. Details can be found later in this section.

Instead of the BCDEDIT method, you can try one of these alternative reverse image methods:

  • Citrix Image Portability Service can take a VHD from a Citrix Provisioning (PVS) store and recreate the original vSphere image. 
  • Aaron Silber How to update VMware Tools without Reverse Imaging – The gist is to add an E1000 NIC, boot from that, upgrade VMware Tools, and then remove the E1000 NIC. CTA Nishith Gupta has detailed this process in VMware Tools In PVS Image.
  • The traditional method of reverse imaging is to use Citrix Provisioning Imaging (P2PVS.exe), or similar, to copy a vDisk to a local disk, boot from the local disk, make changes, and then run the Imaging Wizard again to copy the local disk back to a new vDisk. Select Volume to Volume. On the next page, select C: as source, and local disk as Destination. If you don’t see the C: drive as an option, then make sure your vDisk is in read/write mode (Private Image or Maintenance Version).
  • George Spiers PVS Reverse Image with VMware vCenter Converter. This article has troubleshooting steps if the reverse image won’t boot.
  • Jan Hendriks Citrix PVS Reverse Imaging with Windows Backup.

To use bcdedit to boot from directly from vDisk VHD (Microsoft TechNet Add a Native-Boot Virtual Hard Disk to the Boot Menu):

  1. In Citrix Provisioning Console, if using versioning, create a merged base.
  2. Copy the merged based vDisk (VHDX file) to any supported Windows machine. Note: the C: drive of the virtual machine must be large enough to contain a fully expanded VHDX file.
  3. Run the following command to export the current BCD configuration:
    bcdedit /export c:\bcdbackup

  4. Run the following command to copy the default BCD entry to a new entry. This outputs a GUID that you will need later.
    bcdedit /copy {default} /d "vhd boot (locate)"

  5. Run the following commands to set the new BCD entry to boot from the VHD file. Replace {guid} with the GUID outputted from the previous command. Include the braces.
    bcdedit /set {guid} device vhd=[locate]\MyvDisk.vhd
    bcdedit /set {guid} osdevice vhd=[locate]\MyvDisk.vhd

  6. Make sure you are connected to the console of the virtual machine.
  7. Restart the virtual machine.
  8. When the boot menu appears, select the VHD option. Note: if you see a blue screen, then you might have to enlarge your C: drive so the VHD file can be unpacked.
  9. Login to the virtual machine.
  10. Perform updates:
    1. Uninstall the Citrix Provisioning Target Device software.
    2. Upgrade VMware Tools.
    3. Reinstall Citrix Provisioning Target Device software. The Target Device software must be installed after VMware Tools is updated.
  11. When you are done making changes, reboot back into the regular operating system.

  12. Rename the updated VHD file to make it unique.
  13. Copy the updated VHD file to your Citrix Provisioning Store.
  14. Copy an existing .pvp file and paste it with the same name as your newly updated VHD.

  15. In the Citrix Provisioning Console, right-click the store, and click Add or Import Existing vDisk.
  16. Click Search.
  17. It should find the new vDisk. Click Add. Click OK.

  18. You can now assign the newly updated vDisk to your Target Devices.

Automatic Scheduled vDisk Update – SCCM

You can use the vDisk Update Management node (and Hosts node) in Citrix Provisioning Console to schedule an updater machine to power on, receive updates from System Center Configuration Manager, and power off. The new vDisk version can then be automatically promoted to Production, or you can leave it in Maintenance or Test mode and promote it manually.

See the following Citrix links for instructions:

Related Topics

251 thoughts on “Citrix Provisioning – Update vDisk”

  1. Carl,

    We are in the process of building a new Citrix infrastructure with CVAD 2203 LTSR. Our build contains 1 delivery controller and 2 provisioning servers, all on the same VLAN. New images have been created and imported into PVS and I am attempting to update the vDisk images via the versioning method. I have created maintenance VMs for each image, which are configured properly for maintenance mode. I then created new maintenance versions for each vDisk from the primary PVS server. Upon booting the maintenance VMs, they continually attempt to PXE boot from the secondary PVS server that does not contain the .avhdx file for the new vDisk version. I have checked that the reg entry “HKLM\SOFTWARE\Citrix\ProvisioningServices\StreamProcess\SkipRIMS” is set properly to a value of 1. The same goes for the entry for “SkipRIMSForPrivate”. Both the stream services and the PVS servers themselves have been restarted, but the boot behavior has not changed. Am I missing something? Any help is appreciated.

      1. Yes, they are both DWORDs and were actually created by default during the install process for 2203. Replication shows the base vDisk version fully replicated and the new maintenance version only on the primary server. The vDisk files reflect the same replication.

        After some investigation, it appears that this might be related to load balancing. If the load balance is lighter on the primary server, then the maintenance version boots as expected from that server. However, if the balance is heavier on the primary server, then the VMs will attempt to boot to the secondary server every time (which of course fails), even after multiple reboots. But unless I’m misunderstanding, the reg entry is supposed to prevent that behavior for maintenance versions, isn’t it?

  2. Does anyone know if you can take an non-persistent .iso build on old host Sandy Lake architecture and place it on a new host Cascade Lake architecture in maintenance mode to have the Windows 10 detect the new CPU architecture, and re-seal? As we are having some delay provisioning reconfigure costs on the hosts during deployment. Meaning all the .iso boot w PVS, VMware detects via EVC, does it change but this is occuring daily on all deployed VDIs built on older architecture. As although VMware boots via EVC, the OS is still delayed slightly on boot due to reconfigure, and the reconfigures have an operational cost of 1 on provisions, and hosts can only have 8 operational costs prior to starting to DRS and vmotion off the hosts. Powering on sets of 50+ VMs is causing some boot delays. Or atleast that is what we are seeing and since they are non-persistent all go thru the reconfigure each time on re-deployment. I would like to know if its possible for old image to be updated within the OS level/VMware level to align so it does have this inital overhead cost on boot. Or will all of these images need to be rebuilt from scratch on the new CPU architecture? TIA

  3. Carl,

    Do you know what may be causing this error: The task cannot be performed on active Devices. Shut down the Devices before attempting to perform the task.? I have red “X’s” on four older vdisk that have no active devices, but still getting the error when trying to delete them.

  4. Hi Carl,
    ever seen this issues?
    1) When trying to update with the “native boot method”, the virtual machine does not boot into the vhdx, though it is entered in bcdedit. The VM does enter into advanced reboot mode, where I can select to boot from vhd, but the os from within the vhdx does not boot. flickering a few times, the VM restarts into normal boot. Tried it with replacing my vhdx with a ms w10 eval vhd – works like a charm.
    2) using a non domain joined OS, I’m unable to moint a domain joined vhdx. Not even with disk mgmt (throwing an error) After joining the os to the domain, the vhdx can be mounted…

    I’ve hoped to clean some corruption this way (broken start menu, ntfs errors) instead of rebuilding the image


  5. Hi Carl,

    I have a question related to vDisk sizing and i do not find anywhere in Products documentation a direct answer.

    I have PVS image which is 90 BG size. (D:\ is 100 Gb). Servers are with 100 GB storage disk attached in Xen. 88GB RAM

    PVS vDisks is set to be Cached in device RAM, with overflow on harddisk (24576 RAM).

    Recently C disk started to get full on some servers, so i want to extend the partiotion.

    What i was wondering is – how much i could extend vDisk (C:\ partotion) with the current setup, withoot affecting the performance and should i change something elase appart from the vDisk size?

    Thanks in advance for your reply!


    1. You can expand the .vhdx file just like any other .vhdx file. The free space on the Target Devices won’t exceed the free space on the cache disk irrespective of the free space on the vDisk.

  6. Sorry could you please elaborate what i have to do? If possible step by step process please

    Thanks Carl in advance

    1. Sorry, I thought you were asking about MCS.

      For PVS, shut down all machines that are connected to the vDisk. You might have to right-click the vDisk and Manage Locks to remove them. Then you can open the Properties of the vDisk to change the memory.

  7. Hi

    May i know the process of RAM over flow setting process. Currently we have 64mb but i want to increase it to 2gb what is the step by step process to increase RAM overflow to Hard disk?

    1. There is a parameter called Writebackcachememorysize in New-ProvScheme but I don’t see it in Set-ProvScheme, which probably means that you need to recreate the catalog.

  8. After completing the vmware tools upgrade and re-install of Target Device software, shutting down and then trying to reboot into my original OS all I get is a black screen in the vmware console. I can boot back into the PVS image though. Sooooo I’m kinda stuck here unable to get to the completed vhdx image. Any help here?

  9. Hi Carl,

    Thanks much for wonderful explanation. I have a question though,
    There’s around 22GB free space on one of the golden images (which we created by performing cleanup after patching)but target devices are reflecting less than 10GB of space.

    All the target devices are rebooted with the new v disk still the same issue. What could be the cause, could you please help

  10. Hi Carl,
    First, thank you for all you do! I reference your site all the time and consider it a source of truth…. So. I have a question. I maintain multiple gold images requiring routine updating within a narrow timeframe. This has created a serious challenge to completing those updates while attending to other duties. 
    I was trained nearly a decade ago not to have more than one administrator working in the PVS Console at a time updating a gold image nor to attempt updating multiple gold images simultaneously for risk of instability issues. 
    Nowhere have I read that either of these is the case. 
    Based on your Updated Device section bullet point 5 above, it sounds like the answer to the second part of my question is Yes, I can update multiple vDisk gold images at the same time so long as I have as many updater target devices available as I have vDisks I intend to update.
    However, if I have a pool of PVS servers, can I be logged into the PVS Console on one PVS server updating one vDisk using its assigned updater target device while another administrator is logged into the PVS Console on a separate PVS server updating another vDisk using that vDisk’s assigned updater target device?
    Any clarification you can offer on this subject is sincerely appreciated!
    If you have already done so earlier, my apologies for not seeing that answer and for the duplicate question.

    1. You can have as many updater devices as you want.

      The challenge with multiple PVS consoles is remembering to click Refresh to see what other admins have already done.

      1. That’s likely what drove the reasoning behind the admin who trained me…if only one administrator is ever allowed in the PVS Console to manage a vDisk at any time, and only one of the PVS servers is used to do that work, then you never risk grand-scale consequences because one admin didn’t refresh first to see what the other admin was or had done already.

        We currently have 8 updater devices, 1 per managed gold image, so I’ll start doing image updates simultaneously whenever necessary now.

        Thanks for the clarification Carl!

  11. I am using PVS 7.15 CU4. We are looking to merge to base without affecting users but I’ve been told that if we do this while users are working, it copies over profiles, open files and user data into the merged image.

    So question is, if I merge to base going to a maintenance version is there any user data in the new merged version? Is it best to shut down any provisioned servers before merging to base?

    1. vDisks are read-only. All writes are stored in the target device cache, not on the PVS server.

      Merge base means take the latest read-only base, merge it with all subsequent read-only versions, and create a new read-only base. The original base is not affected. Target Device Caches are not included in the merging.

  12. I have a question relating to PVS – what if you wish to rename the computer name of an existing Citrix PVS VDA client?

    The machine is imported using a MAC address and PVS is managing the AD computer account password.
    It seems a computer name change may be invisible to PVS and needs to be updated in the console manually?

    Or does it count as a delete? Will the computer need to be deleted from AD using PVS console, then deleted from PVS console and re-added after the AD name change?

    I will check the machine catalog also to ensure if it dynamically updates.

    1. In Citrix Provisioning Console, right-click the Device, expand Active Directory, and remove it. Rename the Device. Then right-click the Device, expand Active Directory, and join it to the domain. After booting, you’ll have to add the new machine name to Catalog and Delivery Group.

  13. Hi Carl,

    I have a 200+ VDA created from within PVS / VMware template. Current client wants to upgrade the VDAs to 2016. What will be the best solution.
    1) Moved the new 2016 vdisk to the 2008 collection – So old 2008VDAs now boot from a 2016 Vdisk or
    2) Create new VDAs / Machine accounts etc from a 2016 template.
    3) Best solution if storage is also a consideration
    * Current VDAs do not have PVD


    1. It probably doesn’t matter, but you’ll want to test your new image before you cutover your production targets.

      1. Current image has been in testing for a while now so no issues. So even though the 2008 servers were built from a 2008 template, there will be no risk swapping the vdisk that was provisioned using different disk and memory size? Will there be AD implications?

        1. For memory, you’ll have to manually adjust each Target, or rebuild them.

          Otherwise, you’re just swapping out the disk, which should’t be a problem.

          PVS handling of AD is no different for 2016 vs 2008.

          1. “For memory, you’ll have to manually adjust each Target, or rebuild them.” You’ve just answered my question there. So might be better to avoid all the complications and just build new servers from a 2016 template via PVS then decomm the old ones after the switch over 😀

  14. Hi Carl,
    I accedently seald the main image with a “hard coded” ip configuration.
    I want to change main image to receive a DHCP address.
    Is it a problem (or not best practice) performing this change by versioning method or better to reverse image?


    1. If you the IP changes then you might lose the Citrix Provisioning connection and thus lose your disk. Reverse imaging avoids this problem.

      1. I actually did it without reverse imaging.
        It dissconect the vdisk and imidiatly reconnect it back. so that was fine.

        My question is – can i sleep well at night or could there be problems later on? 🙂

      2. Thanks Carl,
        I went ahead and changed the IP without reverse imaging and it went ok.
        Could theere be other problems as a result along the way?

  15. Carl,

    Is it necessary to uninstall and reinstall the PVS Target software around the VMTools update? Would a reinstall or repair of PVS Target software after the VMTools install suffice? If you uninstall PVS Target sw and then VMT causes a reboot the vm won’t boot, correct?

      1. Thanks, just for my own info I tried and received an error message that the Target SW could not be uninstalled while booted from PVS. Is there a specific/technical reason that the PVS Target SW needs uninstalling/reinstalling?

    1. Some IT Agents (e.g. antivirus) require each machine to have its own identity (e.g. GUID). Sealing tasks clear the IT Agent’s identity so a new identity can be generated when the Target Devices boot.

  16. Hey Carl,
    Have you experienced any issues while installing Windows updates in vDisks (via versioning)?
    We get lots of retries even though MTU has been set to 1472 and taskoffload options have been turned off on both target and server. PVS v1906 on both. Server 2016 on both.
    The amount of writes is rediculous, 29million KB in 36mins with 200+ retries. In standard mode retries are 0 for the images.
    We have a seperate vmware DVS switch group and network adapters are multihomed. Storage is via Compellent LUN that is set to write into Tier 1 disk and latency is under 10ms.
    Are their tweaks in PVS that we can use?
    Or is redirecting the SoftwareDistribution to the persistant disk worth a shot?

    Also both maintenance target and server are on the same switch and also on the same host. It was like this before I rebuilt the farm from 2012 R2 to 2016.

    Many thanks for your time, Peter.

  17. Hello, I have some Windows 2016 1607 and I’d like to notify when some updates are available but no download and no updates. AUOptions 2. If you have some tips….

  18. Hi Thanks for the tutorial, running PVS 7.17 and have a versioning problem that maintenance target device’s boots up on the test vdisk. i have
    1 Base disk for production device’s
    1 Test vdisk for Test Device’s
    Problem occurs then i create a new maintenance disk from the Base disk for further upgrades and changes, then my maintenance device machine boots on the Test disk even if Type is set to Maintenance

    1. I have add in som new info my self,
      version 5 is Test disk
      version 4 is Prod Base disk

      Then i mark disk 4 and create a new maintenance disk, it looks like it create the new from the test verion 5 instalead of 4, isnt it possible to have a test disk and after that create new disk based on lower disk version?

      1. To create branches, you can create a new Merged Base and then clone the Merged Base to a new vDisk.

  19. Hi Carl,

    So i used P2PVS.exe and copied the image to a local drive. When i try and boot from the local hard drive it says operating system not found. How does it know that the local disk is primary. WHat am i doing wrong


  20. Hello Carl,

    We are currently using Provisioning Services Console Version: We have dedicated NAS Store to manage the vdisk files.
    During Merge operation of one vDisk, once the Merged Base version is created we have to delete the previous Manual and Base version from the console. I did deleted thos versions from the console, but however those files does not get deleted from the Store.
    Even while deleting them manually from the NAS path, i am getting some prompt that file is currently in use in another program. However, I verified there is only one version Merged Base available for the respective vDisk in the console.\
    My question is, is there any recommended best practice to manage the vDisk versions in case we perform Merge operation for respective vDisk.
    In addition to this, any quick way to get these unused vDisk versions deleted from the Store Path.

  21. Hey Carl, as I understand it, there currently is no way inside of PVS itself to automatically update a vdisk, promote it, and then recycle all the targets that use that vdisk so they are at the newest release? You still have to manually reboot all the targets to the updated vdisk to obtain the latest version?

    1. There is a vDisk Update Management feature, but I don’t think I’ve seen it work anywhere.

      For RDSH, Citrix Studio can schedule an automatic reboot.

  22. Hi Carl, Need your advice in the reverse imaging. My Pvs version is 6.1 and there is a local write cache 10Gb disk is assigned. I would like to know whether its required to remove the local write cache during reverse imaging or I can just assign a local drive in the size of vdisk and start performing reverse imaging process.

    Thank you in advance.

    1. Depends on where the page file is located and if the cache disk interferes with booting to the new disk or not. If page file was manually put on D:, then after reverse imaging, I have to swap the disks so the new C: drive is first and cache disk is second.

  23. Hello Carl, We recently upgraded to PVS 1808 from 7.18. All seemed fine until we went to merge versions into a single vhd file. The machines now hang prior to booting. This seems to only impact 2012r2 machines, 2008r2 and 2016 Target machines have merged fine.

    The only workaround I could do was roll back to the versioned instance of the vdisk. Good thing I didn’t delete the versions. Kind of stuck here. Have you seen this issue? I really don’t want to have to reverse image as that can be very time consuming for each vdisk. I do have an open case with citrix. Let me know what you think.

    1. Maybe it’s a problem with that one chain of VHD files. Sometimes you have to use P2PVS.exe to copy it back to a .vmdk, then run the Imaging Wizard to copy it to a new vDisk.

  24. Hello Carl,
    Thank you for this article and your site. I have a question regarding SEP clients and PVS. I am currently implementing PVS in XenApp 7.15 LTSR on W2K16, and we are using SEP. This article from symantec describes the use of a “third vdisk” differencing disk option to overcome the shared image problem.

    Can you help me understand what this means (third vdisk) and how I would implement it?
    Any procedure docs that you know of would really help as I have struggled to find anything useful.

    Thanks again in advance .

  25. as a customer used the robocopy here mentioned in step 21: Updated scriptline would be

    Robocopy D:\vDisks\ \\pvs2\d$\vDisks *.vhd *.avhd *.pvp *.vhdx *.avhdx /b /mir /xf *.lok /xd WriteCache /xo

  26. What’s the process for upgrading Windows 10 builds? Do they need to be new images each time? Or go through the reverse image process with a conversion?

    1. If you’re not doing Layering, then cleanest is rebuild.

      But Reverse Image (e.g. Boot from VHD) might work.

  27. Hi Carl,

    Good Morning, Have a question.

    We have 20 vDisk versios, we dont have space to merge to single base image. what i would like to do, i will merge version 1 to 10, then it will create new version (not sure what version it will create), later i will merge remaining version with the recent merge version. does that make sense?


  28. Excellent work, Carl, on documenting the BCDEdit Method procedure. Thanks for sharing. It really helped in a situation where XA boxes on PVS (Hyper-V environment) were being force-fed optional Windows Updates while in Maintenance mode by an overzealous SCCM which in turn broke the connection to the Streaming Service during reboot. It was not possible to change the SCCM behavior, but the client now has a procedure for carrying out updates in spite of this hurdle, no small part thanks to you. 😉

    If I could suggest one minor tweak – It might be good to remind folks before step 8 in that section that depending of the size of the C drive on the host system to which the VHD/VHDX is copied, they may need to resize C to ensure it can accommodate file unpacking during boot (typically equal to the file size of the VHD/VHDX). Otherwise the piggy-backed OS will hang or error out on boot.

  29. Hi Carl:

    2 short questions RE vDisk Replication from one Store in one environment to another Store in another environment (using LOCAL storage):

    (1) When Replicating vDisks, should ALL of the Files associated with a particular vDisk be copied, except the .LOK file and the WriteCache? This would include the .XML and the .AVHDX files, right? (or Not…)

    (2) If we named our TEST environment vDisks with the word “TEST” in them, and now we’re ready to export those to our PROD environment, what’s the best way to get those File Names changed? Will simply right-clicking/Renaming work?

    Thanks as always for this great Site of yours.

  30. Hi Carl,

    We tried this method but we are always getting error as corrupted vdisk while trying to boot from vhd. Though the same vdisk is running in product just fine. Please suggest fix.


    1. It might actually be corrupted. One option is to boot a Target Device, and then use XenConvert (P2PVS.exe) to convert to a new hypervisor disk. That process might also detect corruption.

      1. Or it might be made with 16MB block. and you have to convert the VHD to 2MB block.. using resize or Cvhdmount.exe in pvs..

  31. Hi Carl

    I am trying to update the vDisk using the bcdedit methos you showed above. However after entering the commands and getting successful results, I reboot but am not getting the option to boot into the vhdx. I am using a virtual WIN 10 VM and my .vhdx is Windows Server 2012 R2. Any ideas?

  32. HI Carl
    What is your recommendation or Citrix recommendation; if there’s an edoc please include if possible. After how many differentials do you merge.

  33. Hi Carl,

    is it possible if the Xendesktop get unregistered state because of something wrong with Pvd ?
    My normal xendesktop doesnot show error “the personal vDisk cannot start” after logon.
    but my unregistered xendesktop show it.

    thank you for your answer

    1. What version?

      I see a couple threads at Citrix Discussions.

      Did you manually configure ListOfDDCs on the machine?

    2. I have a really long question, sorry. Running Xenapp 7.6.3000 LTSR. I am needing to update vmware tools on my gold images. I have separate Device Collections for gold images vs deployed vm’s. For example, 1 Device Collection is for Non-Prd Gold Image and a different Device Collection is all the VM’s that boot from that Gold image.

      Anytime I need to update the Gold image, create new Version in Maintemance and simply boot the dedicated VM of that Gold Image and make my changes and then shut it down. I then promote and replicate to the other PVS servers. Reboot VM’s and changes are live. If I look at the Access Mode, it says Standard and it’s grayed out so no changing to Private.

      I guess I still have to create a new VM and make it end up booting the .VHD from my Gold image and uninstalling PVS and update vmware tools and reinstall PVS and re-import back into PVS…..ETC??? I really wanted to use Aaron Silber’s article but alas, I could not change to Private Mode and I am guessing that is why the image would not boot once I changed the NIC to the E1000?

      1. That would be my guess. I usually do the BCDEDIT method of reverse image, which always creates a new vDisk anyways.

  34. I have a question if you want to totally swap out the base vdisk in a collect is there a way to do it via CLI no user the GUI

  35. Hi Carl, i try to update my vdisk with wsus. I created a updater vm and and have configured the vdisk and the Task with this vm. (vdisk Update Management). After starting the Task manually i get about 10 minutes the error: “Failed to connect to the remote Server” . i have configured the Vdisk with the local wsus gpo settings. Do you have any ideas? Thank you, David

  36. Thanks for the info on the bcdedit to update the PVS agent on a vhdx file. I had a case open with Citrix with our PVS deployments to upgrade from 7.9 to 7.12. The install would look like it finished, but then rolled back. Citrix told us to reverse image and it was nothing they could fix. The steps you outlined above worked very well with the upgrade and I was able to deploy the upgraded vhdx file after.

  37. How updating the vDisk affects the persistente write cache on the local disk ? Is the cache still valid after making considerable changes to the vDisk ?

      1. Actually we are still planning. Customer wants streamed Desktop form PVS to retain its OS level state forever (such as an installed App on the C drive). Is that even possible ?

        1. Personal vDisk is an option, but this option has been deprecated.

          If you really need persistent machines, then I much prefer full clones. Full clones are easy to backup/restore and move around. Can’t say the same for other linked clone options.

          1. Hi Carl,
            I want to implement personal vDisk in my env. using MCS. However it shows as a not recommened optinn. Why ?

  38. Hi Carl,
    When in test mode can you create a new image which puts it into maintenance mode then make your change reseal it then promote it to test?
    Does the previous test image also gets move to your 2nd test image?
    Then when happy with the test image, promote to production.
    Will it promote both test images into production?


    1. I believe you can only have one Maintenance, and one Test version per vDisk.

      If this is not sufficient for you, then you might have to stop using versioning and instead do full clones of the vDisks.

  39. Hi Carl

    maybe off topic here but i am wondering if i have two identical image in two sites in the same farm, if i create a new version on one site how to easily migrate that version to the second site? the second site are in full use on base disk but i wanted to add a new version and to be able to switch to that version without disrupting the users that are currently running the base disk, of course they would boot to the new version next time the vm is rebooted.


        1. Hi Carl

          i do not have selection of versions, just the whole vdisks, what will happen to the existing vdisk with the same name on the target site? and also will this impact running Desktops that are using that image?


  40. Dear carl

    Remove the vdisk virtual disk from the pvs console and re-import the vdisk to remind me that the virtual disk manifest file is true or invalid and can not be added to the virtual disk.

  41. Hi … I installed Microsoft Updates in Maintenance-Mode and promoted new version … Now Office 2010 starts a configuration window if the first user starts an office application (e.g. Word) … Once done it is OK for all users – but after restarting the server the first user will get it again (makes sence because the image is locked)

    Now i have to run Office once in maintenance mode to get rid of this configuration message but i know it could cause trouble with my KMS activation (had problems with the masterimage in private mode in the past) – now my question …

    Is it allowed to run Office applications (Word, Excel, etc.) in maintenance mode or will i run into KMS problems? Thx in advance for any helpful comments!

    1. Hi … this article answered my question … it is not allowed in private AND (!) maintenance mode –>

      Now my new question: How can i get rid of this configuration message window for the first office-user on the server? … cause must be an office update between 2017/03/25 and and 2017/05/11 … Sure – i could test every single office update and block the initiator … or rearm the image in private mode after starting Word … but maybe there is another trick – i don’t want to waste a rearm-count 🙂

      Thx in advance for any helpful comments!

  42. Hi Carl,
    Quick question, after removing/installing PVS Target Device software on my vhd (2008R2), do I need to re-run the Provisioning Services Imaging Wizard again (in the BCDEdit Method section)?

    1. Yes. At this point it’s just a regular VM. You run the Imaging Wizard to convert it to a new vDisk.

  43. Hi Guys.. I have been testing the PVS Auto-Update method and just cannot seem to get it working.

    After running the task, the server powers up and connects to SCCM, waits the hour, but then shuts down with the message

    No Updates – No Updates were Pending.
    This is after having 2 Deployment packages assigned to the collection.

    I have followed the steps in :

    Made sure that the image is a Base Image (No a manual update or Base + Updates)
    Have reinstalled the SCCM Agent.
    AD Account is deleted, and Device is removed from PVS

    Using PVS 7.6, on Vmware 5.5

    Anyone had this trouble?

  44. Hi Carl,

    I wanted to ask if this is possible when setting up PVS.

    I am currently running the VMs with Cache Device RAM with overflow on Hard Disk. With PVS is it designed to if my local cache is full does it fail over to File server?

    So the workflow would then be, use Cace Device RAM, Use Local Cache HDD and if this gets full, use File server?

    At the moment, I cant get it to fail to file server when local cache is full and the machine just crashes.


    1. By File server, do you mean some random server you can enter somewhere? Or do you mean “cache to server”, which means cache on the PvS server?

      1. Hi Carl,

        cache to server meaning PvS Server or a File server that you can set up under store properties. When you are setting the store path. Obviously the service account will need to have permissions to do this.

  45. Hi Carl

    i have PVS serup and have updated the VDA version on the Base disk. but i after assigning it to target devices. Users are not able to install any application on there personal desktops, the error is

    “Error opening the file for writing:
    C:\Program Files….”

    Any idea how to resolve this. i see the users are not part of local Admin group on those PCs, is this the reason ?

Leave a Reply to Carl Stalhood Cancel reply

Your email address will not be published. Required fields are marked *