Boot Faster

Microsoft OSs have always had the dubious distinction of becoming slower with every new version. However, Win XP bucks this trend by booting faster than its predecessors—Win NT/2000 on the same hardware. Here’s how they did it.

The XP Boot Process

The boot process has three parts. The first happens when a computer is powered on—the system BIOS goes through a Power On Self Test (POST) like RAM check, floppy, hard drive and CD-ROM drive detection. Next, the BIOS loads the boot loader in the MBR (Master Boot Record) of the active partition. Finally, once the boot loader is initialized, the OS starts to boot. This typically takes the longest as the OS does a lot of different tasks. It loads the core OS, mounts disks, loads device drivers, reads the registry, looks for new devices, initializes the display and shows the user shell. It also makes network connections and other custom settings like security at this time. Win XP works with the hardware such that this is faster. 

If you’re buying a new system and installing XP on it, look for a motherboard that supports the Simple Boot Flag Specification in its BIOS. This allows the BIOS and OS to work together and optimize speed. It minimizes BIOS memory tests and video ROMs, doesn’t initialize devices for a PnP OS, starts disk spin-ups earlier and disable boot logos and floppy drive.

Win XP also has a new and improved boot loader (NTLDR). The Boot Loader is responsible for reading and loading the core OS and its system files. In Win XP, the boot loader caches files and directory information and reads system files in a single I/O pass, thereby leading to a significant boost in loading of the OS kernel. The kernel also contains improvements to optimize boot time. It now overlaps disk I/O with device initialization, wherein devices are detected and drivers loaded into memory as they’re being read from the disk. Also device drivers for XP are written such that only the device to be used is initialized. The network is also initialized during system boot and not after. 

Win XP also uses ‘pre-fetching’ to load drivers, services and the shell into memory before they are actually needed. This is done by studying previous boots and optimizing the load pattern for the necessary files. This process is also applied to applications on the system. Every application is analyzed by the system when it starts up the first few times. It then creates a virtual ‘memory-map’ of what the application requires during different times of running and saves this information into the WINDOWS\PREFETCH folder. Once the mapping is done, the application loads much faster. The prefetch data is stored for the previous eight boots or application launches. 

The next thing that Win XP does is cache network connections and settings, which will give you a faster connection to a network than in previous Windows. Win XP by default uses cached network views rather than real-time ones. So when you actually initiate a view, it shows you the cached version, and tries to make the actual connection in the background. This reduces the number of network interruptions, and won’t slow down your work even when there’s an unavailable domain, DHCP or DNS server error, or even a disconnected network cable. If there’s a problem, it will inform you in an appropriate manner such as a balloon tip. 

Speed it Up !!

Bootvis

Microsoft made a tool that analyses, displays and can optimize the system’s boot process. Then for no apparent reason - THEY REMOVED IT from their website and removed all references to it !!  It’s called BootVis and is available at many places - see http://www.softpedia.com. Download and extract the files to a folder on your disk and run the BootVis.EXE program. Close all other applications and once the program loads up, select File>New>Next Boot+ Drivers Trace. Your system will reboot in 15 secs. Once back from reboot, wait for certain files to get written to the drive—you’ll see a message stating that. After this finishes, the program loads up again and displays a number of graphs. Detailed help about each graph is available in the program, so I’ll not go into them. Suffice to say that these graphs represent the time required to load the different components mentioned as part of the boot process in this article. 

To truly optimize the system, you should run the Bootvis several times. Then, select Trace>Optimize system from the menu and wait for another reboot. This one may take a slightly longer time than earlier ones. Defrag the system immediately after you’ve logged back in and subsequent bootups will see a much more improved boot time.