My VMware View Windows 7 Optimization Guide

These are the few steps I do when creating a new "Golden" image. Luckily I don’t have to do these steps all the time as I’ll create the "Golden" image when there is a new upgrade such as when we went from View 4.6 to View 5.0.1. I like to have a new fresh machine using new virtual hardware from the start. You could certainly just upgrade the virtual hardware on the "Golden" image, I just prefer to start clean.

At any rate, here’s my list. Hopefully someone might find it somewhat useful and maybe even others can improve upon it.

Preparing a new virtual machine

  1. Create New Virtual Machine – FILE > NEW > VIRTUAL MACHINE (CTRL+N)
  2. Under Configuration select CUSTOM.
  3. Select a Name, Folder, Host, Cluster, and Storage.
  4. Under Guest Operating System select Windows and then Windows 7 32bit under the Version drop down.
  5. Select which Network (VLAN) and under Adapter select VMXNET 3.
  6. Configure disk size to 30GB THIN provisioned.

Configure virtual machine hardware

  1. Right click on virtual machine and select Edit Settings.
  2. Change Memory to 1.5GB – 2GB. (anything over 3GB is a waste in 32bit Windows)
  3. Remove Floppy Drive 1.
  4. Ensure Network Adapter type is VMXNET 3.
  5. Click on OPTIONS tab and then General, UN-Check "Enable logging".
  6. Go to Boot Options and check "The next time the virtual machien boots, force entry into the BIOS setup screen.
  7. Power on virtual machine and open Console – virtual machine should be loaded into BIOS.
    1. Under MAIN, Legacy Diskette A: change to Disabled.
    2. Keyboard Features: change Numlock to ON.
    3. Under ADVANCED, I/O Device Configuration: disable all Serial, and Parallel ports, as well as Floppy Controller.
    4. Exit and Save Changes.

Installing Windows 7

(without System Reserve Partition and with 4k alignment)

  1. Boot from your Windows 7 installation media.
  2. After booting you see the Install Windows 7 screen, press Shift + F10 to open a command prompt.
  3. At the command prompt, type Diskpart, press Enter.
  4. Type List Disk, press Enter.
  5. Type Select Disk # (where # is the number your drive shows up as), press Enter.
  6. Type Clean, press Enter.
  7. Type Convert MBR, press Enter.
  8. Type Create Partition Primary Align=4096, press Enter.
  9. Type Format Quick FS=NTFS, press Enter.
  10. Type Exit, press Enter.
  11. Close the Command Prompt window.
  12. Click the "Next" button.
  13. Click the "Install now" button.
  14. Accept the terms and click the "Next" button.
  15. Choose "Custom: Install Windows only (advanced)."
  16. Click the partition.
  17. Click the "Next" button.
  18. From then on follow the on screen instructions till you get to the desktop.

Install VMware Tools

  1. Right click on virtual machine and select GUEST > Install/Upgrade VMware Tools.
  2. Restart virtual machine.

Windows 7 Optimizations

  1. Turn Off Hibernation
    1. Open Command Windows (CMD) as admin.
    2. Type powercfg -h off and press enter.
  2. Disable System Protection
    1. Open the Start Menu
    2. Right click Computer
    3. Click Properties
    4. Click System protection (it’s on the left side)
    5. Select C:
    6. Click the Configure button
    7. Click "Turn off system protection" or adjust slider to desired size.
    8. Click OK
  3. Turn off Drive Indexing
    1. Open the Start Menu
    2. Click Computer
    3. Right click C: drive and select Properties and uncheck drive indexing
    4. Click apply (ignore all when comes up)
  4. Shrink Page File
    1. Open the Start Menu
    2. Right click Computer
    3. Click Properties
    4. Click Advanced System Settings (it’s on the left side)
    5. Under performance click Settings
    6. Go to the Advanced tab
    7. Under Virtual memory click Change
    8. Uncheck the "Automatically manage paging file" box at the top
    9. Select the C: drive
    10. Click "Custom size"; initial size 512MB, maximum size 2048MB
    11. Click "Set"
    12. Choose Yes for the dialog box
    13. Click OK
    14. Click OK
  5. RESTART Virtual Machine
  6. Change Power Options
    1. Open the Start Menu, in the search line, type Power Options and press Enter
    2. Select the "High performance" power plan
    3. Click "change plan settings"
    4. Click "change advanced power settings"
    5. Expand the Hard disk option and change setting to "never"
    6. Expand the Sleep option and change setting to "never"
    7. Click OK
  7. Disable Prefetch and Superfetch (Possible leave on for presistent desktops)
    1. Open the Start Menu, type Services.msc, press Enter
    2. Scroll down until you see the "SuperFetch" entry
    3. Double-click on it, and choose "Disabled" from the list
      Next:
    4. Open the Start Menu, type regedit, press Enter
    5. Go to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
    6. Double-click on "EnablePrefetcher" and enter "0" (default value is "3")
    7. Double-click on "EnableSuperfetch" and enter "0" (default value is "3")
  8. Disable Scheduled Defrag
    1. Open the properties for the C: drive
    2. Select the Tools tab
    3. Click Defragment now to display the Disk Defragmenter dialog box
    4. Click Configure schedule
    5. Un-check Run on a schedule checkbox
  9. Uninstall Tablet PC, Windows Gadgets, and Media Center
    1. Open Control Panel > Programs and Features > Turn Windows features on or off.
    2. Uncheck Media Center, Tablet PC, and Windows Gadgets.
  10. Install Windows Updates!
  11. Disable NTFS "Last Accessed" Option
    1. Open CMD as administrator
    2. Enter fsutil behavior set disablelastaccess 1 and press enter.
  12. Disable Windows Themes
    1. Control Panel > Personalization > Select Windows Classic.
  13. Set Run for Best Performance
    1. Right click on Computer and select Properties
    2. Select Advanced system settings
    3. Under the Advanced Tab, click Settings next to Performance
    4. Select "Adjust for best performance"
  14. Disable System Maintenance
    1. Control Panel > Troubleshooting > Change Settings and select OFF under Computer Maintenance.
  15. Disable Screensaver
    1. Control Panel > Personalization > Screen Saver and change to NONE.
  16. Disable Windows Sounds
    1. Control Panel > Personalization > Sounds > and change Sound Scheme to No Sounds.
  17. Disable Offline Files
    1. Control Panel > Sync Center > Manage offline files > Disable offline files
  18. Speed up the Menu Show delay time
    1. Open Regedit
    2. Go to: HKEY_CURRENT_USER\Control Panel\Desktop
    3. Modify MenuShowDelay from 400 to 1
  19. Extend Disk Time-Out Value
    1. Open Regedit
    2. Go to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Disk
    3. Modify TimeOutValue to decimal value of: 200
  20. Disable Un-needed Services
    1. BitLocker Drive Encryption Service – No recommended to encrypt VDI machines.
    2. Block Level Backup Engine Service
    3. Desktop Window Manager Session Manager
    4. Disk Defragmenter
    5. Diagnostic Policy Service
    6. Home Group Listener
    7. Home Group Provider
    8. IP Helper – Only if IPv6 is not being used.
    9. Microsoft iSCSI initiator service
    10. Microsoft Software Shadow Copy Provider – Not needed since System Restore is disabled.
    11. Offline Files
    12. Security Center
    13. Superfetch
    14. Tablet PC Input Service
    15. Telephony
    16. Themes
    17. Volume Shadow Copy Service – Not needed since System Restore is disabled.
    18. Windows Backup
    19. Windows Defender
    20. Windows Error Reporting Service
    21. Windows Search
    22. WLAN AutoConfig
    23. WWAN AutoConfig

GPO Changes

  1. Disable success logins
    1. Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Audit Policy
    2. Under Audit account logon events settings Properties select the Security Policy Setting tab.
    3. Select the Failure checkbox.
  2. Set maximum Event Log size
    1. Computer Configuration > Administrative Templates > Event Log Service > Specific Event Log
    2. Maximum application, security, and system log size = 1024
  3. Empty IE temp files
    1. User Configuration > Administrative Templates > Windows Components > Internet Explorer > Internet Control Panel > Advanced Page
    2. Empty Temporary Internet Files folder when browser is closed = Enabled
  4. Disabled IE First Run Customize Wizard
    1. User Configuration > Administrative Templates > Windows Components > Internet Explorer
    2. Prevent performance of First Run Customize settings – Enabled
  5. Disable RSS Feeds
    1. User Configuration > Administrative Templates > Windows Components > RSS Feeds
    2. Turn off background sync feeds and web slices = Enabled
  6. Disable Windows Slideshow
    1. User Configuration > Administrative Templates > Windows Components >Windows Slideshow
    2. Turn off Windows Slideshow = Enabled
  7. Turn off Build-to-Lossless feature
    1. Computer Configuration > Administrative Templates > Classic Administrative Templates (ADM) > PCoIP Session Variables
    2. Turn off Build-to-Lossless feature = Enabled
  8. Limit audio bandwidth
    1. Computer Configuration > Administrative Templates > Classic Administrative Templates (ADM) > PCoIP Session Variables
    2. Change Configure the PCoIP session audio bandwidth limit to 100
  9. Set PCoIP frame rate and image quality
    1. Computer Configuration > Administrative Templates > Classic Administrative Templates (ADM) > PCoIP Session Variables
    2. Maximum Initial image quality = 70
    3. Minimum Image Quality = Leave default
    4. Maximum Frame Rate = 15

VMware View Agent

Install the VMware View Agent last, only after all other optimizations, changes, software installs, etc have been completed. Once installed and the system rebooted, disable debug logs.

Note: You may not want to disable Agent logs on pools that are set to delete or refresh on log off since you won’t be able to recover “real-time” logs.

  1. Disable VMware Agent debug logs
    1. Open Regedit
    2. HKLM\Software|Vmware, Inc.\VMware VDM
    3. REG_SZ entries:
      1. DebugEnabled = False
      2. TraceEnabled = False
  2. Restart Virtual Machine

Upon spinning up a new "Parent Image" be sure to release the IP address on the master golden image, power down the virtual machine and clone the master golden image.

I personally don’t install the Agent on my "Golden" image and only install the agent on my "Parent" image when creating a new View Pool. As a lot of times each pool will require totally different software packages, etc so then once those changes have been made on the "Parent" image I’ll then install the agent.

Also note, there is a Command.bat file in the VMware Win7 optimize guide that does do some of these steps above for you. Just be sure you read each line to ensure you know what each line is doing and if it will work in your environment.

What steps do you take to optimize Windows 7 for View? How can the steps above been better improved?

If you’re looking to get in touch, follow me on Twitter!