Optimizing Windows 7 for VDI

VMware VDI uses View 4.5 to deploy Microsoft Windows 7 virtual desktop systems. By reducing storage, processor and network overhead on data center infrastructure, IT managers can reduce TCO while improving ROI for virtual desktop infrastructure. VM performance can also be improved by removing services and task scheduler events that slow down virtual desktop operations.

One of the best ways to reduce costs in a virtual desktop infrastructure deployment is to optimize the guest operating system. I slimmed down a virtual machine guest running Windows 7 Enterprise edition to reduce the growth of the cloned desktops in my tests of VMware View 4.5. Besides reducing the amount of storage and CPU consumed by my test VDI systems, my guest VMs got a little performance boost along the way.

My tests showed that there are some limits IT managers should keep in mind when stripping down Windows 7 for use in a VDI deployment. Among other factors, it is easy to be too enthusiastic in removing services and applications that may be "little used" as opposed to "unneeded." There is no substitute for fine-tuning in your environment, but here are some milestones that I discovered on my way to creating a leaner, meaner Windows 7 reference clone.

I used the guidelines provided by the VMware View 4.5 Administrator's Guide to tune my Windows 7 systems for VDI. The first step in my optimization journey was to start with a version of Windows 7 that Microsoft provides that has already been slimmed down. I chose Windows 7 Enterprise on the assumption that only a volume license version of Windows makes sense in a VDI deployment. Specifically, I used Windows 7 Enterprise N x86, the European Union version of Windows 7, which has the unique advantage of not having Windows Media Player embedded in the code.

I also created a parallel reference system using Windows 7 Enterprise x86-the "regular" version. This system had no services or features fine-tuned for VDI but also had nothing added that wasn't part of the normal installation process.

Optimizing Windows 7 or any guest operating system can be viewed in terms of a series of modules: settings that are controlled when VMware creates the reference VM, settings you control in the guest VM that favor performance over prettiness, components and services that you disable, and finally services that you remove from the guest VM and perform instead in the virtual environment, such as antivirus protection.

In my optimized Windows 7 VM, I used VMware View 4.5 to reduce the virtual hardware footprint. I removed the floppy drive, USB controller and sound card but left the CD/DVD drive. The optimized .vmdk file was 5.87GB while the .vmdk for the regular installation was 6.2GB, making the optimized image 5.6 percent smaller.

To favor performance over prettiness, I set the sound scheme to "no sounds," set the screen saver to "none" and used a basic theme with a solid color background. Using system configuration I set my optimized VM to boot with no GUI and using only base video. I also disabled the file system utility that tracks the last time a file was accessed and set power usage to "performance."

Finally, I disabled a number of services and scheduled tasks in the optimized Windows 7 VM. I agree with the assumption that updates and patching will happen in the gold master and not in the virtual desktop systems. Therefore, I disabled Windows Application Experience (the service that generates the Windows Experience Score), and every diagnostic and customer experience reporting service I could find. I also axed Windows themes, indexing, event logs, Windows Defender, search and Windows Update.