PVS VMs blue screen with VMXNET3 NIC

The title pretty much says it all, doesn’t it?  Your VMs are bluescreening!  How can you fix it?

For starters, you need to have the original VM that you used to build the image (or at least know what the MAC address of it was – you still have the PVS Device, don’t you?).  Find it.  Boot the image in private mode.  It comes up fine, doesn’t it?  Odd…

In 7 and 2008 R2, when the VMXNet3 drivers from VMware are loaded, the device is ID’d to the VM by appending a portion of its MAC address to create a unique device ID.  Since the device ID has changed from the original one, kaBOOM!  PVS bluescreen right when Windows starts to load.  Thank Microsoft, thank VMware, thank whoever – I’m not in the business of the blame game, but rather the fix-it-and-move-on game.

With the proliferation of 10gig networking, and with more and more companies replacing their hardware and upgrading to VMware 5.x, this issue is coming up more and more.

SO – back to the fix.  You have your original VM booted (or at least one with the same MAC as the original, right?  You DO know how to set a static MAC in a VM, RIGHT??), and it’s fine.  Good.

IF that VM is Windows 7 RTM or 2008R2 RTM – go get KB2344941.  IF that VM is Windows 7 RTM or 2008R2 SP1 – go get KB2550978.  If for some unknown reason your provisioned VM is Vista or 2008, go here, and then UPGRADE YOUR OLD AND BUSTED ENVIRONMENT!  🙂


Comments Off on PVS VMs blue screen with VMXNET3 NIC Posted in PVS Tagged , ,

Provisioning Server firewall ports

So you want to leave Windows Firewall enabled on your PVS server, do you?  Meh.  Ok.  Fine, here’s the list.

UDP 67  (PXE)
UDP 4011 (PXE)
UDP 6890 – 6930 (Stream)
TCP 54321-54322 (Console)

So..  If you do not open UDP 67, even if your DHCP server is NOT running on your PVS server, your VMs won’t display an IP when they try to PXE boot.  Go ahead, ask me how I know..

If 67 is open but 4011 is not, the VM will throw an error telling you so during the PXE boot process.



So, you screwed up your KMS licensing on your provisioned VMs?

So you booted your KMS-licensed VM and got a message about how your VM is a rogue copy of windows, or pirated, or some such, and you’re freaking out, aren’t you?  You issue slmgr /dlv and it says there is no installed product key, right?

First off, let me congratulate on you your rite of passage.  Secondly (in case the previous sentence didn’t clue you in to the fact), let me assure you that you aren’t the first one to do this.  Now, you’ve landed on this article because you typed something into Google looking for an article on how to fix it, didn’t you?  Fine, I won’t keep you hanging any longer.  Do this:

Power off all VMs using the affected vDisk image.
Switch the vDisk to Private Mode.
Click OK.
Open the properties on the vDisk again.
Change the licensing mode to “None”.
Power on your VM.
slmgr /ipk <kms product key>
slmgr /skms <fqdn to your KMS server – OPTIONAL – use if you need to specify a KMS server>
slmgr /ato
slmgr /upk
slmgr /ipk <kms product key>
slmgr /rearm

If you have Office installed, don’t forget to do ospprearm.exe, and if it’s a XenApp box, make sure to prepare for imaging and provisioning.  Then, shut the VM down.

Switch the vDisk back to Standard Mode and set your cache location.
Click OK.
Open the properties on the vDisk again.
Switch the licensing mode to KMS.
Bookmark this page for when you do it again <optional, but faster than Googling again>.


Using Receiver Enterprise 3.4 inside a XenDesktop VM

The install string:

Citrixreceiverenterprise.exe /includeSSON ADDLOCAL=”ReceiverInside,ICA_Client,SSON,PN_Agent,USB,Flash” ENABLE_SSON=”Yes” LEGACYFTAICONS=”True” ENABLEPRELAUNCH=”True” SERVER_LOCATION=”https://server.domain.com” ENABLE_DYNAMIC_CLIENT_NAME=”Yes”


Easy, right?  Everyone has done something similar before.  But then, you can’t get the drives (like mapped network drives) to pass-thru into your XenApp server apps.  Why bother?  If there are mapped network drives inside the XD VM, users could simply double-click on a file in their home directory, and using redirection, it will auto-launch the associated application and then pass that file through.  Sweet, right?  Sure.  But, if you use the Enterprise client, it doesn’t work by default.  Fix it like this:

HKLM\SOFTWARE\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ClientDrive
Value name:  NativeDriveMapping
Type: REG_SZ
Value:  True  (It is FALSE by default)

Problem solved, enjoy!