System Boot Process of BIOS
BIOS Boot Sequence Explained
Published by georgeks
06 Mar 2016
BIOS Boot Sequence Explained
Even though variations exist between manufacturers as to what their BIOS does during its boot sequence, the basic steps are the same, providing a good troubleshooting background.
1. Pressing the Power button, the first thing initializing is the Power Supply (PSU), but does not provide power to the system immediately. Instead, it first does an internal self-test, to determine whether it can supply the proper voltages required by the system and its peripheral devices.
If the self-test is successful, the PSU sends out a POWER GOOD signal to the chipset on the mainboard. Upon receiving it, the chipset issues a SYSTEM RESET signal to the processor.
2. When the processor receives the SYSTEM RESET signal, it accesses the Jump Address for the start of the BIOS boot program at its hard-wired preset address and loads it into RAM.
The jump address contains the actual address of the BIOS boot program on the ROM BIOS chip. The jump address is located at address FFFF0 (hexadecimal) or 1,048,560 (decimal) -but not always, as on certain processors like the Alpha can be changed- which is the upper end of the first megabyte of system memory.
3. Now the actual POST (Power On Self-Test) process begins, as the basic part of the BIOS is loaded to RAM.
Fatal errors during POST (that would prevent the system from operating properly) interrupt the Boot Process, triggering:
Note that, at this point in the boot process, only the system speaker is functional and can notify the user of errors.
- Predefined Beep Error Code sounds
- Displaying of Error Message(s)
4. If no issues occur, the boot sequence continues.
5. The BIOS loads the Video Adapter BIOS into memory, and continues booting the system by displaying the Video Adaptor’s information on the monitor.
6. At his point, all device-specific BIOS routines (e.g. HDD or SCSI devices) are loaded.
Next the system displays information regarding the manufacturer and the BIOS version, and begins a sequence of system tests, like counting all detected memory. As the display is now available, if any errors are detected during in this process, they are displayed on the monitor as a visual error message instead of a beep code played through the system speaker.
7. The system determines the presence and functionality of the devices listed in the CMOS configuration data, including device access modes and speeds tests.
8. The Ports (serial and parallel) are assigned their IDs (e.g. COM1, COM2, LPT1 etc) and after each device is discovered and configured, a message is displayed.
If (as is almost always the case now days) the BIOS supports Plug and Play (PnP) and this function is enabled, such devices are detected, configured and a message is displayed for each one sequentially.
9. A summary screen comes up when the configuration is confirmed, basically displaying the system as seen by the BIOS. This screen informs the user that the system has been verified and is ready for use.
In the data stored in the CMOS, the sequence in which the different storage devices are to be checked by the BIOS to locate the operating system is contained:
- For a FDD or an Optical Disk (CDD/DVD etc), the BIOS searches for the first sector of the media for the O/S boot program.
- For a HDD boot device, the BIOS searches for the MBT (Master Boot Record).
- In case a boot program is not discovered on the first device listed, the BIOS searches the next device(s) listed until a boot program is found.
- In case no boot device is found, a “No boot device available” error message is displayed and the Boot Sequence is halted.
--- The Post ---
The diagnostic routine built into the BIOS is called POST. It ensures that the hardware installed in a system is present and functional as expected. The POST verifies that the system is ready to initialize the boot sequence.
Interpreting an Error Beep Code requires access to information supplied by the manufacturer of the BIOS that generated that error Beep Code. All BIOS manufacturers have their own particular set of beep codes, which can also differ between versions.
- Errors detected during POST generate a signal indicating when in the process the error occurred and the device that generated them. The POST process usually continues past non-fatal errors, as not all POST errors are fatal.
- Upon detection of a fatal error, the POST initiates the corresponding error code halting the boot process.
- Upon detection of a fatal error BEFORE loading the drivers for the monitor, it signals the corresponding error code (Error Beep Code) by way of the system speaker.
Currently BIOS programs sound a single beep prior to displaying the boot screen, and continue with the boot sequence if no problem is detected. However, knowledge of a manufacturer’s beep codes can assist in the process of troubleshooting issues encountered during POST.
Below is a list of the Numerical Error Messages generated after the point that the video adapter has been initialized.
Code - Description
1xx - Mainboard errors
2xx - Main memory errors
3xx - Keyboard errors
5xx - Color graphics adapter errors
6xx - Floppy disk controller errors
14xx - Printer errors
17xx - Hard drive controller errors
86xx - Mouse error
Some boot errors can appear like POST errors, but in reality are often caused by new or recent addition(s) or changes to the system. A new HDD installation can result to a blank screen if the Master/Slave configuration is not properly entered in the CMOS. Unpartitioned HDD will result in a “No operating system found “error, new RAM may result in errors due to parity and /or timings, incorrect voltage to components can result on a hanging system and so on.