Whenever any computer boots up it runs a series of checks to ensure that the computer has all the necessary hardware and that it’s working correctly. This process is called POST or Power On elf Test. It is part of the BIOS initialisation process that a computer does as it starts booting up. If any of the checks that the POST performs fail, the computer will not boot, though the BIOS may be displayed.
What does POST check?
The first thing that POST checks is the CPU registers, it also verifies the integrity of the BIOS code. Some basic functions such as Direct Memory Access DMA, timers, and interrupt controllers are verified. System RAM is verified, has its size determined, and is initialised. The Chipset is initialised. All system busses and connected devices are discovered, catalogued, and initialised. The full BIOS will be initialised, generally providing the BIOS interface, allowing system configuration. Any device-specific BIOSs are loaded. Bootable devices are identified, and one is selected for booting. Finally, the POST process launches the bootloader to load the operating system from the chosen boot device.
In a modern computer, a selection of boot devices are available. Typically, one will be identified as the default boot device, however, by entering the BIOS configuration screen, it’s possible to change which device is booted from this time, or which device will be considered the default in the future. Early computers didn’t allow reordering of boot devices and were hard locked to booting from a floppy drive if present and falling back to a hard drive if no floppy drive was available. Having a boot device near the top of the list that isn’t physically present doesn’t slow down the boot process, as the POST identifies if the device is present and bootable earlier in the process.
Again, in modern computers, one of the things the BIOS checks is the circumstances of the boot. If the computer is performing a cold boot it needs to perform all tests. If it’s warm booting, however, such as after a restart, or if quick-boot is enabled, some steps may be skipped as the data is still loaded in memory.
How can you work out the issue when the POST fails?
The POST process will typically provide a small subsection of its results on the BIOS splash screen. This screen is typically vendor branded and is paused on for a short amount of time in the boot process, to allow the user to press a specified key to enter the BIOS configuration screen. This subset of data is typically limited to RAM capacity and speed, though many BIOSs also display processor core counts and clock speeds. By the time the computer’s boot process gets to this point, however, the POST process has been successful.
In many cases, if there is an issue with the hardware of the system, the computer won’t be able to boot, and potentially may not be able to even load the BIOS. At this point in the boot sequence, the computer can’t output any data to a screen. Additionally, it’s entirely possible that one of the failed components is the screen. To allow troubleshooting of POST issues, two main notification systems are used.
The first notification system is a “system speaker” which is a small speaker on the motherboard. Any actual speakers aren’t available at this part of the boot process. The system speaker produces one of a range of tones that indicate what the issue is. Typically, the motherboard manual would need to be consulted to work out what specific beeps meant. Many computers with a system speaker would make a single beep if the boot process was successful. This was often fairly loud.
The second notification system is typically a pair of seven-segment displays. These display a two-digit code depending on the error. Again, the motherboard manual would typically be needed to decipher what the error code means. Some modern motherboards also offer a series of LEDs that do the same thing.
Conclusion
POST stands for Power On Self Test. It’s a series of checks performed as part of the BIOS initialisation process. If all the checks are successful, the system will boot. Some checks, however, will halt the boot sequence if failed. A motherboard normally features at least one method of informing the user of POST failures, allowing debugging of the issue.
Did this help? Let us know!