Diagnosing System Startup Failures
Diagnosing PC bootup problems can be the most difficult of tasks for several reasons. Diagnosis requires logical reasoning, which in itself requires that the person doing the diagnosis understand the system events that are supposed to occur, and in which order. Further, many of the clues that might be available require specialized diagnostic equipment that the average user does not possess. Fortunately, even without the use of diagnostic tools, the most common boot-time errors can be resolved by with a little knowledge, a few common components and a bit of patience.
The BIOS (Basic I/O System) is the very first program run by the PC, and resides in a ROM chip (Read Only Memory), which is also called Non-Volatile memory. The BIOS program initializes the standard devices, such as the memory controller, video controller, IDE controller and floppy controller. Using stored parameters, it initializes the motherboard chipset, and sets timing parameters. It also creates an interrupt vector table and provides a set of services, accessible through interrupts, that allow access to the standard I/O devices. Following is a brief description of the entire PC boot process, which can be extremely helpful in identifying and resolving problems.
- When power is applied to the motherboard, the reset signal is turned on to the CPU. This prevents it from fetching any instructions until all power supply voltages are valid and the system is ready for initialization.
- Once the output voltages from the power supply have stabilized, it will send a power good signal to the motherboard. The motherbord timer receives this signal, and turns off the reset signal, allowing the processor to fetch the first instruction
- The first instruction fetched by the processor is from address FFFF:0000h, which is generally a branch instruction to the ROM BIOS starting address.
- The first BIOS routine initializes and tests the various system controllers, which are now mostly embedded into the chipset, and initializes the video controller. If there are any errors initializing the memory or video controllers, an error will be returned from this routine and the system will stop. Generally, there will be some type of audible error signal emitted from the PC speaker
- The next BIOS routine will then will look for any additional ROM chips that may be installed on adapter cards (such as SCSI controllers cards), and run their routines.
- At this point, a specific location of memory is tested for a value of 1234h, which indicates that this is a ‘cold’ start. A cold start means that this is the first time power has been applied, while a warm start means that the reset button has been hit (or the vulcan death grip has been applied). If it is a cold start, the full POST (power-on self test) routine is run, which performs additional tests on the motherboard, memory, video card, keyboard, floppy, etc. If it is a warm start, this routine is skipped
- Once the full POST routine is completed successfully, the boot devices stored in the CMOS area are checked one at a time for a valid OS loader program, which then initializes the operating system and will most likely return control to the user.
Each of the tests run during the POST routine have their own code, which can be displayed with a POST card that is inserted into an ISA or PCI slot. In this manner, technicians can determine exactly which routine has failed, and can determine what, if any, corrective measures can be taken. Recently, some motherboard manufacturers have included an LED on the motherboard which displays these codes, making it much easier for the user to determine the problem and communicate that to tech support personnel.
The codes and audible signals vary by BIOS manufacturer, so it is necessary to know which BIOS your motherboard has in order to diagnose any errors. At the end of the next page, there are links to the most common BIOS manufacturer websites, which contain downloadable documents with all of the information necessary to determine what each error code means.
The next page contains the actual troubleshooting process, which is presented as a sort of ‘cookbook’ approach that outlines the various steps that can be taken to identify the cause of the most common problems seen during the boot process.
Be the first to discuss this article!