One of the more attractive features of Windows XP is how quickly it boots up. Microsoft claims that some parts of the bootup process are four to five times faster than under Windows 2000, and has set design goals that sees the system resume from Standby in five seconds or less, with a full bootup from cold taking less than 30 seconds.
The fast-boot optimisations in Windows XP include pre-fetching data into memory during bootup, so that the system doesn't have to go to the much slower disk when it starts up. Some of the device initialisation process is now done in a more parallel fashion, meaning the operating system fires up your hardware as quickly as possible, not waiting for one device to be ready before trying to start up another. The devices are initialised and enumerated more quickly, too.
In fact, the whole boot process has been slimmed down, with some services either removed or deferred until after the operating system has come up. Just as with the device initialisation, the boot process has become "de-serialised" - for example, Microsoft says that the Winlogon process no longer waits for the network initialisation to complete before the logon dialogue appears.
Windows XP supports other, non-OS specific optimisations as well, such as the Simple Boot Flag specification for BIOS in newer PCs, which aims to minimise the amount of time spent by the system doing slow stuff like memory checks and enumerating hardware during startup.
Speed 'em up
What can you do to speed up your system booting? One reason for the high memory requirements of Windows XP is the Fastboot optimisations: the pre-fetch operation mentioned above requires a good chunk of RAM to stuff all the data into. That's why a 64MB system will be noticeably slower to start up than a 128MB one. However, although more than 128MB is great for running a lot of applications, bootup performance gains are minimal with added RAM.
Naturally, a fast hard disk helps - you can shave seconds off the bootup time with a 7200rpm IDE disk that has large (2MB or more) onboard buffers, and high-density platters that minimise seek and access times.
If you have to choose between a fast hard disk and bringing up the system to 128MB or more, go for the added RAM. Not only will your system boot up more quickly than if it had 64MB and a fast 7200rpm hard disk, overall system performance will also improve.
Use NTFS, especially on large hard drives. On drives bigger than 8GB, the File Allocation Table (FAT) becomes rather, um, fat: up to 8MB with Microsoft's standard cluster sizes, or up to 64MB if you force the disk to use small clusters (4KB). As FAT is read into memory at bootup in its entirety for caching (it's a frequently-accessed disk structure), this slows down the system startup considerably.
In contrast, NTFS volumes need only have the meta-data (data about where data is located on the disk, and how) for the required files read in, and not all the information about the entire disk structure. This helps hasten bootup.
Note that if you convert your disk from FAT32 to NTFS (with the convert.exe utility), you will forego some of the performance gains. Ideally, the volume should be created as NTFS during Windows XP setup, to give the operating system the maximum amount of flexibility to order the disk structures in the most efficient manner.
The old advice about keeping your disk volumes in good shape by defragmenting them also applies to faster bootups; remember that even NTFS volumes fragment files over time.
Finally, be careful with various utilities such as keyboard drivers/filters, anti- viruses, and esoteric device drivers, etc., that are loaded at bootup time. If they are poorly written, they could block the bootup process.
If your system's slow to boot, it could be related to your hardware. Computers with SCSI devices take longer to start up, as the host adapter initialises each device on the SCSI bus one after the other.
Tools and tips
Microsoft provides a tool to analyse the bootup process with, called bootvis.exe (see FIGURE 1). Get it at http://download."microsoft.com/download/whistler/BTV/"1.0/WXP/EN-US/BootVis-Tool.exe.
For instructions and tips on how to "use bootvis.exe, go to www.microsoft.com/hwdev/platform/performance/fastboot/default.asp and snag the Fast System Startup for PCs Running Windows document. It contains a very good summary of what happens during the boot process as well, to help you understand where the possible bottlenecks lay and how to remove them.