An issue I came across recently with a Citrix environment running on VMware vSphere 5.
When booting a PVS target device (the one, oddly) the VM blue screens and restarts only to go in to a blue screen restart loop. The following error was recorded in the blue screen output:
ERROR: BNIStack failed, network stack could not be initialized along with stop error code 0x0000007E.
This is a known issue when using the VMXNET3 NIC driver on your Worker VMs.
I’ll provide two methods you can review to try and get around this issue.
Firstly you need to check for any ghost NICs residing on the vDisk. You can use a working target device that has booted to the vDisk and perform the following (with the vDisk in maintenance mode and the VM booted in to the maintenance version):
- Uninstall the PVS target device software from the vDisk and restart the VM.
- Once the machine has restarted open a command prompt (CMD) as administrator and run command set devmgr_show_nonpresent_devices=1
- Now run devmgmt.msc which will open Device Manager
- In Device Manager, click View -> Show hidden devices
- Expand the Network adapter node. Any inactive icons indicate unused device drivers and should be uninstalled. Devices that were previously installed but are no longer present appear as hidden/inactive devices. So go ahead and right-click on the inactive device(s) and click Uninstall. You will want to specifically look out for NICs with vmxnet3 in the name.
- Restart the VM if prompted. Install the PVS target device software back on to the vDisk and commit all changes .
- Try booting the affected VM again from the new vDisk version and see if it gets past the BNIStack failure.
If this procedure did not fix the blue screens, or if it does not relate then follow the below to determine if this applies to your problematic VM.
- On a working VM (which can boot to the vDisk), in the vSphere Console, right-click on the VM and click Edit Settings.
- Click on the Options tab and then click on General -> Configuration Parameters. The VM must be powered off to access Configuration Parameters. The other option you have is to locate the VMs .vmx file from the datastore which displays the same settings found in Configuration Parameters.
- Look for the ethernet## entry as shown below. A numeric value will also be present. Take a note of this number. Remember you are performing this on a VM that can successfully boot to the vDisk without getting the BNIStack failure.
- Now, on the problematic VM, open Configuration Parameters and change the numeric value of the ethernet## property to the number you copied on the working VM previously.
- Click OK on all property windows and boot the Worker VM and see it it boots.
Note: I have also seen this blue screen error when a vDisk was created with a machine using an E1000/E1000E vNIC but you are trying to book Worker VMs confgured with VMXNET3 vNICs.