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 !!
Enable Quick POST - go into your initial "setup screen" to get into your BIOS (CMOS) settings - see your computer manual or the manufacturer's website is you can't figure out how. This disables processes like detailed memory checks and boot logos
Disable the Floppy Drive as a Boot Device - another setting in BIOS. You can remove the floppy as a device in the "boot device order". Typically the BIOS is set to check for boot devices in the following order: Hard Drive, Floppy, CD-ROM. It can add several seconds to your boot time. If you later need to boot from the floppy just go back in and temporarily change the setting.
Enable PnP-OS (Plug and Play) - usually this is already enable in the BIOS by default. This option stops the BIOS from detecting devices and lets the OS handle them. Since it’s the OS that finally enumerates the devices on the system anyway, this option reduces time significantly
use a higher level defragmenter - such as Perfect Disk 2000 - that enhances the Prefetch layout beyond the built-in defrag tool.
move your swap file to the fastest drive - if you have multiple hard drives, the second drive is usually faster because it has less stuff on it. To do this, right-click on "My Computer" and select "Properties". The click "Advanced" tab, click "Settings" under the Performance section, click "Advanced" tab, and click "Change" under the Virtual Memory section.
stop unnecessary auto-start items - see my auto-start page on where to find them and how to stop them
Reduce the number of Services that Load (Advanced Users Only) - streamline the number of default services that start with XP. Most XP installs will have 40-50 services set to Automatic, that take time to start and consume resources.
remove excess programs - goto Control Panel/Add-Remove Programs and get rid of every program that you do not use. Particularly, for users with Dell's, HP's, etc - remove all the "Extra's" they put on PC's that they put in there
Check your System event log for errors and warnings - this can help to track problems
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.