"rundll32.exe advapi32.dll,ProcessIdleTasks
What ProcessIdleTasks does is update the Layout.ini in the prefetch folder with the .pf
entries that are in the folder, then runs the command line Defrag command with the -b switch set.
This is a subset of the full defrag and repositions only the boottime modules so they're more
efficiently read at boot time. It reads the Layout.ini file to determine the correct disk placements.
Now here's the catch: if your like me, your PC is never truely idle, so the ProcessIdleTasks
never gets run. My home PC is never idle. The PC has to be idle for about 30 minutes before
that task gets run by the Scheduler. I've confirmed this on my PC at work - the task gets run
while I'm at lunch.
The workaround for that is simple: Once every three days, I manually run the
"rundll32.exe advapi32.dll,ProcessIdleTasks" from Start\Run. Then I follow that up with a
full defrag because moving all those files around fragments a bunch of other files.
Make sure you use Microsofts defrag, most of the 3rd party Defragmenters don't honor the
placements in the Layout.ini file. There is one or two, but they're expensive - unless you
have the $s and know which utilities I'm talking about, then use those. Nortons SpeedDisk
is not one of them.
When I installed XP SP2, I initially had the same slowdown problem. Doing the little trick
above restored the startup speed to pre-SP2 startup times."