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;
- 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;
- 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\<username>\Local Settings\Application Data\Temp’ (Windows XP)
‘C:\Users\<username>\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.
Another thing you should look when doing VMware View guest machines is application virtualization, you can make good use of ThinApp for example when deploying applications into the guest machines. When using application virtualization it keeps the guest machine small and fast also makes using different types of guest machines a viable option.
Found this site, and this article, very enlighteneing. I've sent a link to my Operations team. We are implementing both BladeCentre/vSphere/View, and it is not going smoothly. We are currently experincing access issues with all our view machines, and have been on the phone with VMWare support for the best part of three days, to no avail. I'm hoping my team may pick-up some hints or suggestions here.
@Barry, What kind of access issues are you experiencing? Can you tell us a bit more maybe someone here can help…
hi i m preux pursuing b.tech. my last year thesis will be on the data stored in the vmdk file ?
firstly i will tell you how much i done …
i will created 2 different vmdk
open it into a hexeditor which provide me the hexadecimal structure of the vmdk files .by using virtual disk format 5.0 which is avilable on the
vmware site i get some knowledge of the structure of the vmdk file .
when i read the structure of the -flat vmdk its similar to the hard disk structure i can easily seen the MBR(master boot record) ,PBR(partition boot
record) and $MFT(master file table) in the -flat vmdk?
but when i go for the sparse its quite different from the -flat i am using the formula provided in the virtual disk format 5.0 through this i can only
seen the MBR and PBR but when we aplly this fomula for $MFT(master file table) i found nothing ?
so my question is that how i can reach this master file table in -sparse.vmdk on my way (byte by byte reading)so that i can complete my thesis and
thanxs in advance