Google

BIOS Post Codes:

System BIOS

BIOS stands for Basic Input/Output System, although the full term is used very infrequently. The system BIOS is the lowest-level software in the computer; it acts as an interface between the hardware (especially the chipset and processor) and the operating system. The BIOS provides access to the system hardware and enables the creation of the higher-level operating systems (DOS, Windows 95, etc.) that you use to run your applications. The BIOS is also responsible for allowing you to control your computer's hardware settings, for booting up the machine when you turn on the power or hit the reset button, and various other system functions.

BIOS System Boot Operations

One of the most important functions that the BIOS plays is to boot up the system... [read more about BIOS System Boot Operations]

BIOS Startup Screen

When the system BIOS starts up, you will see its familiar screen display, normally after the video adapter displays its information... [read more about BIOS Startup Screen]

System Configuration Summary

Just before the BIOS begins booting the operating system from disk... [read more about System Configuration Summary]

BIOS Power-On Self Test (POST)

The first thing that the BIOS does when it boots the PC is... [read more about BIOS Power-On Self Test (POST)]

System Boot Sequence

The system BIOS is what starts the computer running when you turn it on. The following are the steps that a typical boot sequence involves. Of course this will vary by the manufacturer of your hardware, BIOS, etc., and especially by what peripherals you have in the PC. Here is what generally happens when you turn on your system power: 1. The internal power supply turns on and initializes. The power supply takes some time until it can generate reliable power for the rest of the computer, and having it turn on prematurely could potentially lead to damage. Therefore, the chipset will generate a reset signal to the processor (the same as if you held the reset button down for a while on your case) until it receives the Power Good signal from the power supply.
2. When the reset button is released, the processor will be ready to start executing. When the processor first starts up, it is suffering from amnesia; there is nothing at all in the memory to execute. Of course processor makers know this will happen, so they pre-program the processor to always look at the same place in the system BIOS ROM for the start of the BIOS boot program. This is normally location FFFF0h, right at the end of the system memory. They put it there so that the size of the ROM can be changed without creating compatibility problems. Since there are only 16 bytes left from there to the end of conventional memory, this location just contains a "jump" instruction telling the processor where to go to find the real BIOS startup program.
3. The BIOS performs the power-on self test (POST). If there are any fatal errors, the boot process stops. POST beep codes can be found in this area of the Troubleshooting Expert.
4. The BIOS looks for the video card. In particular, it looks for the video card's built in BIOS program and runs it. This BIOS is normally found at location C000h in memory. The system BIOS executes the video card BIOS, which initializes the video card. Most modern cards will display information on the screen about the video card. (This is why on a modern PC you usually see something on the screen about the video card before you see the messages from the system BIOS itself).
5. The BIOS then looks for other devices' ROMs to see if any of them have BIOSes. Normally, the IDE/ATA hard disk BIOS will be found at C8000h and executed. If any other device BIOSes are found, they are executed as well.
6. The BIOS displays its startup screen.
7. The BIOS does more tests on the system, including the memory count-up test which you see on the screen. The BIOS will generally display a text error message on the screen if it encounters an error at this point; these error messages and their explanations can be found in this part of the Troubleshooting Expert.
8. The BIOS performs a "system inventory" of sorts, doing more tests to determine what sort of hardware is in the system. Modern BIOSes have many automatic settings and will determine memory timing (for example) based on what kind of memory it finds. Many BIOSes can also dynamically set hard drive parameters and access modes, and will determine these at roughly this time. Some will display a message on the screen for each drive they detect and configure this way. The BIOS will also now search for and label logical devices (COM and LPT ports).
9. If the BIOS supports the Plug and Play standard, it will detect and configure Plug and Play devices at this time and display a message on the screen for each one it finds. See here for more details on how PnP detects devices and assigns resources.
10. The BIOS will display a summary screen about your system's configuration. Checking this page of data can be helpful in diagnosing setup problems, although it can be hard to see because sometimes it flashes on the screen very quickly before scrolling off the top.
11. The BIOS begins the search for a drive to boot from. Most modern BIOSes contain a setting that controls if the system should first try to boot from the floppy disk (A:) or first try the hard disk (C:). Some BIOSes will even let you boot from your CD-ROM drive or other devices, depending on the boot sequence BIOS setting.
12. Having identified its target boot drive, the BIOS looks for boot information to start the operating system boot process. If it is searching a hard disk, it looks for a master boot record at cylinder 0, head 0, sector 1 (the first sector on the disk); if it is searching a floppy disk, it looks at the same address on the floppy disk for a volume boot sector.
13. If it finds what it is looking for, the BIOS starts the process of booting the operating system, using the information in the boot sector. At this point, the code in the boot sector takes over from the BIOS. The DOS boot process is described in detail here. If the first device that the system tries (floppy, hard disk, etc.) is not found, the BIOS will then try the next device in the boot sequence, and continue until it finds a bootable device.
14. If no boot device at all can be found, the system will normally display an error message and then freeze up the system. What the error message is depends entirely on the BIOS, and can be anything from the rather clear "No boot device available" to the very cryptic "NO ROM BASIC - SYSTEM HALTED". This will also happen if you have a bootable hard disk partition but forget to set it active.

This process is called a "cold boot" (since the machine was off, or cold, when it started). A "warm boot" is the same thing except it occurs when the machine is rebooted using {Ctrl}+{Alt}+{Delete} or similar. In this case the POST is skipped and the boot process continues roughly at step 8 above.

BIOS Components and Features

There are several components and features that are commonly found these days as part of a modern BIOS. This section discusses the various physical components that make up the BIOS of a typical machine. It also discusses flashing, or updating, the system BIOS.

The BIOS ROM

The main hardware component of the system BIOS is the system BIOS ROM itself. This is normally located in an electrically-erasable read-only memory (EEPROM) chip, which allows it to be updated through software control. This is commonly called a flash BIOS.

The BIOS ROM is located in a socket on the motherboard and is relatively easy to locate because it is usually labelled with the name of the BIOS manufacturer. Most times this is Award, American Megatrends (AMI) or Phoenix. There is also often a version number on the chip, although the actual BIOS version within the chip may be different from what is labelled, because of the ability to flash the BIOS mentioned above.

Under normal circumstances, the BIOS ROM is permanent and there is normally no reason to need to deal with it in any way. If for some reason the BIOS ROM were to become corrupted due to an aborted flash update, for example, you might find your PC left in a state where it could not be booted. In this situation, you might have to physically replace the BIOS ROM, but this is a very rare happening.

BIOS CMOS Memory

The BIOS settings that you use to control how your PC works must be saved in non-volatile memory so that they are preserved even when the machine is off. This is as opposed to regular system memory, which is cleared each time you turn off the PC. A special type of memory is used to store this information, called CMOS memory, and a very small battery is used to trickle a small charge to it to make sure that the data it holds is always preserved. These memories are very small, typically 64 bytes, and the batteries that they use typically last for years. This non-volatile memory is sometimes called NVRAM.

CMOS stands for "Complementary Metal Oxide Semiconductor". This is one type of technology used to make semiconductors (integrated circuits) such as processors, chipset chips, DRAM, etc. CMOS has the advantage of requiring very little power, compared to some other semiconductor technologies. This is why it was chosen for this use, so that the amount of power required from the battery would be minimal, and the battery would be able to last a long time. This memory came to be called just "CMOS" since in the early days most parts of the computer did not use CMOS. Ironically, with today's processors having to do more and more and needing to do it with lower power consumption, they themselves are typically made entirely with CMOS technology. However, "CMOS" by itself usually still refers to the BIOS settings memory. Old habits die hard in the computer world.

The system uses something called a CMOS checksum as an error-detecting code. Each time you change the BIOS settings, the checksum is generated by adding together all the bytes in the CMOS memory and then storing the lowest byte of the sum. Then, each time the system booted, the system recomputes the checksum and compares it to the stored value. If they are different, then the system knows that the CMOS has been corrupted somehow and will warn you with an error, typically something like "CMOS Checksum Error".

There are many different types of batteries used to power the CMOS; mostly, these have changed over time as technology has evolved. These batteries are discussed here. You will not normally have to deal with the CMOS memory directly; it holds the settings you enter in the BIOS setup program. Over time, it is possible you will have CMOS problems; for example, you may find that the machine may begin to forget its settings when it is booted. These are usually signs of trouble with the motherboard battery.

In addition to the standard CMOS memory used to hold system settings, Plug and Play BIOSes use an additional non-volatile memory to hold extended system configuration data (ESCD). This is used to record the resource configurations of system devices when Plug and Play is used.

BIOS Updates and The Flash BIOS

As you can see by looking at the rest of the information on the BIOS, it is a very important program indeed. Its quality and modernness determine the features and capabilities of your machine to a large degree. The most famous example of this is support for IDE/ATA hard disks over 504 MB; the only change necessary to support these larger drives in most cases is a BIOS capable of doing the geometry translation. There are other examples as well; many motherboard manufacturers are able to expand the capabilities of their boards, or fix problems with them, by making changes to the BIOS and either giving free downloads or selling upgrades, just as software application houses like Microsoft, Lotus, etc. do.

The BIOS program in your PC is programmed into a read-only memory (ROM). ROMs are, of course, not rewriteable the way RAM is; that is why they are called "read-only". This presents a problem when you want to update your BIOS. In "the old days" when you wanted to update your BIOS, the manufacturer sent you a new BIOS chip; you opened the box, pulled out the old chip, and put the new one in. Needless to say, this is a pain. Fortunately, technology came to the rescue through the invention of the flash BIOS. Some machines still require the physical upgrade but by using the flash BIOS, most newer machines can upgrade using special software without having to open the case at all.

Machines with flash BIOS capability use a special type of BIOS ROM called an EEPROM; this stands for "Electrically Erasable Programmable Read-Only Memory". As you can probably tell by the name, this is a ROM that can be erased and re-written using a special program. This procedure is called flashing the BIOS and a BIOS that can do this is called a flash BIOS. The advantages of this capability are obvious; no need to open the case to pull the chip, and much lower cost.

Many motherboards have a special "safety feature" to prevent accidental (or malicious) changes to the flash BIOS--a jumper that must be changed before performing a flash BIOS upgrade. While this is a security feature, it also obviates one of the great advantages of the flash BIOS, namely not having to open the case! Your motherboard manual will tell you whether you have a jumper or not. With the increasing commonality of viruses that can change flash BIOS code, this may soon be a feature on every motherboard.

There is one big disadvantage to using the flash process to upgrade your BIOS. While the BIOS is actually being flashed, it is in a very vulnerable state. If you are really unlucky and something very bad happens in the middle of the upgrade (for example, a power outage), it is possible to end up with a corrupted BIOS chip. You can also end up with a corrupted system if you boot the wrong flash BIOS image into the chip--motherboard manufacturers usually use an unintelligent, universal flash program that will happily program the entirely wrong BIOS image into your system if you tell it to! Fortunately, some manufacturers are now making these programs smarter. For example, Award's flash program checks the name of the image file against the model of motherboard and will complain if there is a mismatch. (Good idea, guys!)

If your system becomes corrupted to the point where it will not boot, you are in a catch-22. Your BIOS is corrupted, so you can't boot the PC, and since you can't boot the PC there's no conventional way to re-flash the BIOS. See this section in the troubleshooter for ideas on recovering from this problem.

Fortunately, BIOS chip corruption is quite rare; the BIOS is a small program and flashing it usually takes only a few seconds. Still, it's not something to try in the middle of a thunderstorm, and I try to use a UPS when doing this type of work, if possible. And be sure you are using the right BIOS image.

The Boot Block

The preceding section discusses updating the program code in the system BIOS by flashing it (replacing it under software control). If the flash procedure is done improperly, the BIOS code can become corrupted, which will cause the system to go into an unbootable state. Many newer systems come with a feature where a 4 KB "boot block" program is included as part of the BIOS. This is a tiny piece of code whose job it is to recover from a situation where the BIOS code is incorrect or corrupted.

If your motherboard supports this feature, when the PC tries to boot and finds the BIOS code corrupted, the boot block will try to recover the BIOS code, usually by reading it from a specially-prepared floppy disk. You may have to change a jumper on the motherboard to enable this capability, and you may need to make use of a "plain vanilla" ISA video card. The boot block will load the BIOS code and then when you next reboot, the regular BIOS code should be in place and the problem resolved.

You will need to follow the special recovery procedure outlined by your motherboard manufacturer if you want to take advantage of this feature.

Plug and Play

The BIOS is one of the four major parts of the system whose cooperation is required in order to implement Plug and Play features on a PC. In short, Plug and Play (also called "PnP" for short, I won't get into its sarcastic nicknames here :^) ) is a system whereby your PC hardware, BIOS and operating system work together to identify and configure resource usage by hardware devices automatically. The intention is to reduce the number of resource conflicts, jumper settings, and manual driver setups required to get the system to work.

The BIOS is a key part of this; in fact it does much of the work of identifying and configuring expansion cards, and passing configuration information on to the operating system. Plug and Play in general is discussed in detail here.