I am not going to edit this, skip the parts that do not apply.
Prefetch Everything that I know about it.
[[Windows XP Professional monitors the files that are used when the computer
starts and when you start applications. By monitoring these files, Windows
XP Professional can prefetch them. Prefetching data is the process whereby
data that is expected to be requested is read ahead into the cache.
Prefetching boot files and applications decreases the time needed to start
Windows XP Professional and start applications.
Prefetching is further improved if the files are located next to each other
on the outer edge of the disk. Windows XP Professional optimizes the
location of boot files and applications when the computer is idle. The
optimization occurs in the background and lasts only a minute or two; you
might hear the hard disk being accessed when optimization occurs. After the
initial optimization takes place, subsequent optimization occurs, at most,
every three days.
When you run the Disk Defragmenter tools that are included with Windows XP
Professional, they can perform any optimization updates that are scheduled
to take place during the next idle period. The Disk Defragmenter tools do
not disturb the existing layout of optimized boot files and applications.
Note
Computers running Windows XP Home Edition also prefetch and optimize boot
files and applications.]]
From…
Optimizing Startup Times by Using Defragmentation Tools
http://www.microsoft.com/resources/documentation/Windows/XP/all/reskit/en-us/prkd_tro_uutk.asp
Paste this in Start | Run and then click OK.
%windir%\Prefetch
The Prefetch folder should be @
%windir%\Prefetch or C:\WINDOWS\Prefetch
If it's not there, create one.
The System Event Notification service needs to be set to Automatic.
Start | Run | Type: services.msc | Click OK |
Scroll down to and double click System Event Notification | Startup type:
Automatic | Apply | OK | Close Services.
The Task Scheduler service needs to be set to Automatic.
Start | Run | Type: services.msc | Click OK |
Scroll down to and double click Task Scheduler | Startup type: Automatic |
Apply | OK | Close Services.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction
Value Name: Enable
Value Type: REG_SZ
Value Data: Y or N
[[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.]]
Value Name: LcnEndLocation (disk address, end location on the hard drive)
Value Type: REG_SZ
Value Data: Some number (disk address)
Value Name: LcnStartLocation (disk address, start location on the hard
drive)
Value Type: REG_SZ
Value Data: Some number (disk address)
Value Name: OptimizeComplete
Value Type: REG_SZ
Value Data: Yes or N
If Yes, boot optimization was completed.
If No there will be an entry in OptimizeError.
Value Name: OptimizeError
Value Type: REG_SZ
Value Data: Insufficient space or Insufficient Resources
If %windir%\Prefetch\layout.ini is set to Read-only, launching
Rundll32.exe advapi32.dll,ProcessIdleTasks will result in DFRGNTFS.EXE and
DEFRAG.EXE running for a short time and no error listed in OptimizeError.
If %windir%\Prefetch\layout.ini is set to Read-only, launching defrag
c: -boot will result in DFRGNTFS.EXE and DEFRAG.EXE running for a short time
and the Insufficient space error listed in OptimizeError.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory
Management\PrefetchParameters
Value Name: AppLaunchMaxNumPages (I have no clue)
Value Name: AppLaunchMaxNumSections (I have no clue)
Value Name: AppLaunchTimerPeriod (I have no clue)
Value Name: BootMaxNumPages (I have no clue)
Value Name: BootMaxNumSections (I have no clue)
Value Name: BootTimerPeriod (I have no clue)
Value Name: EnablePrefetcher
Value Type: REG_DWORD
Value Data: 0, 1, 2 or 3
0 = disabled
1 = Application launch prefetching
2 = Boot prefetching
3 = Prefetching, both Application and Boot prefetching .
Parameters are ANDed, so if all were enabled, the setting would be
0x00000003. The setting takes effect immediately. 3 is the preferred
setting.
Value Name: HostingAppList
Value Type: REG_SZ
Value Data: DLLHOST.EXE,MMC.EXE,RUNDLL32.EXE
Value Name: MaxNumActiveTraces (I have no clue)
Value Name: RootDirPath (Path to %systemroot%\Prefetch folder)
Value Type: REG_SZ
Value Data: Prefetch
Value Name: VideoInitTime (I have no clue)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout
Value Name: EnableAutoLayout
Value Type: REG_DWORD
Value Data: 0 or 1
0 = disabled
1 = enabled
Value Name: LayoutFilePath
Value Type: REG_SZ
Value Data: C:\WINDOWS\Prefetch\Layout.ini
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Prefetcher
Value Name: BootFilesOptimized
Value Type: REG_DWORD
Value Data: 0 or 1?
0 = No???
1 = Yes???
Value Name: ExitCode (I have no clue)
Value Name: ExitTime
Value Type: REG_SZ
Value Data: 2005/08/25-21:48:07
Value Name: LastDiskLayoutTime (I have no clue)
Value Name: LastDiskLayoutTimeString (should match time on layout.ini)
Value Type: REG_SZ
Value Data: 2005/08/23-11:35:44
Value Name: LastTraceFailure (I have no clue)
Value Name: StartTime
Value Type: REG_SZ
Value Data: 2005/08/26-07:26:24
Value Name: TracesProcessed (I have no clue)
Value Name: TracesSuccessful (I have no clue)
Value Name: Version (I have no clue)
defrag c: -b
or
defrag c: -boot
or
Rundll32.exe advapi32.dll,ProcessIdleTasks
Disadvantages of Optimize hard disk when idle:
* Using a third party disk defragmenter. That app should take care of it.
* Running a laptop with a battery; defragmenting can use up power.
TweakUI also has an option...
TweakUI
[+] General
[] Optimize hard disk when idle
Optimize hard disk when idle
[[This allows Windows to rearrange files on the hard disk when the computer
is not in use to improve performance. This is a system wide setting which
requires a restart for changes to take effect.]]
TweakUI changes this key to 0 or 1...
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout
Value Name: EnableAutoLayout
Value Type: REG_DWORD
Value Data: 0 or 1
0 = disabled
1 = enabled
Value Name: LayoutFilePath (The path to layout.ini)
Value Type: REG_SZ
Value Data: C:\WINDOWS\Prefetch\Layout.ini
Rundll32.exe advapi32.dll,ProcessIdleTasks will rebuild the layout.ini file,
even if it has been deleted from %windir%\Prefetch. Layout.ini is the
OptimalLayoutFile. [OptimalLayoutFile] is the first line in layout.ini.
Layout.ini is what keeps track of this...
[[XP keeps track of files used by every application. After several launches
of the same application, it has some sense of what files are required.
Thereafter, it uses an algorithm that says, basically, if a file has not
been used in the last six launches, it is marked for removal; if a file has
been used in the last two launches, it's marked for inclusion. Then based
on these notations, Windows XP determines which files need to be brought
into the block, and which ones moved out. When this move will take place
depends on several factors, such as how recently files were moved for this
application, and when the machine is available? Consistent with the idea
that disk activity should not interfere with performance, Windows XP won't
move the application files unless there has been no user-initiated I/O
activity for 13 minutes. Microsoft presumes this means the user is away
from the machine. It then begins migrating the files to the optimal place
on the disk.]]
From...
Performance Enhancements in Windows® XP
http://windowsxp.devx.com/articles/perfen/default.asp
With these settings...
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction
Enable Y
LcnEndLocation 0
LcnStartLocation 0
OptimizeComplete Blank, no entry
OptimizeError Blank, no entry
If the Task Scheduler service is not running and you run
rundll32.exe advapi32.dll,ProcessIdleTasks from a command prompt. You will
get nothing to happen and the registry entries will not change or show an
OptimizeError.
--
Hope this helps. Let us know.
Wes
MS-MVP Windows Shell/User
In