Try setting your prefetch to boot only, prefetcher preloads into memory every single app youve used in the past.
Goto Start, Run, type Regedit
In Registry go to, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
Double click on EnablePrefetcher and change from 3 to 2.
Goto C:\Windows\Prefetch
And delete all the PF files.
Reboot computer and you should get your average load up time now.
If inside the prefetch folder after reboot isnt 2 files now, Layout and NTOSBOOT then you will need to rebuild them, if only one delete it. Then:
Goto Start, Run, type Cmd
In command prompt type Rundll32.exe Advapi32.dll,ProcessIdleTasks
If task manager is running you should see a couple of processes kick up, i think they was defragging ones (been a while since i used XP), once finished you should see the rebuilt files in the folder.
Obviously being here i presumed all junk files are cleaned, registry is cleaned and hard drives are already defragged.
Also if youve had windows a long time then youve probably added and removed quite a bit of hardware. It saves all this information and is best to remove.
Goto Start, right click My Computer and choose Properties, in Advanced tab choose Environment Variables, in System Variables at bottom click New, add:
Devmgr_Show_NonPresent_Devices
and then for Value 1.
Now reboot,
Go to Start, Run and type Devmgmt.msc
Goto View, Show hidden devices and delete all semi invisible things.