Windows 7 Registry Optimizations for Virtual Desktops


In another blog, I discussed Windows 7 services that you might wish to disable when going down the path of desktop virtualization. In this article, I’m now focusing on registry modification you will want to make to optimize Windows 7 for virtual desktops. I’ve broken it down into Recommended configurations, Standard Mode configurations (for Provisioning services), and Optional configurations.

As I learn more from upcoming Windows 7 implementations, I’ll be updating the following tables, so it might be worthwhile to stay updated with RSS or subscribe via Email. Now, for the good stuff…

Recommended Configurations

The following registry changes are recommended for all deployment scenarios and would almost always be desirable in a Windows 7 hosted VM-based VDI desktop implementation:

Configuration Optimizer Registry Modification (in REG format)
Disable Last Access Timestamp Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] “NtfsDisableLastAccessUpdate”=dword:00000001
Disable Large Send Offload No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BNNS\Parameters]

“EnableOffload”=dword:00000000

Disable TCP/IP Offload No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

“DisableTaskOffload”=dword:00000001

Increase Service Startup Timeout No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control] “ServicesPipeTimeout”=dword:0002bf20
Hide Hard Error Messages No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows] “ErrorMode”=dword:00000002
Disable CIFS Change Notifications No [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]

“NoRemoteRecursiveEvents”=dword:00000001

Disable Logon Screensaver No [HKEY_USERS\.DEFAULT\Control Panel\Desktop]

“ScreenSaveActive”=”0”

Note: The Optimizer column indicates whether this registry change is included in the XenConvert Optimizer tool that is installed with the Provisioning Services target device software.

Standard Mode Recommended Configurations

The next set of registry changes are recommended for images deployed using standard mode vDisk images with Citrix Provisioning services. Standard mode images are unique in that they are restored to the original state at each reboot, deleting any newly written or modified data. In this scenario, certain processes are no longer efficient. These configurations may also apply when deploying persistent images and in many cases should be implemented in addition to the changes recommended in the preceding section.

Configuration Optimizer Registry Modification (in REG format)
Disable Clear Page File at Shutdown Yes HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]

“ClearPageFileAtShutdown”=dword:00000000

Disable Offline Files Yes [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NetCache]

“Enabled”=dword:00000000

Disable Background Defragmentation Yes [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction] “Enable”=”N”
Disable Background Layout Service Yes [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout]

“EnableAutoLayout”=dword:00000000

Disable Bug Check Memory Dump Yes [HKLM\SYSTEM\CurrentControlSet\Control\CrashControl]

“CrashDumpEnabled”=dword:00000000
“LogEvent”=dword:00000000”
SendAlert”=dword:00000000

Disable System Restore Yes [Software\Policies\Microsoft\Windows NT\SystemRestore] “DisableSR”=dword:00000001
Disable Hibernation Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power] “Heuristics”=hex:05,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,3f,42,0f,00
Disable Memory Dumps Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl] “CrashDumpEnabled”=dword:00000000 “LogEvent”=dword:00000000 “SendAlert”=dword:00000000
Disable Mach. Acct. Password Changes Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters]

“DisablePasswordChange”=dword:00000001

Redirect Event Logs No Set appropriate path based on environment.

HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Application]
“File”=”D:\EventLogs\Application.evtx”

[HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Security]
“File”=”D:\EventLogs\Security.evtx”

[HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\System]
“File”=”D:\EventLogs\System.evtx”

Reduce Event Log Size to 64K Yes HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Application]
“MaxSize”=dword:00010000

[HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Security]
“MaxSize”=dword:00010000

[HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\System]
“MaxSize”=dword:00010000

Optional Configurations

This last set of machine-based registry changes is optional regardless of whether the image is deployed as a persistent or standard image. In many cases, the following configurations should be implemented; however, these configurations should be analyzed for suitability to each unique environment.

Configuration Justification Registry Modification (in REG format)
Disable Move to Recycle Bin Although the recycle bin will be deleted on subsequent reboots, disabling this service altogether might pose a risk in that users will not be able to recover files during their session. Although this setting is part of the optimizer, it might be advantageous to not disable the Recycle Bin. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BitBucket]

“UseGlobalSettings”=dword:00000001
“NukeOnDelete”=dword:00000001

Note: These are only recommendations. You should implement these at your own risk

Daniel – Lead Architect

Advertisements

2 thoughts on “Windows 7 Registry Optimizations for Virtual Desktops”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s