Functions
Due to more modern hardware, the BIOS has gained new functions over time. Not all of the items listed below were performed by the original BIOS on the first IBM PC. The further development of hardware over time (as of 2018, the BIOS concept is already at least 43 years old) has led to a series of iterative, incompatible additions that increasingly have the character of "patchwork" and reach their limits with 64-bit systems. Therefore, a BIOS successor was developed in the form of Extensible Firmware Interface (EFI, or UEFI).
Essentially, before the operating system is started, the BIOS performs the following functions:
An important part of the hardware initialization of a plug-and-play BIOS is the configuration and verification of installed plug-in cards.
For this purpose, information on the state and configuration of ISA, PCI and AGP plug-in cards and the corresponding resource allocation is recorded in a special memory area of the BIOS, the Extended System Configuration Data (ESCD for short) area. The information in the ESCD area is compared to the actual state of the system at boot time and updated as necessary when changes occur. The operating system accesses the information in the ESCD area and can store changes to the plug-and-play resource allocation there to prevent changes by the BIOS at the next boot.
- Prompt for a BIOS password (if configured)
- Prompt for a hard disk password (if configured)
- Display of a start screen
- Ability to access a BIOS configuration menu ("BIOS Setup")
- Calling BIOS extensions of individual subsystems that are either located on plug-in cards or integrated directly on the mainboard, e.g.:
- Determine from which disk you can and should boot
- Loading the boot sector; usually this is a boot loader.
After that the program takes control of the computer in the loaded boot sector. Usually the boot loader contained loads and starts the operating system installed on the corresponding data carrier either immediately or offers a menu for selecting an operating system (boot manager). With classic operating systems running in real mode (e.g. DOS), the BIOS is also used in further operation. It takes over the communication with various hardware for the operating system, e. g.:
Other, modern types of hardware are not served by the BIOS. To control a mouse, for example, a special hardware driver is required under DOS.
Newer, driver-based operating systems such as Linux or Windows do not use these BIOS functions. They load a special driver for each type of hardware. However, at the start of their boot process they still have to briefly fall back on the BIOS functions for controlling the hard disks via the boot loader in order to load their hard disk driver.
BIOS settings
To enter the BIOS setup program, a certain key or key combination must be pressed when the computer is switched on. On a few mainboards a certain jumper must be set.
The settings are stored in a CMOS memory, which is supplied with power via the mainboard battery even without a mains connection. Often this memory is combined with the system's real-time clock, since this must also always be supplied with power. In case of difficulties, the BIOS usually offers the possibility to set the default settings of the computer or the BIOS manufacturer. If it is no longer possible to get into the setup program (for example, because the computer no longer boots), the settings can usually be reset via a jumper on the mainboard (on all newer mainboards, the power supply must be switched off completely for this). If this is not possible, the CMOS memory can be erased by removing the battery. However, the latter requires some time until the capacitors are also discharged.
Security
The BIOS is the second level of security that can prevent unauthorized access to a computer, after physical security with locks or similar. In the BIOS setup, a password prompt can be set up for booting the computer. This does not fully secure the system, as the settings can be more or less easily overridden by tampering with the motherboard if the computer is physically accessed. Furthermore, this security only affects the motherboard on which the ROM containing the BIOS is located. If this is replaced or the hard disk(s) of the system is installed in another computer, all data can be accessed without any problems. In addition, the manufacturers have usually set up a fixed (recovery, master or supervisor) password in order to be able to restore access if the user has forgotten his own password.
Updating the BIOS
On old mainboards (with 286 to 486 processors) the option "SHADOW BIOS MEMORY" is available in the BIOS. The BIOS is copied in a separate procedure into the faster RAM (temporary shadow copy until the computer is switched off). Since (from later 486 / Pentium1) the predominant part of the BIOS is stored packed and thus a more favorable BIOS chip is sufficient, this option is no longer available, since the BIOS must be unpacked in any case into the RAM. Manufacturers like Award used the LHA format for packing their BIOS.
On modern motherboards, the BIOS is stored in a rewritable memory (more precisely EEPROM, usually flash memory). Therefore, it can be replaced by newer versions ("flashing") without removing this chip. However, since a computer cannot function without a complete BIOS, this process always poses a certain risk. If it is interrupted, for example by a power failure, the chip on which the BIOS is stored usually has to be replaced. As an alternative, reprogramming of the chip is also offered on the Internet by various institutions. Even soldered-on flash memories pose only a minor problem for specialist personnel. So-called serial flash memories are being used more and more frequently on new boards, which in some cases make it possible to be reprogrammed on the board via SPI-BUS in the event of an error.
Bootblock
Over time, American Megatrends, Award Software, Phoenix and other vendors developed "BootBlock"/Recovery BIOS areas which are then normally not overwritten during a flash operation. If the flash process failed, the "BootBlock"/recovery BIOS starts and allows to boot from floppy disk. With some BIOS variants, it is even possible to create a special recovery CD/diskette which automatically restores the BIOS even if the BIOS is defective by setting a jumper. This does not require any user input or graphical output, since these usually no longer work anyway when the BIOS is defective.
Some motherboards offer a so-called DualBIOS. In case of an error, the second (still intact) BIOS can take over the boot process and the change can be undone. This can be a lifesaver when flashing the BIOS, should the newly installed BIOS version not work. Furthermore, different BIOS settings can be loaded with a DualBIOS.
Since updating a Flash BIOS is already possible under a running Windows today, this opens up new entry routes for virus infestation. If, for example, a rootkit were to be installed in this way, it could once again seal itself off much more efficiently against detection and deletion. In addition, a crash of the operating system during flashing could possibly render the PC unbootable (see above).
BIOS manufacturer
A selection of manufacturers of BIOSes for IBM-compatible PCs:
- American Megatrends
- Phoenix/Award - Award and Phoenix merged in 1998. Award is supplied by the company as a desktop product. The Phoenix product line, on the other hand, is used for servers and laptops.
- MR BIOS
- ATI Technologies
- IBM
- Insyde