How to: Optimize guests for VMware View

We’ ve been doing quite a few VMware View POC’s and the question that colleagues keep asking me is: ‘How do I optimize my Windows guest OS for use with VMware View?’.

First of all, I primarily use x86 versions of Windows XP and 7. The disk usage is much less, I seldom need more than 4 GB of RAM and application compatibility is still an issue on x64 systems.

After installation of the guest operating system in the template virtual machine I do the following to optimize the operating system for use with VMware View.

  • I set the Visual effects in the Advanced System properties Performance options to: ‘Adjust for best performance’.
  • In the Start-up and Recovery settings:
    • I set the ‘Time to display list of operating systems’ to 1 second;
    • I disable ‘Write an event to theĀ  system log’;
    • For Windows XP, I disable ‘Send an administrative alert’
    • I enable ‘Automatically restart’;
    • I set the ‘Write debugging information’ to none;
  • In the System Protection/Restore properties I disable System Protection/System Restore on all drives;
  • I disable Windows Updates and modify the Action Center Setting not to nag about it;
  • From the Add/Remove Programs, Add/Remove Windows Components (Windows XP) or Turn Windows features on or off (Windows 7), I remove all unneeded components like:
    • Accessibility options;
    • Fax service;
    • Games;
    • Indexing Service/Windows Search;
    • Management and Monitoring tools.
    • MSN Explorer;
    • Networking Services;
    • Outlook Express;
    • Windows Messenger.
  • I disable the Welcome screen and fast user switching;
  • I disable the wallpaper and screensaver;
  • For Windows XP, I configure the default color setting for RDP,so it uses 24-bit color instead of the default 16-bit color for RDP. I do this by creating a Group Policy Object which sets the following registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp - Change the color depth to 4
  • From the services mmc I stop and disable all unwanted services:
    • Computer Browser;
    • Help and Support;
    • Indexing Service;
    • IPSec Service;
    • Network Local Awareness;
    • Security Center;
    • Shell Hardware Detection;
    • SSDP Discovery Service;
    • System Restore Service;
    • Themes;
    • Windows Firewall/Internet Connection Sharing (ICS);
    • Wireless Zero Configuration.
  • Disable any sound scheme’s;
  • Disable hibernation from the power settings
  • Make sure that the guest doesn’t go into power save mode by selecting an ‘Always on’ (Windows XP) or ‘High performance’ (Windows 7) power scheme;
  • I disable the creation of the last access timestamp with the command ‘FSUTIL behavior set disablelastaccess 1’;
  • I reduce the needed disk space by disabling the Windows System File Protection (SFC) and purging the cache with the following commands: Purge SFC cache: ‘sfc /purgecache’; Disable SFC: ‘sfc /cachesize=0’
  • I disable the language bar by unregistering the msutb.dll with the following command ‘Regsvr32.exe /u msutb.dll’;
  • I limit the Internet Explorer cache to 16 to 32 MB;
  • I deleted unwanted start-up programs using ‘msconfig’;
  • For Windows XP I speed up folder browsing by disabling the ‘Automatically search for network folders and printers’ on the View tab of the Explorer Folder options;
  • I disable Windows Indexing for all disks;
  • Finally I remove all surplus files and folder freeing up as much disk space as possible by:
    • Removing all Windows Update service pack and hotfix files and folders (Folders in C:\Windows starting and ending with a $ (except $hf_mig$));
    • Deleting all files and folders in C:\Windows\Temp;
    • Deleting all files and folders in: ‘C:\Documents and Settings\\Local Settings\Application Data\Temp’ (Windows XP) or ‘C:\Users\\AppData\Local\Temp’ (Windows 7);
    • Emptying the recycle bin;
  • When completed I reboot Windows and start a disk defrag. I usually use a third party defrag tool because the default Windows defrag is not that good. My favorites are Auslogics BoostSpeed and TuneUp Utilities. Both utilities run an excellent disk defrag and are also packed with a load of additional tools to optimize tune and change your Windows operating system behaviour.

Now you should have a fast and optimized Windows guest ready to be used as a template virtual machine for VMware View.

And finally some last tips:

  • Be very careful when using firewall or other Data Loss Prevention (DLP) like Symantec Endpoint security and McAfee DLP or Virusscan Enterprise with firewall. This may prevent the guest customization from running. If necessary add these after the customization process is complete ;
  • Use an up-to-date version of the Microsoft RDP software on the client connecting to the VMware View desktop. Using older versions may slow down your VMware View session because the View Client software uses the MS RDP.

If you have any additions please feel free to leave a comment.