Citrix Provisioning Master Device – Preparation

Last Modified: Jun 11, 2024 @ 6:01 am


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

💡 = Recently Updated

Change Log

General Preparation

  1. In Provisioning 2311 and newer, make sure the VDA machine is UEFI instead of BIOS. If not, see Converting BIOS vDisks to UEFI at Citrix Docs.
  2. Build the VDA like normal.
  3. Update VMware Tools.
  4. Join the machine to the domain.
  5. Chrome and Edge – CTX212545 PVS 7.6 CU1: Write cache getting filled up automatically recommends disabling Google Chrome automatic updates.


Ensure the pagefile is smaller than the cache disk. For example, if you allocate 20 GB of RAM to your Remote Desktop Session Host, and if the cache disk is only 15 GB, then Windows will have a default pagefile size of 20 GB and Citrix Provisioning will be unable to move it to the cache disk. This causes Citrix Provisioning to cache to server instead of caching to your local cache disk (or RAM).

The cache disk size for a session host is typically 15-20 GB. The cache disk size for a virtual desktop is typically 5 GB.

  1. Open System. In 2012 R2 and newer, you can right-click the Start button, and click System.
  2. For older versions of Windows, you can click Start, right-click the Computer icon, and click Properties. Or find System in the Control Panel.
  3. Click Advanced system settings.
  4. On the Advanced tab, click the top Settings button.
  5. On the Advanced tab, click Change.
  6. Either turn off the pagefile or set the pagefile to be smaller than the cache disk. Don’t leave it set to System managed size. Don’t forget to click the Set button. Click OK several times.

VMware ESXi/vSphere


E1000 is not supported – For VMware virtual machine, make sure the NIC is VMXNET3. E1000 is not supported and will affect performance.

View hidden adapters in Device Manager and delete any ghost VMXNET3 NICs.

  1. At the command prompt, type the following lines, pressing ENTER after each line
    set devmgr_show_nonpresent_devices=1
    start devmgmt.msc
  2. Open the View menu, and click Show hidden devices.
  3. Expand Network adapters, and look for ghost NICs (grayed out). If you see any, remove them.

SATA Controller

Citrix Provisioning does not support the SATA Controller that became available in ESXi virtual machine hardware Version 10. Change the CD/DVD Drive to IDE instead of SATA.

Then remove the SATA Controller.


Ensure that the ESXi hosts have NTP enabled.


After creating the vDisk, follow the instructions at Provisioning Services 6 Black Screen Issue to clear any DHCP address in the vDisk.

Slow Boot Times

Citrix Provisioning Target Devices in VMware ESX boot slow intermittently after upgrading the ESX hosts from 5.0 to 5.1.

Citrix CTX139498 Provisioning Services Target Devices Boot Slow in ESX 5.x: Use the following command to disable the NetQueue feature on the ESX hosts:

esxcli system settings kernel set -s netNetqueueEnabled -v FALSE


  1. Generation 2 support is available in Citrix Provisioning 7.8 and newer.
  2. If Generation 1, each Hyper-V Citrix Provisioning Target Device must have a Legacy network adapter. Legacy NIC supports Network Boot, while the Synthetic NIC does not.
  3. Give the Legacy Network Adapter a Static MAC address. If you leave it set to all zeros then VMM will generate one once the VM is deployed.
  4. When you reopen the virtual machine properties there will be a Static MAC address.
  5. Set the Action to take when the virtualization server stops to Turn off virtual machine. This prevents Hyper-V from creating a BIN file for each virtual machine.
  6. To set a VLAN, either create a Logical Network and Network Site.
  7. Or use Hyper-V Manager to set the VLAN on each virtual machine NIC.

Antivirus Best Practices

Citrix’s Recommended Antivirus Exclusions

Citrix Tech Zone: Endpoint Security, Antivirus, and Antimalware Best Practices.

Citrix Blog Post Citrix Recommended Antivirus Exclusions: the goal here is to provide you with a consolidated list of recommended antivirus exclusions for your Citrix virtualization environment focused on the key processes, folders, and files that we have seen cause issues in the field:

  • Set real-time scanning to scan local drives only and not network drives
  • Disable scan on boot
  • Remove any unnecessary antivirus related entries from the Run key
  • Exclude the pagefile(s) from being scanned
  • Exclude Windows event logs from being scanned
  • Exclude IIS log files from being scanned

See the Blog Post for exclusions for each Citrix component/product including StoreFront, VDA, Controller, and Provisioning. The Blog Post also has links to additional KB articles on antivirus.


Sophos Anti-Virus for Windows 2000+: incorporating current versions in a disk image, including for use with cloned virtual machines: This procedure will make sure that the produced target/cloned computers:

  • Get their distinct identity with Enterprise Console, under which they can be subsequently managed.
  • Have the desired version of Sophos Anti-Virus already installed and configured on the created image.


CTX217997 BSOD Error: “STOP 0x0000007E CVhdMp.sys with Kaspersky antivirus: install Kaspersky Light Agent using the /pINSTALLONPVS=1 switch.

Boot ISO

You can create a Citrix Provisioning boot ISO for your Target Devices. This is an alternative to PXE.

  1. On the Provisioning server, run Citrix Provisioning Boot Device Manager.
  2. In the Specify the Login Server page, add the IP addresses of Provisioning servers.
  3. Check the box next to Target device is UEFI firmware. Click Next.
  4. In the Set Options page, check the box next to Verbose Mode, and click Next.
  5. In the Burn the Boot Device page, do not click Burn. If you do, then you will have a very bad day. Instead, look in the Boot Device section, and change it to Citrix ISO Image Recorder. Then you can click Burn.
  6. Save the iso and upload it to a datastore or VMM library.
  7. You can now configure your Target Devices to boot from this ISO file.

Target Device Software Installation

The Target Device Software version must be the same or older than the Citrix Provisioning server version.

The install instructions for all Target Device versions 2402 and older are essentially the same.

Do the following on the master VDA you intend to convert to a vDisk. Try not to install this while connected using RDP or ICA since the installer will disconnect the NIC.

  1. Ghost NICs – Your Target Device might have ghost NICs. This is very likely to occur on Windows 7 and Windows 2008 R2 VMs when using VMXNet3. Follow CTX133188 Event ID 7026 – The following boot-start or system-start driver(s) failed to load: Bnistack to view hidden devices and remove ghost NICs.
  2. Go to the downloaded Citrix Provisioning and run PVS_Device_x64.exe.
  3. If you see a requirements window, then click Install to install CDF 64-bit and/or .NET Framework 4.8.
  4. In the Welcome to the Installation Wizard for Citrix Provisioning Target Device x64 page, click Next.
  5. In the License Agreement page, select I accept, and click Next.
  6. In the Customer Information page, click Next.
  7. In the Destination Folder page, click Next.
  8. In the Ready to Install the Program page, click Install.
  9. In the Installation Wizard Completed page click Finish.
  10. Click Yes if prompted to restart.
  11. The Imaging Wizard launches. First review the following tweaks. Then proceed to converting the Master Image to a vDisk.

Target Device Software Tweaks

Asynchronous I/O

Citrix Provisioning 1808 and newer supports Asynchronous I/O to improve performance. It’s disabled by default because it uses more memory. For details, see Improving performance with asynchronous I/O streaming at Citrix Docs.

In Citrix Provisioning 1912 and newer, you can enable Asynchronous IO in the PVS Console by editing the vDisk’s Properties.

Prevent Drive for Write Cache

From CTX218221 How to manually assign PVS write cache disk: The driver that determines which partition to place the local cache searches for a file named: {9E9023A4-7674-41be-8D71-B6C9158313EF}.VDESK.VOL.GUID in the root directory. If the file is found it will not place the write cache on that disk.

Excessive Retries

If VMware vSphere, make sure the NIC is VMXNET3.

Cache Disk Initialization Timeout

From Citrix Knowledgebase article – Write Cache Set to Provisioning Services Target Device Falls Back to Server: we have seen that it may take longer for the drives to initialize and by increasing the time and the number of retries the local hard drive can be accessed.  You can increase this by using the following registry keys:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\bnistack\parameters
    • WcHDInitRetryNumber (DWORD) = 50-200 default is 150 I would set this to 200
    • WcHDInitRetryIntervalMs (DWORD) = 50-500 default 100 number of ms to wait between retries, I would bump this one up to 300-500

Target Device Time Zone

CTX200188 Citrix Provisioning Services 6.1.21 and Citrix Provisioning Service 7.1.3 Target Time Zone Changes: the target devices request the time zone information from the Citrix Provisioning Server at boot time and set the time zone to the connected Citrix Provisioning server. If the time zone has a successful process, they execute the following command:
w32tm /resync /nowait

To disable the target device from using the time zone of the Citrix Provisioning server, set the following registry key in the vDisk image. The values must be modified in the registry of the master image to take effect during boot time.

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Bndevice\Parameters
    • DisableTimeZone (DWORD) = 1

Hide Citrix Provisioning Icon


From Jack Cobben Hide Virtual Disk Tray Icon: Add the reg value below:

  • HKLM\Software\Citrix\ProvisioningServices\StatusTray
    • ShowIcon (DWORD) = 0

This however will disable to all users, even Admins. Solution: Apply the HKCU key below based on Group membership (Group Policy Preferences > Item Level Targeting):

  • HKEY_CURRENT_USER\SOFTWARE\Citrix\ProvisioningServices\StatusTray
    • ShowIcon (DWORD) = 0

Once that is in place the icon will go away.

Related Pages

224 thoughts on “Citrix Provisioning Master Device – Preparation”

  1. Hi Carl,

    Just need clarification about master target and page file placement. On the master target we have a C and D drive. What is best practice for setting up page file as you say it gets moved to cache disk?
    I was going to set it to D drive but then what would that mean for all the target devices that will boot off this vdisk


    1. I leave it on C:. PVS will move it to D: automatically. By leaving it on C:, you can reverse image without getting any pagefile errors due to missing D: drive.

      1. Thanks for the reply. So if i leave it on C and then copy the image to pVs the page file will then be part of the streamed image wont it?.

        1. No. The Target Device Software moves the pagefile to D:. In other words, it ignores the one in the image and instead creates a new on on D: drive.

      2. Hi Carl,
        Someone below had the same question, have you seen this work with Windows server 2019, I’m trying a lot but it won’t work, PVS is not moving the pagefile to the first writeable disk (D:). Same setup with Windows 2016 works fine… Looks like PVS is not 2019 ready?

  2. Hi Carl,
    During the PXE boot Image Capturing, Snapshot is failing due to this Error

    “Failed to Discover 1 of 2 Volume on the Destination Disk”

    We have enabled the automount enable via CMD

  3. Hi Carl,

    Thanks for another great article!

    When you say ‘The cache disk size for a session host is typically 15-20 GB’, would that also cover a Server 2016 session host with 32GB RAM running average user workloads (roughly 15-20 users)?

    I understand newer operating systems such as Windows 10 and Server 2016 require lower page file sizes, but most of the recommendations I see are mainly just for single user devices. For example, the following site states 4GB is enough for a single device but does not go into details for RDS servers.

    Do you have any page file calculations for Session Host servers?


    1. It’s more important to have enough space for C:\Users (profiles). Otherwise, pagefile is only used if users need more RAM than you have allocated to the VM.

      1. We have plenty of storage for profiles and also plenty of RAM for streamed images and write cache (forgot to mention we are using PVS with streamed to RAM and overflow to HDD).

        We will run with 15GB for the moment and monitor the memory-to-committed bytes performance counters

  4. Hi Carl,

    I have problem when create , revert and merge vDisk version:
    VHD Library: Differencing VHD Unique ID (UUID) differs to parent VHD Unique ID. Error number 0xE0060020.

    Could you please advise?

    Thank you!

  5. Carl, I have some question maybe you can update us on here?

    Question 1 has 3 pieces

    Does Ingmar Verheij optimzite endpoint still apply?
    Looks like it was popular 5-6 years ago. He hasn’t responded since 2014
    With Newer version of PVS does some settings really apply?
    Do you run these in PROD Environments?

    Question 2
    In this article Trentent Tye said “Something to reconsider is enabling RSS
    PVS is traffic heavy. Without RSS it could be artificially limited.”
    Is disabling of RSS still needed?

    Question 3
    In the Citrix Discussion, the guy asked about Is it still best practice to disable TCP Offload for PVS 7.7?
    I see you sent him a link that is Citrix PVS 6.x
    Does Citrix PVS 6.x Best practice really apply to 7.x?

    1. After researching…. my opinions are..

      I would say done use the Verheij optimzite script. Its old and it applies to older technology.
      I would say disable RSS on VMware. Not on XenServer, HyperV.
      Also here it talks about the RSS does. Its sounds good but it says
      “virtual RSS is the magic word and an option in the configuration of the network adapter. You can check If it is active by using Powershell (PoSh). Either with Get-SmbServerNetworkInterface (Get-SmbClientNetworkInterface) or with Get-NetAdapterRSS and returns “true” or “false” as value. When using VMWare the default answer is will be “false” and therefore not active. With Hyper-V and XenServer the return value is “true” and therefore active.

      Citrix confirmed this is old and does not apply to 7.x
      If you use it (then it would break things that 7.x does that 6.x didn’t)

      Use this for 7.x
      This as well

  6. Hi Carl

    It was suggested not to install “SVGA” driver when installing “VMware Tools” on Windows-7.
    Does this also applies to windows-10.


  7. Hello Carl.
    As allways excellent post.
    I have a doubt, I have a PVS Farm 7.7, but now I´am creating a new vDisk but I installed PVS agent 7.15 LSTR. the vDisk is al ready created, but when I boot the vDisk on a target device, there are a lot of retries.
    Do you thing the problem is the version of the Farm and the PVS agent? or there are somtinhg I can apply?

    1. The PVS Server must be the same version or newer than the Target Device software. You can’t upgrade the Target Device software before upgrading the PVS Server software.

      1. what about the VDA? Can I install 7.18 VDA on XenDesktop servers with 7.15 (without cumulative update, I have a slower USB transfer on existing win7 and I am planning to try if it fixes on win10 with newer VDA but same version of PVS target as current server version, that way I don’t have to reverse image the new Win10 image, however, if the primary problem does not solve then I may have upgrade all my production server from 7.15 to 7.17 or at least CU3.

        I did not get slowness on my lab win10 which was build on 7.17 xendesktop with same Xenserver 7.6. Which leads me to believe either it is policy issue, VDA issue or OS issue.

        1. Are you asking if you can in-place upgrade a VDA? Certainly. Note that putting 7.18 VDA in 7.15 LTSR farm violates LTSR compliance.

          VDA version is unrelated to PVS Target Device version. They can be any mix of versions, but usually Citrix prefers you mix LTSR PVS with LTSR VDA.

    1. It probably wouldn’t hurt anything.

      But with 7.8, I’d probably upgrade to 7.15.2 before I do too much troubleshooting.

  8. Hi Carl,

    I built win 8.1 vdisk PVS image. When its trying to boot from network its getting error “Your PC ran into a problem and needs to restart. If you’d like to know more, you can search online later for this error: SYSTEM_THREAD_EXCEPTION_NOT_HANDLED(CVhdMp.sys)”

        1. Thnk you for your response Carl.

          PVS software versionis 7.6
          Hypervisor – VMware 6.0

          My senior engineer can build and run without any issues in the same environment. I am alone facing this issue.

    1. I am facing same issue. Its windows10 and PVS 7.15 CU1. i have created Vdisk perfectly. no error message. but when I use any TD to stream Vdisk. I am getting same error. what could be fix.

        1. Hey Vijay, I was just dealing with this in my environment. The fix seemed to be to remove ALL ghost devices from device manager.

          Download this script, run powershell as an admin, run ‘set-executionpolicy -executionpolicy unrestricted’ and finally run the script. Seemed to fix the issues for me.

  9. Hi,
    Very helpful document.
    Regarding settings like DisableTaskOffload (DWORD) = 1, are these endpoint optimizations useful for MCS as well or just PVS?

  10. HI Carl,

    Thanks for the excellent article , we have a PVS 7.8 Environment with 2 2012 R2 PVS Servers.We have created a 2008R2 master image with Cache Type as Cache in Device RAM with Overflow in Hard Disk and set the max RAM size as 4096 MB .The target device has 8vcpu and 32GB RAM.We have a separate Write Cache Drive of 50GB .The enviornment is working fine , however,we have been noticing excessive retires on some of our Target devices and also performance lags on these machines. Network offloading is configured for the Image. Can you please help with what should ideally be the size of the MAX RAM defined for the Standard image and how does it affect the Performance of the machines.

    Once Again , thanks for your help.


    1. RAM Cache is primarily a storage optimization. It writes to RAM instead of the cache disk, which is usually stored on a storage device that is local to the VM (e.g. .vmdk file on a SAN LUN).

      What is your hypervisor?

  11. Hi Carl,
    I need your help.
    I am preparing PVS master image :
    Step1: I build windows2008 R2 servers with XenApp6.5 and required software (Created 2 disk C and D)
    Step2: I created vdisk in PVS server console
    Step3 :I created device in device collection and attached V-disk to it
    Step4: Then I changed device boot option from hard disk
    Step5 : Installed PVS target on server
    Step6: Again reboot the server through PXE boot
    When I check attached v disk in task bar say it says disk in inactive , could you please guide me how can I fix this problem.

      1. Sorry for late reply , Yes its says but I am booting it from hard disk and I have to convert c drive content to the v-disk but vdisk is inactive

        1. Any firewall between target and Provisioning Services server? It’s possible that the Target Device software agent cannot communicate with PVS to note if the vDisk is attached or not. NIC drivers can cause this problem. Security software. Etc.

  12. “The workaround for excessive retries in PVS 7.6 is to add the following registry key in the target device to reduce the number of threads used:
    IosRequestThreads (DWORD) = try 2 and if the retries persist try 1”

    That Key does not exist. Shouldn’t it be CurrentControlSet not System? Or shall I create that Key manually?

  13. I have a problem with the image boot. I prepared a new windows 10 image and the PVS server is new with 7.15. The Hypervisor also upgraded to ESX 6.5 version. Now when I try to boot the captured image to a VM, i get the error Error: Access Denied Streaming Aborted

    1. Is your PVS streaming service running as a service account? Is it a local admin? Does it have access to the vDisk files?

  14. Hello Carl:

    For ram cache with overflow to disk, do you recommend putting page file on default C drive with static settings , I have lots of memory in the host or would you rather prefer page file in D drive which is carved from SAN

    1. On C: drive with size fixed to be smaller than cache disk. Provisioning Services will move the pagefile to the cache disk automatically.

  15. Hi Carl. We have been asked to provide different service models for our VDI images; XenDesktop 7.13 with Windows 7 SP1.


    We know we need to boot the image in private mode or use versioning for the new hardware. Do you know if we could simply boot the image on the 4 vCPU image and that would not detect new hardware for the 3 and 2 vCPU systems? We know the opposite (booting the 2 vCPU system on 3/4 vCPU results in new hardware detection)

    Trying to streamline the image management process

  16. Hi Carl,
    When in PVS7.8 target device and vdisk version is in maintenance mode , then RDP console is nott working for Target device, Its’s user logon gets disabled and only we can take console from vmware.
    Is there any fix for this?

      1. My first thought is to try PvS 7.15, but that would require you to upgrade the PvS Servers first. You should be keeping them upgraded anyways, since you’re on Current Release.

        What OS are your targets? Does it work if you reverse image and remove the Target Device software? Need to isolate where the problem is.

        When did the problem start happening? After a Windows patch?

  17. Hello Carl,

    After installing PVS target Device software ( 7.15) on Windows 2016 server, I am not able to RDP the server. I have check the registry entries, RDP settings, telnet and everything seems to be correct.

    1. VDA would block non-administrators from connecting using RDP, but target device software shouldn’t have any affect. I assume the machine is still on the network (can ping it)?

      1. Hello Carl,

        Thanks for your response. The machine is on network, I am able to ping it, I am able to telnet on 3389. The user is administrator on the machine. Interesting thing is , If I stream the image, and launch Citrix session, I am able to connect to it. I forgot to mention earlier that I ran Optimize endpoint script by Ingmar Verheij.

    1. Depends on when you convert to a vDisk.

      I don’t think there’s any dependency between the two, since VDA doesn’t affect the NIC.

  18. Hello Carl,

    I have a PVS 7.15 farm with two PVS servers running on Windows Server 2012 R2. I have a Hyper-V 2016 cluster and have created a vDisk from a Windows Server 2016 master image. I created a Gen-2 target device by following instructions from

    I am using BDM iso to boot the Gen-2 target devices.

    No matter whether I enable Hyper-V secure boot with correct MicrosoftUEFICertificateAuthority secure boot template or I disable secure boot, the target device does not boot, instead the process stops at the the early booting phase. This process used to work without issues in a previous Hyper-V 2012 R2 cluster with 2012 R2 vDisks. Any ideas?

  19. Hello Carl,

    I have PVS 7.15 farm and Hyper-V 2016 and running the Imaging Wizard on a Windows Server 2016 master image. Since I dont have any DHCP in place, PXE boot is not an option, so I am using BDM boot where I provide the PVS/DNS and master image IP addresses statically in the BDM iso. When booting the master image from DVD drive howerver (with boot iso attached) I always get the “Imaging Wizard did not restart” error. This did not occur in 2012 R2 master images with PVS 7.14. There are not hidden NICs in my master image.

    Any ideas?

    1. Turns out the problem lied with master image VM secure boot being enabled in Hyper-V. As per Citrix, this should be supported with Hyper-V 2016, in this practical scenario however it seems it is still not supported.

  20. Carl,

    Very informative site. Use your site for most of the configurations and Citrix related stuff. Have a query regd my current environment.

    Environment Info:
    1) XenApp 6.5
    2) PVS 7.8

    We have published a Desktop for end users which is supported by 40 servers in the backend. These 40 servers are streamed through PVS. Write Cache is set to Local Hard Disk. We find that very often the Write Cache disk gets full. We have allocated 50 GB. Initially we thought that this was due to the number of versions for the disk and this was merged. But we still keep getting the Write Cache full alerts. Any further configuration changes that we need to make to have this optimized. Also we have made sure the AV logs are not redirected to this cache.

    1. Is it vdiskcache file that’s consuming the space?

      You’ll probably have to run procmon or similar to see what’s being written to the disk. Configure the Filter with Category = Write.

      1. Yes Carl. Its the vDisk file that is consuming the space. Noticed that the file is growing exponentially. Let me try with Procmon and revert with the details. Thank you for your quick response.

        1. Nathan, Carl,

          I too am seeing this behaviour. My vdiskdif file is filling the drive and causing my sessionhost to hang and go into unregistered state. I have an open case with Citrix but honestly, it has been a waste of my time. My support engineer is guessing. No logs, no tools, just a guess. 🙁

          Please let me know what you find.

          PS Carl, your site is my go to for all configuration questions. Thank you for spending the time to spread your knowledge

          1. Hi Nathan / Ryan,

            I had the same issue in my infra . Cache disk will fill rapidly all of sudden and server will go for BSOD. After a rewind of basic checks, I found out that is because of low % of Paging file. Once I corrected those values, servers are happily running with same amount of cache disk for more than 40 days and keep counting.

  21. Hi Carl, I Was wondering if you would be able to advise me on the following. I have read the above and was looking at the HyperV config. We use HyperV with Failover Clustering and SCVMM 2012 R2 (for all). We can deploy the VDI’s to it. But often when booting (we use the Bootiso) it just hangs on the Starting Windows (7 64 bit). When it does work it takes about 45 seconds to finally show the Windows Colors, but when it doesnt it just hangs there for ever and never works. After a few reboots it finally works. I have noticed very little network traffic on the DDS server during the boot when it doesnt work, and when it does, only about 20-30 mbit max.

    Do you have any recommendations?

  22. Regarding PVS antivirus settings for XenApp hosted shared desktop targets in standard mode with 15gb RAM cache that never spills over to vdiskdif.vhdx. With recommended exclusions in place and all writes remaining in RAM cache, aren’t we just scanning a read-only disk? By policy, we need to run antivirus on the targets, but I began to wonder whether it really serves any purpose. Any thoughts appreciated.

    1. Antivirus is usually a security or regulatory requirement, even if antivirus serves no purpose other than consuming hardware resources. 🙂

    2. Hi Carl, This does not seems to work on Citrix 7.13


      “ShowIcon” (DWORD) = 0

      Have you tried this on Citrix 7.13. I need to hide status tray from the gold image itself so it is not visible to any users. I dont want to create it in HKEY_CURRENT_USER. Just for test when I created entry in HKEY_CURRENT_USER it works. I need help set it up in HKLM key

  23. Hi Carl, I have a VDI Desktop 16gb ram – 2 cpu – 10GB wbc which 512mb write cache in pvs – I notice control up shows that the write cach disc D: is getting used up quickly, should Increase it to 512mb to 1024mb?

    Is it also worth running a defrag?

    1. How big is the pagefile? You can shrink the pagefile.

      Increasing RAM cache should reduce disk cache.

        1. So the .vdiskcache file is 10 GB?

          I’ve seen security software cause files to be modified and added to the cache.

          1. Hi Carl

            All Antivirus has been excluded for pagefile etc

            I am looking at one machine and have seen the vdiskdif.vhdx to be almost 9GB

            Mine is the same exact config except mine is PvD desktop but the wbc is 4096kb

      1. Page file on C: set to none and D: set to 256

        Whats an ideal setup for a non-persistent or persistent vdi windows 7? We use heavy market data apps so they running with 2 cpu and 16gb.

  24. Hi Carl,

    With master images, are you allowed to copy them again and re-join it to AD via PVS? We do this to save time creating a brand new image, but will I need to run any sysprep? Or does it not matter…. I read on citrix – if using PVS do not sysprep image but as this is a copied image should this still be fine?

    So to create a brand new image, I copy a vhd to new store, import it and join to AD, then run xendesktop wizard to do the rest…. I hope this is fine?

      1. Hi Carl
        PVS and targets (up to version 7.16) do not support IPV6 communication still, so no need to keep IPV6 in this scenario

  25. Very useful, as usual. Question: in the past, I used to install hypervisor tools, then PVS Target Device and only after I would install VDA. By the steps above, I understand now you can install PVS Target Device as the last part? Is this something related to the changes that don’t require disconnection of network card in order to update target device or nothing related?

    1. Does VDA affect the NIC? Target Device software should be installed after all other NIC affecting software.

  26. Unfortunately I still receive the warning eventhough the hotfix is installed. Can the message be ignored?


  27. Great articles, Carl. I have run into a problem as I get the “Failed to Convert! error after attempting to convert the vDisk. I believe I have things set up OK and have tried this twice, same result. All good up until this. Does this clue help to explain what I’m missing?

    Here is part of the log:
    Gathering Volume Shadow Copy Writer metadata…
    Ensuring shadow storage association…
    Getting shadow storage associations…
    Found 0 shadow storage associations for volume \\?\Volume{8e6a3e7e-0000-0000-0000-100000000000}\.
    Adding shadow storage association…
    Adding volume \\?\Volume{8e6a3e7e-0000-0000-0000-100000000000}\ to snapshot…
    Ensuring shadow storage association…
    Getting shadow storage associations…
    Found 0 shadow storage associations for volume \\?\Volume{8e6a3e7e-0000-0000-0000-501f00000000}\.
    Adding shadow storage association…
    Adding volume \\?\Volume{8e6a3e7e-0000-0000-0000-501f00000000}\ to snapshot…
    Preparing for backup…
    Gathering writer status…
    Committing shadow copies…
    Gathering writer status…
    Failed to read registry value \??\Volume{000169b1-0000-0000-0000-501f00000000} from SYSTEM\MountedDevices. The system cannot find the file specified. (0x00000002)


      1. Hi, I´m using Windows 10 version 2004 compilation 19041.1706 with PvS 7.1 and I have the same situation…

        I get the “Failed to Convert! error after attempting to convert the vDisk. I believe I have things set up OK and have tried this twice, same result. All good up until this. Does this clue help to explain what I’m missing?

        Can you help me?

  28. Hi Carl

    Since we already have the required DHCP Options configured for another System, I opted using “boot ISO”. However I am not getting through “Download tsbbdm.bin x.x.x.x _ failed.

    I have all required ports opened on the PVS and I only have a single Server.

    Anywhere else I should check?


      1. Thanks Thouhgt I already had it opened, but unfortunately it wasn’t.

        I am now getting “Login request time out”. I’ve checked “bootstrap” configuration, the time out are set to 5000 and 30000 respectively.

  29. Terrific site.

    I have multiple Citrix Device Collections that have different workloads. I have images that have 4GB, 6GB and 10GB cache RAM. Not sure if I have undersized\oversized the cache RAM.

    Is there a way to determine the correct size of the cache RAM for “cache in device RAM with overflow on hard disk”?

    Is there a way to determine how much of the vm’s RAM is utilized by the PVS cache RAM (if it doesn’t overflow to disk)?

  30. I am confused about “cache” and pagefile… I am setting up 7.8 I have an a server with 32 gigs of ram, no C: drive and a 15 gig D: drive where I hardcode an 8 gig pagefile and the event logs. On the console, I have option, cache in device ram with overflow on hard disk.. The default is 64 MEGs….I have it set to 512 meg. I am not sure the amount to put in there.? Sorry for the dumb question, but this cache is different than the pagefile? I got confused reading the beginning of this. And I have been trying to find an explanation on this. When I turn it on, It shows in VMconsole, host mem 5 gig.. guest mem% 75 to 95 %… Then it starts slowly dropping That is with no users logged in just starting it up and letting it sit there.. If I log a user in, the guestmem % goes up a minute then drops… The other day I watched it drop to 0 percent after 10 minutes with 1 user logged in. Generally our handbuilt virtual Citrix servers with a full load of people working on them say 15 to 25%. I am worried about that thing hopping up to 95 percent and staying there for 10 minutes… Any help? PVS server has 16 GIGs of ram on it. Right now with 1 user logged in doing nothing 15 minutes after boot it is sitting at 3 % and host memory jumped to 7 gig adding the user but I opened a couple of apps.

    1. Windows cache and PvS cache are different. When a machine makes changes to the files, PvS needs to write those changes somewhere. With PvS memory cache, it writes the changes to memory. If PvS memory cache is full, it writes them to disk.

      Windows has both memory for apps, and memory caching for files. Memory for apps overflows to the pagefile. Memory caching for files will use whatever memory is not being used by applications.

    1. If pagefile is on C:, then PvS automatically moves to the write cache disk. If pagefile is on a different disk, then PvS should leave it on that disk.

      1. Yes, it should be correct. However we see this might not work in PVS 1808 and windows server 2019… Have you seen it ?

  31. Hi Carl

    Thanks for the details.

    Can we have PVS server in ESX 5.5 where as all streamed worker servers(750 in total, 600 W2K3, 100 W2k8 R2, 50 W2K12 R2) on HyperV 2012 R2? Currently we are streaming worker servers with HyperV legacy NIC. Will there be any problem with Cross platform infrastructure?

    1. I’m not aware of any restriction on that configuration. There’s no real connection to the hypervisor other than the drivers inside the vDisks and the hypervisor connection when creating more VMs. The PvS servers themselves have no awareness of the hypervisor they run on. The only consideration is PXE if they are on separate networks.

  32. Hi Carl,

    I am unable to image a new Win7 generation 1 VM as I getting. imaging wizard did not restart error after i changed the VM boot to Network post 1st reboot. Getting event ID 7026 The following boot start or network driver failed to load: bnistack. VM is virtualized on Hyper-V and using SCVMM 2012 to create VMs.

    Any Help ?

  33. Carl any recommendations on SCCM and 2012R2 for the master and worker servers? 2008 seems to work fine, been having issues with 2012.

    1. What specific issue? You generally don’t want to push applications or software updates to non-persistent machines.

  34. Dear Carl, Xendesktop Wizard creates vms with automatic mac addresses (instead of manual) on vsphere, do you think this is a problem, lets say i migrate the vdis to another esx-host and the mac changes!?

    1. Mac won’t change unless you move it to another VCenter. Hyperv has the MAC change problem but I almost never see it on vSphere.

  35. Finishing up a deployment and just noticed that the on XA server, which is 2012 R2 has a notification that maintenance is running.

    Did a little research and seems like this is an automatic task that runs, but in this type of environment is it really necessary to have that enabled? I would think not, and doesn’t seem like it will break anything if disabled.

    Wanted to see what your opinion was on this?

    1. There are various optimization guides you’re welcome to follow. However, I’ve heard that many of them only make minor improvements to performance or density.

  36. Hi,

    Our vDisk is using standard mode and caches on device’s Hard Disk. Where should I be setting the pagefile for best performance?

    1. Leave it on C: drive and PvS will move it to the cache disk automatically, assuming there’s enough disk space.

  37. Hi Carl, I’m just about to do my first 7.6 deployment, so have been doping some prep reading etc. One thing that stands out to me is there is no mention of the “Prepare Server For Imaging or Provisioning” process that you had to launch from the Roles Manager in XA 6.5.

    Is this now taken care of by the Imaging Wizard?

        1. I’m not aware of any document. When installing the VDA, there’s the option to create a master image. When you use PvS or MCS to clone the image, the components handle registration automatically.

  38. Hi Carl, thanks for all the very helpful info. Why do you recommend the vda Installation directly in the vdisk after PVS Target?

    Thanks a lot.

    1. I’m not sure it matters. Sometimes I fully build a VDA machine and only later convert it to PvS. Other times I convert to PvS as soon as possible. There’s no specific install order for TD Software vs VDA.

  39. Carl,
    What is your preferred option PXE boot or ISO? ISO obviously boots up quicker than PXE. I’m interested to know what your thoughts are on the two options.


    1. If everything’s on one VLAN then PXE is easier. If not, then need ISO or BDM. The XenDesktop Setup Wizard configures BDM for you.

      1. Carl,
        Thanks for the info and this article. Do you know if one might perform better or if Citrix recommends one over the other?

        1. I’m not aware of any performance difference. Once the boostrap is loaded they should be the same.

          The simplicity of PXE is generally recommended since it defeats VMware’s accusations of Citrix’s complexity. But it’s not always practical.

  40. Carl,

    Excellent Documentation. One thing I added was a Powershell script to mine if you desire to leave al of your machines powered up:

    Set-BrokerDesktopGroup “Desktop Group Name” -PeakBufferSizePercent 100
    Set-BrokerDesktopGroup “Desktop Group Name” -OffPeakBufferSizePercent 100

  41. Carl,

    Excellent guide. Any workaround for the Windows 7 Target Device installation and VMXNet3 error ?The referenced KB2550978 has been outdated/replaced with new updates. Removing the VMXNet3 and adding E1000 does not solve the problem as well.

  42. VERY helpful site, thanks!

    Small remark, hiding the PVS icon on a user level should be done with following registry key:
    Key path SOFTWARE\Citrix\ProvisioningServices\StatusTray
    Value name ShowIcon
    Value type REG_DWORD
    Value data 0x0 (0)

Leave a Reply

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