On a previous blog post, I described the issues between VMware hardware 10 and Citrix XenDesktop and XenApp 7.5 or 7.6 when trying to create a golden image in Citrix Provisioning Services. Because I found a work around and I got busy with other things, I put off finding the root cause of this issue for a while but just recently I had to work with a customer and of course, I ran into the issue again so I decided to find the solution, instead of applying my work around again..
Lets start by describing the scenario again. You have Windows 7 or 2008 virtual machine that you are going to use s your golden image for PVS but after installing the PVS target device software and rebooting to start the image capture the VM will enter in a BOSD, reboot cycle.
After installing the PVS target device software, I will power down the VM, change the configuration to add the bootiso, set the boot order to CDROM first and then change the SCSI adapter orders since otherwise I will get the “missing operative system” message.
Once the VM boots up from the CDROM, I will see Windows starting up and then the BSOD cycle will start with the following messages: “Stop: 0x0000007E”, “Error: BNIStack failed, network stack could not be initialized”.
There are a lot of articles and blog posts that describes this behavior especially the ones pointing to the “ghost NIC” issue but I wasn’t finding the same things as described on those articles. Until I actually by pure luck discovered that I had the ghost NIC issue but I wasn’t opening device manager on a way that it will see the bad NIC.
Before I go into the steps to fix the issue, I want to mention that the ghost NIC is not an issue of Citrix software installation but actually a “by product” of VMware VMXNET3 NIC and Microsoft hotfix KB2550978. I did some testing and the ghost NIC will be created after the installation of the hotfix regardless of the Citrix software being installed or not.
Steps to Fix the issue
- Open a command prompt “as Administrator”
- run the command set devmgr_show_nonpresent_devices=1
- This next step is crucial. Using the same command prompt window open the device manager MMC by typing “devmgmt.msc”
- Once the Device Manager opens go to Network adapters and should see one vmxnet3 adapter as shown below
- Go to the menu, click on View and then select “Shown hidden devices”. Right after this, refresh you MMC session and you should see two adapters. This is the reason why the PVS target was failing to boot up.
- Right click on the hidden network device. It has a translucent icon and select remove.
- After deleting the ghost NIC, reboot the server and reinstall the Citrix PVS target agent. This time around you will be able to capture the image.
Why is this happening?
Believe it or not, this is caused by the microsft hotfix KB2550978 that had to be installed at the begining of the PVS target server/VDA agents steps. Once this hotfix is installed the hardware changes and it creates the second hidden network making PVS not usuable.
Thank you very much for reading