When you shutdown your Windows XP computer, it may take more time to complete the shutdown process. Slow shutdowns are caused by a number of factors. One of the common cause is the 'Clear Pagefile at Shutdown' option enabled.
Virtual memory support uses a system pagefile to swap pages of memory to disk when they are not used. On a running system, this pagefile is opened exclusively by the operating system, and it is well protected. However, systems that are configured to allow booting to other operating systems might have to make sure that the system pagefile is wiped clean when this system shuts down. This ensures that sensitive information from process memory that might go into the pagefile is not available to an unauthorized user who manages to directly access the pagefile.
When this option is enabled, it causes the system pagefile to be cleared upon clean shutdown. This takes considerable time of the Operating System to flush-out the pagefile, thus causing the slow shutdown. You may disable ClearPageFileAtShutdown option to improve shutdown times. But the pagefile.sys will be intact and accessible via other Operating System, in case or dual or multi-boot.
Start Registry Editor [Regedit.exe] and navigate to the following key:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
Set ClearPageFileAtShutdown value to 0
Or, using Group Policy Editor [for Windows XP Professional]
Click Start, Run and type "Secpol.msc"
Click Local Policies | Security Options
In the right-pane, set Shutdown: Clear virtual memory pagefile to Disabled
However, this setting is not the only cause for slow shutdowns. Non-responsive programs and Services also contribute to slow shutdowns. Lowering the WaitToKillServiceTimeOut may help may help as well.
The WaitToKillServiceTimeout value name in the registry allows you to specify a length of time that the service control manager must wait for services to complete the shut-down request. Open Registry Editor and navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
\WaitToKillServiceTimeout
Backup your registry first, as explained here. Then, reduce the Service timeout value (default being 20000ms) to your preference.
Similarly, set the AutoEndTasks to 1 in the following registry key:
HKEY_CURRENT_USER\Control Panel\Desktop
AutoEndTasks value determines whether user processes end automatically when the user either logs off or shuts down Windows 2000/XP.
By doing the above [previous two steps], we're forcibly killing a non-responsive application or service. On the other hand, troubleshooting the application may also be necessary.
If this does not help, read below:
You need to see which application or a filter-driver is causing this issue. Check the Event Logs for any errors and track-down the software/driver causing the problem. It's been noted that corrupt Event Log too can cause slow shutdowns.
You may be having profile unload problems if you experience slow logoff (with Saving Settings for most of the time while logging off). UPHClean is a service that once and for all gets rid of problems with user profile not unloading. See User Profile Hive Cleanup tool's Readme.txt before installing it.
For more troubleshooting on shutdown issues, I recommend you visit MS-MVP James Eshelman's Shutdown troubleshooter page here: SHUTDOWN WORKS, BUT IT'S REAL SLOW. Watch-out for other important notes in Jim's site.
MikeB