DC2004, Chapter 8 Errata and Remarks

Pages 8.04 - 8.06

Boot Sequence

The description of the boot sequence given in the text looks pretty good.  Here is another description, written before Windows ME/ XP.

    The following is from Mark Minasi, The Complete PC Upgrade & Maintenance Guide, Sybex, (2000).

    The boot sequence in Microsoft Windows after power-on is:

  1. Identify and enable devices
    1. Load the Instruction Pointer with the address of the bootstrap program and begin execution.  On a PC, the bootstrap program resides on a Read Only Memory chip called the BIOS ROM.  The address (in hexadecimal) is FFFF:0000h.  The BIOS ROM occupies addresses 960kB - 1024kB.
    2. Test low memory, 0kB - 640 kB.
    3. Scan and run other BIOS resident in ROMs on adapter boards.  Do until no more adapter BIOS ROMs are detected:
      1. Detect adapter board ROM presence.
      2. Run initialization code resident in ROM on adapter board.
  2. Perform Power On Self Test (POST)
    1. Test system memory.
    2. Fetch disk drive data from the BIOS CMOS memory chip.
  3. Locate and Load the Operating System
    1. Scan, in sequence, various disk drives (magnetic and optical) for the boot disk Master Boot Record (MBR), which is 512 bytes long.
      1. On older computers, the scan sequence is Floppy Drive A:, Hard Disk Drive C:
      2. On newer computers, the scan sequence is Primary CD or DVD drive (D:, E:, or F:), Zip Drive (D:, E:, or F:), Floppy Drive (A:), Hard Disk Drive (C:)
    2. Transfer control from BIOS ROM program to MBR boot program.
    3. The MBR boot program looks at the bootable partition table to locate the bootable partition.
    4. The MBR boot program loads code from the first sector of the bootable partition, called the DOS Boot Record (DBR), and transfers control to it.  (If you have a boot sector virus, this is when it is loaded.  Booting from a floppy bypasses this.)
    5. At this point, the boot process depends upon the operating system.
MS-DOS Windows 9x Windows 2000 Windows NT
DBR loads IO.SYS and MSDOS.SYS DBR loads IO.SYS and MSDOS.SYS DBR loads IO.SYS DBR loads IO.SYS
IO.SYS loads and runs CONFIG.SYS IO.SYS loads WIN.INI and SYSTEM.INI, and/or Windows Registry. IO.SYS loads WIN.INI and SYSTEM.INI, and/or Windows Registry. IO.SYS loads WIN.INI and SYSTEM.INI, and/or Windows Registry.
Load COMMAND.COM      
COMMAND.COM loads and executes AUTOEXEC.BAT and starts the GUI      

Load operating system initialization files.