Normal file fragmentation scatters the pieces of a file all over your hard disk. This invariably also affects the files that load at boot time. You can defragment the files that load at system startup to enable faster loading. By this optimization of Boot Files the start up time of the system is made faster.
First Navigate to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction
A setting called Enable under this key needs to be set to Y (for Yes). This setting defragments the boot files, and it might relocate startup files into contiguous clusters on the volume, reducing the movement of the disk head when reading the volume.
With the setting at Y, boot file optimization occurs automatically if the system is idle for 10 minutes. A reboot is required for the change to take effect. This may not reduce your start up time by a large time but it does have some effect on the booting time.
I use Diskeeper to defrag my drives and it does a great job in automatic mode. Does a neat boot defrag. Diskeeper works well even if the free space on the volume drops below 15%. Best among the defraggers I’ve tried.