Optimizing the Location of the Boot Files

The speed at which which your files are read is dependent on where files are located on your hard drive. Also, when a file is fragmented (which is when one file is scattered all over the disk), it takes more time to access that file than if all of the pieces of the files were side by side. Using tools that are available in Windows and other third-party utilities, you can defragment and place the Windows boot files on the disk where they will be accessed faster.

Windows XP has a new features called the prefetcher, which determines what files on the hard drive are used during the boot process and where they should be placed on the disk for optimal speed. Although this is not the only benefit that the prefetcher provides, it makes optimizing the location of the boot files easy.

Using Disk Defragmenter
Windows XP includes a boot defragmenter but it is a little tricky to get it to run. By default, it is run only in the background and cannot be started directly by a user. After your computer has been idle for some time between 5 and 30 minutes, the system will read the prefetcher's boot data and start the defrag. The system defrag is run in the background and is invisible to the user. Eventually, if you leave your computer on long enough, it will be defragment the boot files

Microsoft has a very talented team working for them and they even took into consideration that often your system boot changes. For example, you might install an updated device driver or add new hardware. To solve this problem, the system will re-defragment the boot files every three days.

Tip:
Windows keeps track of the last time it optimized the boot file so that it can calculate how often it should run the boot defrag. If you are interesting in finding when the last time was that the boot defrag was run, open up regedit and navigate to: "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Prefetcher" and then look for the key named "LastDiskLayoutTimeString".

A operating system that takes care of itself? Yes, Windows is getting smarter and smarter. However, there is still one part of this problem: There is no possible way to directly initiate a boot defrag. The only way is to leave your computer on for a little while without using it at all. If you are impatient and do not want to wait, then I have a solution for you.

As I mentioned earlier, the system will only initiate the boot defrag when the system is idle. Typing in a command that will start the boot is not possible. However, you can tell your computer, even when it is not idle, to process the idle tasks. This will indirectly start the boot defrag. Although since the boot defrag is most likely not the only idle task waiting to be run, there will be other processes run as well which can cause your computer to appear to be doing a lot of hard work from a few minutes up to half an hour as it completes all tasks. During this time, your computer should not be used for any intensive activities such as playing games. If you try to use your computer while the idle tasks are being processed, you will notice slow performance until the tasks are completed.

Do the following to tell the system to start to process all idle tasks:

  1. Click on the Start menu and select Run.
  2. Type Rundll32.exe advapi32.dll,ProcessIdleTasks in the text box and select OK.
  3. Your computer will now begin working on the tasks.

Performing these steps will allow your system to defrag the boot files. However, since the boot defrag is done every three days. Processing the idle tasks more frequently that three day periods, will do nothing to help you boot because the boot defrag will not be on your idle tasks lists all the time.