The MS-DOS Boot Process
The System Boot Sequence consists of a series of events that the system performs when it is turned on (or rebooted with the reset switch). This always starts with the special boot program software that is in the system BIOS ROM on the motherboard. The BIOS performs several steps to test the system and make it ready before an operating system can be loaded. These steps are explained in detail here: The Master Boot Record and the System Boot Sequence.
Once the BIOS has completed its testing and system configuration, it begins the process of loading the operating system. The BIOS accomplishes this by searching the installed drives for a Master Boot Record in which is contained a boot code. Once found, the boot code is executed and the system is boot into the operating system. When looking for this Master Boot Record, the BIOS will search for boot devices (drives) in the order specified in the BIOS configuration settings controlling this aspect of the boot sequence. If it cannot find a boot device it will terminate with an error.
If the operating system is MS-DOS®, or any variant of Windows® other than Windows® NT or Windows® 2000, that starts out by booting the equivalent of DOS, then a specific operating system load sequence commences, which is referred to as the DOS Boot Process. If you are booting into Windows, additional steps are performed after the underlying MS-DOS® operating system has loaded.
The steps below takes you through the boot process from the hard disk. If you were to boot from a floppy disk, the steps would only differ slightly in the first few steps, as the floppy disk structures are slightly different. Floppies cannot be partitioned, and hence have no master boot record or partitions. This means that the master boot record issues are skipped.
MS-DOS boot process:
- The BIOS, having completed its test and setup functions, loads the boot code found in the master boot record and then transfers control of the system to it. At that point, the master boot record code is executed. If the boot device is a floppy disk, the process skips to step 7 below.
- The next step in the process is the master boot code examining the master partition table. It first must determine if there is an extended DOS partition, then it must determine if there is a bootable partition specified in the partition table.
- If the master boot code locates an extended partition on the disk, it loads the extended partition table that describes the first logical volume in the extended partition. This extended partition table is examined to see if it points to another extended partition table. If it does, this second table is examined for information about the second logical volume in the extended partition. Logical volumes in the extended partition have their extended partition table chained together one to the next. This process continues until all of the extended partitions have been loaded and recognized by the system.
- Once the extended partition information (if any) has been loaded, the boot code attempts to start the primary partition that is marked active, referred to as the boot partition. If no boot partitions are marked active, then the boot process will terminate with an error. The error message is often the same as that which occurs if the BIOS could not locate a boot device, generally shown on screen as “No boot device”, but also can show up as “NO ROM BASIC – SYSTEM HALTED”. If there is a primary partition marked active and there is an installed operating system, the boot code will boot it. The rest of the steps presume this example is of an MS- DOS primary partition.
- At this stage, the master or volume boot sector is loaded into memory and tested, and the boot code that it contains is given control of the remainder of the boot process.
- The boot code examines the disk structures to ensure that everything is correct. If not, the boot process will end in an error here.
- During the next step, the boot code searches the root directory of the device being booted for the operating system files that contain the operating system. For MS-DOS, these are the files “IO.SYS”, “MSDOS.SYS” and “COMMAND.COM”.
- If no operating system files are found, the boot program will display an error message similar to “Non-system disk or disk error – Replace and press any key when ready”. Keep in mind that his message does not means that the system was never booted. It means that the BIOS examined the floppy disk for example and just rejected it because it couldn’t boot an operating system. The volume boot code was indeed loaded and executed, as that is what posts the message when it can’t find the operating system files.
- In the final stages of the boot process, presuming that the operating system files are found, the boot program will load those operating system files into memory and transfer control to them. In MS-DOS, the first is IO.SYS and its code is executed. IO.SYS will then execute MSDOS.SYS. Then the more complete operating system code loads and initializes the rest of the operating system structures beginning with the command interpreter COMMAND.COM and then the execution of the CONFIG.SYS and AUTOEXEC.BAT files. At this point the operating system code itself has control of the computer.
If any of the Windows 95/98/ME versions were being started, the above would only be the beginning of the startup process. When MS-DOS starts in anticipation of loading these Windows versions, there are many more routines that are loaded and executed as part of the boot process, which includes such tasks such as reading the system registry, initializing hardware devices and starting the graphical user interface or operating system shell. We hope this has given you a better understanding of what occurs during the boot or startup process of your computer.
Notice: Windows® 95, Windows® 98, Windows® NT, Windows® 2000 and Microsoft® Office are registered trademarks or trademarks of the Microsoft Corporation.
All other trademarks are the property of their respective owners.