by Aaron Silber
Managing Director – NY Region
Are you still reverse imaging to update VMware tools?! How very dark ages of you!
For anyone who deals with Citrix Provisioning Server (PVS), you have experienced first-hand how technology can make life just a little sweeter. Being able to make any change once, reboot and voila, the change is rolled out, not to mention, if you must roll-back, just another reboot and you can step back in time, ahh…
The one thing that pulls us out of that nice, happy place is when VMware releases a new set of VMware tools. In a single moment, we are snapped back to reality. What I am referring to is the fact that in the PVS world, the network card is the umbilical cord of life, providing the “C” drive to the server or desktop, interrupt the stream by attempting to update a network card driver and the stream will stop leaving you unable to ever reconnect back to it.
In the past the only answer was the extremely manual process of reverse imaging the image; a copy process that takes the image out of the PVS world and burns it onto a hard drive, allowing you to boot up the machine and update VMware tools. This works because once the machine is booted up from the hard drive, the image is no longer reliant on the network card, the stream providing the C drive. At this point, you can upgrade the tools and then reimage the disk back into PVS.
I was thinking that there must be a better way and there is! Being that the stream is physically flowing through the VMware network card and we cannot touch the card or stream, I thought, why not switch the stream temporarily to a non-VMware network card, upgrade the tools, then switch it back to the higher performing VMware card. I am happy to say that this process works great and now you can do it too! Read on for the steps on how to accomplish this.
Here is the process in detail:
- From the PVS Console, place the image into Private Image mode.
- Boot up the machine using this image so that changes will persist.
- While the machine is running, go to the VMware console, edit the machine settings add in a second network card, an E1000 specifically.
- The machine will immediately detect the newly added hardware.
- Allow the machine to recognize the card and install the driver
- Power down the machine.
- Record the MAC address of the new E1000 card
- Update the Device in the PVS Console to reflect the MAC address of the E1000 (recorded in #5)
- Boot up the machine, quickly hit ESC to get to the Boot menu (or add in a boot delay if you’re not quick enough!)
- Choose to boot up from the secondary card, the E1000. The machine will boot up streaming using the non-VMware card.
- Once the machine has come up and you log in, proceed to update the VMware tools as normal. Being that the E1000 driver is a Microsoft one, the tools will update fine including the VMXNet3 driver without breaking the stream.
- Shutdown the machine
- Remove the E1000 network adapter from the VMware settings.
- Update the device in the PVS Console with the original MAC address of the VMXNet3 card.
- While the machine is booting up, hit the ESC key and enter the setup of the VM. Navigate over to the Boot menu and verify that the VMXNet3 card is listed above the Hard Drive option.
- Boot machine normally, using the VMware (VMXNet3) card.
- Clean up the Windows image by doing the following:
- Open an elevated CMD prompt
- Run the following command:
SET DEVMGR_SHOW_NONPRESENT_DEVICES=1
- Select the View menu drop-down and select the option for Show hidden devices
- Expand the Network adapters section
- Right-click on the E1000 and select Uninstall
- Shut down the machine and switch vDisk back into Standard mode (Read-only)
No reverse imaging needed! Now the PVS update is complete. Bring on the VMware updates! If you have any questions or would like to request more information on this topic, please contact us at service@helient.com.
Enjoy!
Aaron