Basic Input Output System (BIOS)


Das BIOS ist als einziges Programm in der Lage, direkt mit der Hardware zu kommunizieren. Dazu werden Befehle in Register geschrieben, die dann von den einzelnen Hardwarekomponenten ausgeführt werden.

Der Programmcode des BIOS befindet sich in einem ROM-Baustein auf dem Motherboard. ROM bedeutet "Read Only Memory". Der Programmcode des BIOS lässt sich also nicht verändern. Heute werden in der Regel Flash-EEPROMs (Electically Eraseable, Programable, Read Only, Memory) eingesetzt, die durch ein spezielles Tool gelöscht und neu beschrieben werden können. Auf diese Weise wird das sogenannte BIOS-Update ausgeführt.

Nach dem Einschalten des Computers, überprüft das BIOS die Funktionsfähigkeit des CMOS. CMOS steht für "Complementary Metal Oxide Semiconductor" und speichert die im BIOS getätigten Einstellungen. Allerdings speichert das CMOS diese Informationen nur solange, wie es von der Batterie des Mainboards mit Strom versorgt wird. Beim Entfernen der Batterie gehen alle Einstellungen des BIOS verloren. Auf diese Weise lässt sich auch ein vergessenes BIOS-Passwort zurücksetzen.

Sobald der Computer hochfährt, werden die Informationen aus dem CMOS ausgelesen. Dann beginnt das BIOS mit dem Power On Self Test (POST). Dieser läuft wie folgt ab:

  • CPU
    Zuerst werden vom BIOS die Error Flags in der CPU gesetzt, überprüft und zurückgesetzt. Mögliche Fehlerquelle/n: die CPU oder der Clock Chip.

  • Initialize Support Chips
    Das BIOS schaltet Video, Parity DMA und NMI ab, initialisiert dann die PIT, PIC und DMA Chips. Mögliche Fehlerquelle/n: ein Defekt der PIT, PIC oder DMA Chips.
  • Refresh
    Das BIOS testet die Refresh Fähigkeit des PIT Chips. Mögliche Fehlerquelle/n: die PIT oder DMA Chips.

  • Initialize Keyboard
    Das BIOS initialisiert den Tastatur Controller und die Tastatur. Mögliche Fehlerquelle/n: die Tastatur oder der Controller.

  • ROM BIOS Test
    Das BIOS erzeugt eine Prüfsumme der eigenen Daten und vergleicht das Ergebnis mit einem Vorgabewert, die Prüfung muss 00 ergeben. Mögliche Fehlerquelle/n: das ROM BIOS.

  • CMOS Test
    Das BIOS erzeugt einen Test des CMOS Chips. Dieser Test soll auch eine defekte Batterie erkennen. Mögliche Fehlerquelle/n: entweder der CMOS Chip oder die Batterie.

  • Memory Test
    Das BIOS testet die ersten 356K des Speichers, mit einigen Routinen in den Chipsets. Mögliche Fehlerquelle/n: der Speicher.

  • Cache Initialisierung
    Das BIOS aktiviert jeden externen Cache. Mögliche Fehlerquelle/n: der Cache Controller oder die Chips.

  • Initialize Vector Table
    Das BIOS initialisiert die Interrupt Vektoren und installiert die Interrupt Tabelle in den unteren Speicherbereich. Mögliche Fehlerquelle/n: das BIOS oder der untere Speicherbereich.

  • CMOS RAM Test
    Das BIOS erzeugt eine Prüfsumme des CMOS RAM und lädt die BIOS Standardwerte, falls die Prüfsumme falsch ist. Mögliche Fehlerquelle/n: das CMOS RAM.

  • Tastatur Initialisierung
    Das BIOS initialisiert die Tastatur und setzt die NumLock auf on. Mögliche Fehlerquelle/n: entweder der Tastatur Controller oder die Tastatur.

  • Video Test
    Das BIOS testet und initialisiert den Video Adapter. Mögliche Fehlerquelle/n: der Video Adapter.

  • Video Speicher
    Das BIOS erzeugt einen Test des Video Speichers bei Monochrome und CGA Adaptern. Mögliche Fehlerquelle/n: die Adapterkarte.

  • DMA Test
    Das BIOS erzeugt Tests auf dem DMA Controller und den Page Registern. Mögliche Fehlerquelle/n: die DMA Chips.

  • PIC Tests
    Das BIOS erzeugt eine Reihe von Tests auf den 8259 PIC Chips. Mögliche Fehlerquelle/n: Problem mit den PIC Chips.

  • EISA Mode Test
    Das BIOS erzeugt eine Prüfsumme im erweiterten Daten Bereich des CMOS. In diesem Bereich sind die EISA Informationen gespeichert. Ist der Test positiv, wird der EISA Adapter initialisiert. Tritt ein Fehler auf, werden die ISA Tests weiter durchgeführt und der EISA Adapter nicht initialisiert.

  • Enable Slots
    Das BIOS schaltet die Slots 0 - 15 für EISA Adapter ein, falls der vorherige Test positiv war. War der vorherige Test negativ, wird dieser Test übersprungen.

  • Memory Size
    Das BIOS schreibt in alle Adressen über 256K in 64K Blöcken und initialisiert jede gefundene Adresse. Wenn ein Bit innerhalb eines Blockes defekt ist, wird dieser Block und alle weiteren nicht gesehen.

  • Memory Test
    Das BIOS erzeugt Schreib/Lese Tests im gesamten gefundenen Speicher über 256K. Mögliche Fehlerquelle/n: ein defektes Bit im RAM. Die Bit-Adresse wird nicht angezeigt.

  • EISA Memory
    Initialisiert das BIOS die EISA Slots, wird der Speicher jedes Adapters in den Slots getestet. Mögliche Fehlerquelle/n: die Speicher Chips auf einem der EISA Adapter.

  • Mouse Initialisierung
    Das BIOS sucht nach einer Maus und installiert die entsprechenden Interrupt Vektoren, falls eine gefunden wurde. Mögliche Fehlerquelle/n: der Maus Adapter.

  • Cache Initialisierung
    Das BIOS initialisiert den Cache Controller, falls vorhanden. Mögliche Fehlerquelle/n: der Cache Controller Chip.

  • Shadow RAM Setup
    Das BIOS schaltet jedes Shadow RAM ein, das in CMOS Setup angegeben ist. Mögliche Fehlerquelle/n: ein falsches Setup.

  • Floppy Test
    Das BIOS testet und initialisiert den Floppy Controller und die Laufwerke. Mögliche Fehlerquelle/n: der Controller oder ein Laufwerk.

  • Hard Drive Test
    Das BIOS testet und initialisiert die Festplatte und den Controller. Mögliche Fehlerquelle/n: ein falsches Setup, ein defekter Controller oder die Festplatte.

  • Seriell/Parallel
    Das BIOS initialisiert jeden seriellen und parallelen Port, der auf den richtigen I/O Ports gefunden wurde. Mögliche Fehlerquelle/n: eine falsche I/O Einstellung oder eine defekte Einheit.

  • Math Coprozessor
    Das BIOS initialisiert den Math Coprozessor, falls dieser gefunden wurde. Mögliche Fehlerquelle/n: bei der Initialisierung ist normalerweise ein falsches CMOS Setup oder ein defekter Coprozessor Chip.

  • Boot Speed
    Das BIOS setzt die Standard Geschwindigkeit mit der der Computer startet.

  • Manufactoring POST Loop
    Das BIOS startet das System neu, falls der Loop-Pin gesetzt ist. Ist der Pin nicht gesetzt, wird der POST weitergeführt und jeder weitere Fehler wird am Bildschirm sowie dem I/O Port angezeigt.

  • Security Check
    Das BIOS fragt nach dem Passwort, falls eines installiert wurde. Falls das BIOS nach dem Passwort fragt, obwohl keines installiert ist, sind die CMOS Daten durcheinander oder der CMOS Chip ist defekt.

  • Write CMOS
    Das BIOS wartet, während die CMOS Einträge aus dem Setup in das CMOS RAM geschrieben werden. Mögliche Fehlerquelle/n: eine falsche CMOS Konfiguration.

  • Preboot
    Das BIOS wartet, während die CMOS Einträge aus dem Setup in das CMOS RAM geschrieben werden.

  • Adapter ROM Initialisierung
    Das BIOS initialisiert jedes gefundene ROM zwischen C800:0 und EFFF:F. Das Adapter ROM testet und initialisiert jede angeschlossene Einheit, bevor es die Kontrolle an das System BIOS zurück gibt. Mögliche Fehlerquelle/n: der Adapter oder eine angeschlossene Einheit.

  • Setup Time
    Das BIOS setzt die CMOS Zeit auf den Eintrag bei 40 h des BIOS Datenbereiches.

  • Boot System
    Das BIOS gibt die Kontrolle an Int 19 Boot Loader. Mögliche Fehlerquelle/n: falsches Setup oder durch Software generiert.

  • BOOT ERRORS
    Wenn das BIOS diesen Punkt erreicht, wird versucht, vom Diskettenlaufwerk zu starten. Fehler im Boot Code auf der Festplatte erzeugen ein Aufhängen des Systems an diesem Punkt.


Das hier gewählte Beispiel bezieht sich auf das Award BIOS. Es kann zwischen den Herstellern geringe Abweichungen geben.

Das BIOS Setup ist in verschiedene Optionsgruppen untergliedert. Hier vorgenommene Einstellungen sollten gut durchdacht sein und Änderungen sollten nur dann gemacht werden, wenn man sich seiner Sache wirklich sicher ist. Hier nun die einzelnen Funktionsgruppen und ihre Bedeutung:

Setup - Optionsgruppe Bedeutung
Standard CMOS-Setup In diesem Bereich des BIOS werden grundlegende Einstellungen vorgenommen. Die Systemzeit und das Datum kann hier geändert werden. IDE/EIDE Festplatten und andere Laufwerke werden hier erkannt bzw. manuell konfiguriert. Früher wurde hier auch der installierte Hauptspeicher angegeben, dieser sollte bei moderneren Mainboards jedoch automatisch erkannt werden.
BIOS-Features-Setup Hier kann der Selbstest (POST) konfiguriert werden, die Tastaturgeschwindigkeit und die Bootreihenfolge der Laufwerke festgelegt werden. Auch IDE HDD Block Mode und Speicher Shadowing kann hier aktiviert werden, wodurch die Performance verbessert werden kann.
Chipset Features Setup Die hier vorgenommenen Einstellungen sollten besonders gut durchdacht sein, da die Auswirkungen auf die Systemstabilität unter Umständen sehr hoch sind. Hier lassen sich Einstellungen für die Geschwindigkeit des Hauptspeichers und des Caches vornehmen. Weiter gibt es hier Optionen, die das Verhalten des Bussystems beeinflussen und die Konfiguration der seriellen und parallelen Schnittstellen. Für die Festplatten kann hier der PIO-Mode eingestellt werden.
Power-Management Setup Im Powermanagement-Setup des BIOS werden sämtliche Stromsparfunktionen eingestellt. So kann man den Monitor nach einer bestimmten Zeit automatisch in den Standby Modus schalten lassen. Genauso erhält die Festplatte weniger Strom, wenn länger keine Zugriffe verzeichnet wurden. Auch der Coprozessor kann über das Power-Management abgeschaltet werden.
Plug&Play-Setup Hier können Einstellungen getätigt werden, um die Interrupts und DMA-Channel den angeschlossenen Geräten zuzuweisen. Normalerweise werden Plug and Play Geräte automatisch mit den notwendigen Ressourcen versorgt, da dies aber zu Fehlern führen kann, oder erst gar nicht funktioniert, kann man hier alles manuell zuweisen. Wer ausschließlich moderne Hardware einsetzt, sollte hier in den wenigsten Fällen selbst konfigurieren müssen.
Integrated Peripherals Bei einigen BIOSen sind die Einstellungen für die Schnittstellen in einem gesonderten Bereich zusammengefasst. Es ist möglich das dieses Optionsmenü bei dem ein oder anderen BIOS nicht existiert und die Einstellungen über die anderen Optionsgruppen verteilt sind.


Außerdem gibt es die Punkte "Load BIOS Defaults" und "Load Setup Defaults".

Load BIOS Defaults bedeutet, dass einfach nur die grundlegenden BIOS-Einstellungen wiederhergestellt werden. Das System ist bei weitem nicht so performant, wie es sein könnte, aber es sollte auf jeden Fall stabil laufen.

Load Setup Defaults stellt die aus Sicht des Herstellers beste Konfiguration her. Dabei ist immernoch von einem stabilen System auszugehen, allerdings wurde hier bereits auf Performance geachtet. Doch auch hier lässt sich noch tunen, da der Hersteller den Einsatz aller möglicher Hardware berücksichtigt. Wer sein System gut kennt, kann auch hier noch einiges verbessern.