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?

Similar Posts

  • Installing Windows 10 without using a Microsoft account

    If you’ve installed Windows 8 or later you’ve probably noticed that Microsoft has been trying to push users to setup a Microsoft account and use it during the install process. Doing so gives users the ability to use OneDrive and sync various configurations and Internet Explorer (people still use IE?) favorites, settings, and history.

    Since I use CloudStation on my Synology NAS and don’t care to use OneDrive nor did I want the Windows 10 test machines configurations sync’ed between them either.

    Read More “Installing Windows 10 without using a Microsoft account”

  • VMware View client now availabe for Android!

    VMware has announced that they have released a View Client for Android tablets available on the Android Market now. Here are just a few of the features found on the new client.

    • A new look and feel – The View Client for Android features the NEW blue look and feel of the VMware View clients!
    • Multiple broker support – If you have more than one VMware View broker in your organization, you can can easily access your desktop from all of them via the Android client
    • Desktop Shortcuts – Quickly connect with as many as four recent desktop via shortcuts
    • Virtual trackpad – Control your desktop on a granular level just like you would control the mouse on a laptop
    • Custom keyboard toolbar – Super easy access to all of the special keys not found on the Android default keynboard
    • Honeycomb 3.x support – Made from the ground up for the new generation of Android tablets
    • Custom gestures – Invoke keyboard, scrolling, etc are as easy as ever and simple to use
    • VMware View Security Server support (best experience) – No need to have VPN when you use VMware View Security Server
    • Background tasking – Switch between apps on your tablet and come right back
  • vSphere 5.1 and View 5.1 are finally compatible

    As mentioned before, I mentioned vSphere 5.1 currently not compatible with any VMware View version. As of yesterday, VMware has finally released a patch (ESXi510-201210001) to correct the incompatibility issues.

    Alternatively you can also download an updated ESXi 5.0 ISO. To download the ISO:

    1. Navigate to the vSphere Download Center.
    2. Click View Download for the VMware ESXi 5.1.0 Installable for your version of ESXi.
    3. On the Product Downloads tab, download VMware-VMvisor-Installer-201210001-838463.x86_64.iso.

    KB 2035268

  • Edit Virtual Hardware 10 VM’s with vSphere 5.5 U2 client

    When ESXi 5.5 came out so did a new virtual hardware version, 10, as well. However the ability to edit virtual machines have have been upgraded to virtual hardware 10 was restricted to only the vSphere web client. In some cases people have put off upgrading to virtual hardware 10 either for dislike of the web client or knowing you cannot edit the VM in the event of the web client being down.

    That all changes today, VMware has just released vCenter 5.5 Update 2 today and one of the “resolved issues” in today’s release notes is the ability to now edit virtual machines with Virtual Hardware 10 using the vSphere thick (C#) client.

    edit virtual hardware 10

    Read More “Edit Virtual Hardware 10 VM’s with vSphere 5.5 U2 client”

  • VMware vSphere 5.5 Update 2 released

    vsphere 5.5 update2 released

    VMware vCenter Server and ESXi 5.5 Update 2 has just been released today with a number of fixes and additional features such as vCenter Server database support for Oracle 12c, Microsoft SQL Server 2012 Service Pack 1, and Microsoft SQL Server 2014 in vCenter Server and support for ESXi hosts with 6TB of RAM in the ESXi 5.5 update 2 release!

    Read More “VMware vSphere 5.5 Update 2 released”

  • vSphere 5.1 Release Date leaked, maybe?

    Looks like Sammy Bogaert over at Boerlowie’s Blog has possibly found the release date of vSphere 5.1… maybe?

    I was about to download vSphere Update Manager PowerCLI 5.0.

    I followed the main site and wanted to check the documentation first. So I clicked the Documentation button.

    vmware update manager

    This lead me to the Docs of Update Manager PowerCLI 5.1! That’s right, 5.1! With a release date of 10 September 2012.

    vsphere5.1 release date

    None of the links for 5.1 work, so no news on any new features…

    Guess somebody at VMware was a bit too fast to update the website

    Nice find Sammy, guess time will tell if the Sept. 10th date is the actual release date or not.

Leave a Reply

Your email address will not be published. Required fields are marked *

10 Comments

  1. Thank you very much, very useful article! I`m tired of collecting all the recommendations from pubs.vmware (so many pages with no clear structure). Just one question: with “GPO Changes” you mean local polciy, not the AD Group Policy?

    1. You are very welcome! As for the GPO changes, it all depends on where you store your VM’s in AD. If they are scattered around in different OU’s along with physical boxes then yes local. Otherwise if they are all in the same OU you can use AD Group Policy too.

      1. Thank you for your answer! Btw whats the point of setting classic theme? It applys only for current user, not for all users.