Windows XP Boot Optimization
BootOptimizeFunction
The following registry entries are located under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction.
"Enable"
Accepted values for this entry are Y or N.
If the entry is set to Y, Windows automatically optimizes the file location for boot optimization. This optimization occurs automatically if the system is idle for 10 minutes. Boot optimization improves startup time by locating startup files in contiguous clusters on the volume, reducing the movement of the disk head when reading the volume.
A reflection : What might happen if we disable boot optimization.. I dont think anything harmful will happen..Since this is a performance optimization entry, it might lead to a performance degradation.
"LcnEndLocation"
Stores the logical cluster number (LCN) that specifies the end location of the files moved by Disk Defragmenter for boot optimization.
This is a dynamic value.
"LcnStartLocation"
Stores the LCN that specifies the starting location of the files moved by Disk Defragmenter for boot optimization.
This entry also is a dynamic number.
"OptimizeComplete"
Stores the value that indicates whether the optimize operation is complete.
"OptimizeError "
Stores an error message if an error was encountered during the optimization process.
Ref: http://technet.microsoft.com/en-us/library/cc784391(WS.10).aspx
Lets listen about the Boot Optimization from Mark Russinovich :-)
"For boot, the prefetcher by default traces from system start through the 30 seconds following the start of the user’s shell (typically Explorer) or, failing that, up through 60 seconds following Windows service initialization or through 120 seconds, whichever comes first."
Ref: Windows Internals 4th Edition.
This is an interesting point.. If boot optimization is enabled, then the prefetcher listens to all the file system operations and records the same. This information is later used to create the layout.ini file and passed to the defragment utility once in three days to optimize the area.. Now the question is .. if we do not have the prefetch mechanism listening to and logging all the transaction during boot time and other wise, will that lead to a performance issue.. Ideally it shouldn't..
Now lets refer the documentation on "Windows Performance" on technet.
Ref: http://technet.microsoft.com/en-us/library/bb457057.aspx
Section: Defragmentation
"Once every three days, by default, Windows XP will perform a partial defragmentation and adjust the layout of the disk based upon current use. The files to be moved are written in the file Layout.ini (found in the Prefetch directory under the System Root directory)."
Now the file optimization is not done everyday.. Its done once in 3 days, when the system is idle.. One more interesting thing about this operation is that it does not perform a full defrag. It optimizes for files contained in the layout.ini file.
There are additional Prefetch related entries, which in turn are related to the Boot Optimization
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
EnablePrefetcher
Possible Values are (0 = disabled, 1 = Application launch prefetching, 2 = Boot prefetching, 3 = Both prefetching).
Ref: http://www.tomshardware.com/forum/51893-45-boot-defrag
So you may decide either permenantly or for testing to opt for no prefetching, Boot Prefetching or both..
What if the prefetch folder is corrupt.. It can add to your worries slowing down your system further.. If in doubt, delete the prefetch folder once..
http://support.microsoft.com/kb/915163