The term boot is short for bootstrap, and the metaphor is to imagine a person wearing boots who reaches down, pulls on their bootstraps, and lifts themselves into the air. Of course, this is only possible in cartoons, but it is a vivid image. With the power off, a computer is a dead hunk of silicon, steel, and wires. During the boot process, it has to wake up, find all of its peripherals, and configure itself to run software. It takes some doing to make all of this happen.
The process begins with the BIOS (Basic Input Output System), which is a series of instructions that are contained on a ROM (read-only memory) chip. In addition to the ROM BIOS there are settings that are held on a battery-powered chip. This chip is frequently made of a special material called CMOS (complementary metal oxide semiconductor). These settings are configurable by the user, and can be accessed at the beginning of the boot process by pressing a special key, such as F1 or Delete. The settings held in the CMOS tell the computer which disk drives are present, and the order in which these disks should be checked for boot information.
The very first thing that happens in the boot sequence is the POST (Power
On Self Test). This is run from the BIOS, and allows the computer to check for memory (you see it clicking through the available memory on your screen), check for a keyboard, and check for disk drives. If it does not find these things, it gives an error, sometimes on the screen, but more often by emitting a series of beeps through the pc built-in speaker. There are different varieties of BIOS, and each has its own BEEP codes, which are used to diagnose problems during the boot process. On the screen you may see errors like “keyboard failure”, “Failure accessing floppy disk”, etc.
Assuming that the keyboard is working, the memory is there, and it can find the proper disk drive, the BIOS then looks to the appropriate disk for further instructions. Whether a floppy or a hard disk drive, the very first
sector of a bootable disk ( the boot sector) contains the Master Boot Record (MBR). The Master Boot Record contains information on where to go next in the boot process. If the Master Boot Record is found, the boot process goes forward. If it is not found, or is damaged in some way, you may
receive an error that says that the disk is not bootable, or is “not a system disk”.
Everything said up to this point is generically true of the boot process for all Intel-based PCs, regardless of the operating system. From this point on, the details will be given for DOS. Some of these steps you may find are retained in Windows, but that is not our concern here.
The DOS Boot Process
When DOS was first used by IBM for its personal computers, the OS was called PC-DOS, and IBM gave certain names to the files that made them sound like IBM-specific files. But as soon as clone-makers (e.g. Compaq, Dell)
starting making IBM-compatible clone computers, Microsoft released a clone version called MS-DOS, and renamed some of those files. Now MS-DOS is much more widely used than PC-DOS, and MS-DOS names are more common.
For DOS systems, the MBR will point the computer to two hidden start-up files. The first of these files is IO.SYS (or for IBM computers, IBMBIO.COM).
This must be the very first file (physically) on your boot disk or your disk will not boot. The second file is called MSDOS.SYS (or IBMDOS.COM for IBM computers). This must be the second file (physically) on the boot disk or it will not boot. This is why you cannot create a boot disk by simply copying these files to blank floppy disk. They would be on the disk, but they would not be in the proper position for the boot process to find them. To create a “system disk”, you need to use a particular command that tells the computer to place these files in the precise position needed for booting to occur.
The DOS Boot Sequence
IO.SYS (or IBMBIO.COM) contains the interface between MS-DOS (or PC-DOS) and the I/O subsystem. This allows the OS to communicate with the basic peripherals and perform input and output tasks.
MSDOS.SYS (or IBMDOS.COM) is the Kernel of the OS. It interacts with the hardware and helps process the various DOS functions.
Both IO.SYS and MSDOS.SYS are hidden files, which means that ordinarily
you would not be aware of them, and they would not appear in a directory listing. This is to protect the OS from someone mistakenly deleting these key files and rendering the computer unable to boot.
The third file to be loaded is CONFIG.SYS. As the name implies, this file contains information that helps to configure your system. This is where you would install devices and drivers, for instance. In DOS it is common to have your mouse, sound card, and CD-ROM drive installed here, as well as certain memory management and other functions. If there is no CONFIG.SYS file present, a default version contained within MSDOS.SYS is loaded.
The fourth file to be loaded, which is automatically added to the disk when you make a system disk, is COMMAND.COM. This file does not need to be in any particular physical location on the disk, but does need to be in the root directory. This file is a command interpreter, which means that it can interpret the commands you issue. Every OS has some type of command interpreter, though they may use a different name. In Unix (and Linux), for instance, the command interpreter is generally called a shell.
COMMAND.COM interprets all of the InternalCommands. We’ll discuss these later, but for the moment think of them as the most common commands that DOS uses.
The fifth, and last file to be loaded is AUTOEXEC.BAT. This is a batch file, which means that it contains a series of commands that are executed whenever the file is run. This file is “automatically executed” when you boot, hence the name. If there is no AUTOEXEC.BAT file present, a default version is run. You can usually tell because if the default version is run you will be asked to enter the date and the time.
After all of this, if it all works correctly, you will finally see the prompt, which will most likely look like one of these:
Summary of the DOS Boot Sequence
- Command prompt