
DasPC-BIOS[1], im Kontext vonIBM-PC-kompatiblen Computern durchwegs kurz alsBIOS bezeichnet (IPA: [ˈbaɪɔs],Ausspracheⓘ/?, von englischbasic input/output system), ist die System-Firmware des vonIBM 1981 vorgestelltenIBM PC „Model 5150“ und in Folge aller dazu kompatiblen Computer, was nahezu allex86-PCs der zweiten Hälfte der 1980er Jahre, der 1990er und der 2000er Jahre umfasst. Neben Personal Computern wurde es aber auch beispielsweise in Workstations und Servern derx86-Architektur verwendet, um „PC-kompatibel“ zu sein. Das BIOS ist in einemnichtflüchtigen Speicher auf derHauptplatine abgelegt und wird wie jedeSystem-Firmware unmittelbar nach dessen Einschalten ausgeführt. Aufgabe des BIOS ist es unter anderem, den PC zunächst funktionsfähig zu machen und im Anschluss dasStarten einesBetriebssystems einzuleiten.
Aufgrund des großen Erfolgs und der großen Verbreitung von IBM-PC-kompatiblen Systemen steht der Begriff „BIOS“ spätestens seit den 1990er Jahren allgemein für die System-Firmware eines Computers.
Das PC-BIOS ist funktionell durch dessen designierten NachfolgerExtensible Firmware Interface, kurz EFI, abgelöst. Diese ursprünglich ab 1998 für denItanium von Intel entwickelte Firmware wird seit 2006 alsUnified Extensible Firmware Interface, kurz UEFI, von mehreren Firmen gemeinsam weiterentwickelt. UEFI löste das BIOS seit ca. 2010 schrittweise ab, stellte anfangs allerdings eine BIOS-Kompatibilitätsschicht bereit – dasenglischCompatibility Support Module oder kurz CSM – womit es voll zum BIOS kompatibel bleibt.[2] Aufgrund dieses fließenden Übergangs wird UEFI oft auch als UEFI-BIOS sowie dessen Firmware-Setup oft auch (weiterhin) als BIOS-Setup bezeichnet. Laut Intel sollte das CSM, also der BIOS-Modus und somit die Kompatibilität, spätestens ab 2020 von den Herstellern weggelassen werden,[3] was diese auch taten.[4] Moderne Weiterentwicklungen der IBM-PC-kompatiblen Computer, wiex64-PCs mit UEFI ohne CSM, können daher Betriebssysteme undBoot-Medien, die ein PC-BIOS erfordern, nicht mehr starten.[5]
Durch modernere Hardware hat das BIOS im Laufe der Zeit neue Funktionen hinzugewonnen. Nicht alle der im Folgenden genannten Punkte wurden schon vom Ur-BIOS auf dem erstenIBM PC ausgeführt. Die Weiterentwicklung der Hardware hat im Laufe der Zeit (mit dem BIOS-Ende um 2020 ist das Konzept bereits mindestens 45 Jahre alt) zu einer Reihe voniterativen, inkompatiblen Ergänzungen geführt, die zunehmend den Charakter von „Flickschusterei“ tragen und bei 64-Bit-Systemen an ihre Grenzen stoßen. Daher wurde in Form vonExtensible Firmware Interface (EFI, bzw. UEFI) ein BIOS-Nachfolger entwickelt.

Im Wesentlichen führt das BIOS, bevor das Betriebssystem gestartet wird, die folgenden Funktionen aus:
Wichtiger Bestandteil der Hardware-Initialisierung einesPlug-and-Play-BIOS ist die Konfiguration und Überprüfung von eingebauten Steckkarten.
Dazu werden in einem speziellen Speicherbereich des BIOS, dem BereichExtended System Configuration Data (kurz ESCD), Informationen zu Zustand und Konfiguration vonISA-,PCI- undAGP-Steckkarten und die entsprechende Ressourcenzuteilung verzeichnet. Die Informationen im ESCD-Bereich werden beim Bootvorgang mit dem tatsächlichen Zustand des Systems verglichen und bei Änderungen gegebenenfalls aktualisiert. Das Betriebssystem greift auf die Informationen im ESCD-Bereich zurück und kann Änderungen der Plug-and-Play-Ressourcenzuordnung dort speichern, um Veränderungen durch das BIOS beim nächsten Start vorzubeugen.
Danach übernimmt das Programm im geladenen Bootsektor die Kontrolle über den Rechner. Meistens lädt und startet einBootloader entweder (stufenweise) ein auf dem Datenträger installiertes Betriebssystem oder einenBootmanager, der ein Menü zur Auswahl eines Betriebssystems anbietet. Bei klassischen imReal Mode laufenden Betriebssystemen wieMS-DOS bzw.dazu kompatibles DOS o. ä. wird das BIOS auch im weiteren Betrieb genutzt. Es übernimmt für das Betriebssystem dieKommunikation mit diverser Hardware, z. B.:
Andere, moderne Arten von Hardware werden vom BIOS nicht bedient. Zur Ansteuerung beispielsweise einerMaus ist unter DOS ein speziellerHardwaretreiber nötig.
Neuere, treiberbasierte Betriebssysteme wie beispielsweiseLinux oderWindows nutzen diese BIOS-Funktionen nicht. Sie laden für jede Art von Hardware einen speziellen Treiber. Jedoch müssen sie am Anfang ihres Startvorgangs über denBootloader noch kurz auf die BIOS-Funktionen zur Ansteuerung der Festplatten zurückgreifen, um ihren Festplattentreiber zu laden. Einer der wesentlichen Gründe warum moderne Betriebssysteme das BIOS nicht mehr nutzen ist unter anderem die Tatsache, dass das BIOS nicht vomProtected Mode aus benutzt werden kann. Die CPU müsste vorher in den Real Mode versetzt werden, was Zeit und somit Performance kostet und unter modernen Systemen auch eine Schwachstelle sein kann, da im Real Mode keinSpeicherschutz gewährleistet werden kann. Außerdem ist der Real Mode auf einen maximalenAdressraum von 1 MiB begrenzt, was insbesondere beim Einblenden von Video RAM und dessen Zugriff auf diesem ein spürbarer Nachteil wäre.[6]

Um in das Setup-Programm des BIOS zu gelangen, muss beim Einschalten des Rechners eine bestimmteTaste oderTastenkombination betätigt werden. Bei einigen wenigenMainboards muss ein bestimmterJumper gesetzt werden.
Die Einstellungen werden in einemCMOS-Speicher gespeichert, der über die Mainboard-Batterie auch ohne Netzanschluss mit Strom versorgt wird. Oft ist dieser Speicher mit derEchtzeituhr des Systems kombiniert, da auch diese immer mit Strom versorgt werden muss. Bei Schwierigkeiten bietet das BIOS meist die Möglichkeit, die Standardeinstellungen des Rechner- oder des BIOS-Herstellers zu setzen. Wenn es nicht mehr möglich ist, ins Setup-Programm zu kommen (etwa, weil der Rechner gar nicht mehr bootet), lassen sich die Einstellungen meist über einen Jumper am Mainboard zurückstellen (bei allen neueren Mainboards muss dafür das Netzteil ganz abgeschaltet werden). Wenn das nicht möglich ist, kann derCMOS-Speicher durch das Entfernen der Batterie gelöscht werden. Letzteres benötigt aber einige Zeit, bis auch die Kondensatoren entladen sind.
Das BIOS ist die zweite Sicherheitsstufe, die unberechtigten Zugriff auf einen Computer verhindern kann, nach einer physischen Sicherung mit Schlössern oder Ähnlichem. Bei fast allen BIOS-Implementierungen kann im BIOS-Setup eine Passwortabfrage vor dem Starten des Rechners eingerichtet werden. Das stellt keine vollständige Sicherung des Systems dar, da die Einstellungen bei physischem Zugang zum Computer mehr oder weniger leicht durch ein Löschen des Inhalts imCMOS-RAM ausgehebelt werden können, was entweder durch Setzen eines Jumpers oder durch das Entfernen der CMOS-Batterie auf derHauptplatine geschehen kann. Die Passwortsicherung wirkt klarer Weise jeweils nur auf der Hauptplatine, auf der sich das BIOS enthaltende ROM befindet. Wird diese ausgetauscht oder die Festplatte(n) des Systems in einen anderen Rechner eingebaut, kann problemlos auf diese zugegriffen werden, wenn keine zusätzliche Sicherung (wie Verschlüsselung) vorhanden ist. Zudem haben die Hersteller meist ein sogenanntes Recovery-, Master- oder Supervisor-Passwort eingerichtet, um den Zugang wiederherstellen zu können, wenn der Benutzer sein eigenes Passwort vergessen hat. Diese Master-Passwörter sind jedoch meist unveränderbar und oftmals auchgeleakt, sodass teils eine einfache Umgehung des Passwortschutzes möglich ist.
Bei altenMainboards (mit286- bis486er-Prozessor) ist im BIOS die Option „Shadow BIOS memory“ vorhanden. Dabei wird das BIOS in das zugriffschnellereRAM kopiert (temporäre Schattenkopie bis zum Ausschalten des Computers). Seitdem (ab spätere 486er /Pentium 1) der überwiegende Teil des BIOSgepackt abgelegt ist und damit ein günstigerer BIOS-Chip genügt, steht diese Option nicht mehr zur Verfügung, da das BIOS auf jeden Fall ins RAM entpackt werden muss. Hersteller wie Award verwendeten zum Packen ihres BIOS dasLHA-Format.[7]
Auf modernen Hauptplatinen ist das BIOS in einem wiederbeschreibbaren Speicher (genauerEEPROM, meistFlash-Speicher) abgelegt. Daher kann es ohne Ausbau dieses Chips durch neuere Versionen ersetzt werden („Flashen“). Da ein Rechner ohne vollständiges BIOS jedoch nicht funktionsfähig ist, stellt dieser Vorgang immer ein gewisses Risiko dar. Wird er unterbrochen, beispielsweise durch einenStromausfall, muss der Chip, auf dem das BIOS gespeichert ist, normalerweise ausgetauscht werden. Als Alternative wird im Internet von verschiedenen Institutionen auch das Neuprogrammieren des Chips angeboten. Selbst aufgelötete Flash-Speicher stellen für Fachleute nur ein geringfügiges Problem dar. Auf neuen Boards werden immer häufiger sogenannte serielle Flashspeicher verwendet, die es im Fehlerfall teilweise ermöglichen, perSPI-BUS auf dem Board neu programmiert zu werden.
Mit der Zeit entwickeltenAmerican Megatrends, Award Software,Phoenix und andere Hersteller „BootBlock“/Wiederherstellungs-BIOS-Bereiche, die bei einem Flash-Vorgang dann normalerweise nicht mehr überschrieben werden. Schlug der Flash-Vorgang fehl, startet das „BootBlock“/Wiederherstellungs-BIOS und ermöglicht es, von Diskette zu booten. Bei einigen BIOS-Varianten kann sogar eine spezielle Wiederherstellungs-CD/-Diskette erstellt werden, die auch bei einem defekten BIOS durch Setzen eines Jumpers automatisch das BIOS wiederherstellt. Dazu sind keinerlei Benutzereingaben und keine grafische Ausgabe nötig, da diese bei defektem BIOS meist ohnehin nicht mehr funktionieren.
Einige Hauptplatinen bieten ein sogenanntesDualBIOS an. Im Fehlerfall kann das zweite (noch intakte) BIOS den Startvorgang übernehmen und die Änderung rückgängig gemacht werden. Das kann beim Flashen des BIOS ein Rettungsanker sein, sollte die neu aufgespielte BIOS-Version nicht funktionieren. Des Weiteren können mit einem DualBIOS verschiedene BIOS-Einstellungen geladen werden.
Da das Aktualisieren eines Flash-BIOS heute schon unter einem laufenden Windows möglich ist,[8] eröffnen sich damit neue Einfallswege fürViren-Befall. Wenn auf diesem Wege beispielsweise einRootkit installiert würde, könnte es sich noch einmal wesentlich effizienter gegen Entdeckung und Löschung abschotten. Außerdem kann einAbsturz des Betriebssystems während des Flashens den PC eventuell unbootbar machen (siehe oben).
Eine Auswahl von Herstellern von BIOSen für IBM-kompatible PCs:
BisUEFISystem Class 2 enthalten UEFI-Implementierungen auf derx86-Architektur einCompatibility Support Module oder kurz CSM, das vollständige BIOS-Kompatibilität herstellt. Zur eindeutigen Kennzeichnung wurde das PC-BIOS im Kontext von UEFI als „Legacy BIOS“ bezeichnet –englischlegacy fürAltlast: das BIOS als altes, überholtes bzw. abgekündigtes System, für das UEFI der moderne Nachfolger ist.
Der Übergang vom BIOS hin zu UEFI wurde in vier Klassen (englischClass) eingeteilt.[9]
Das erste PC-Betriebssystem mit EFI-Unterstützung warLinux, allerdings auf der Itanium-Architektur. Auf x86 kann Linux, seitKernel 2.6.25 von 2008, sowohl in der 32- als auch der 64-Bit-Variante mit (U)EFI gestartet werden.
2006 war Apple einer der ersten Hersteller von Desktop-PCs und Notebooks, der EFI einsetzte. So ist aufIntel-Macs eine Apple-Variante von EFI 1.1 fürmacOS, jedoch mit einem CSM fürBoot Camp bzw. für Kompatibilität zuWindows vorhanden.
Auch aufx86-PCs anderer Hersteller wurde UEFI nach und nach eingeführt, allerdings unterstützten anfangs wichtige Betriebssysteme UEFI noch nicht, weshalb UEFI-CSM im BIOS-Setup alsVoreinstellung (englischdefault) bis in die erste Hälfte der 2010er Jahre stets aktiv war. Betriebssysteme, die ein BIOS voraussetzen, beispielsweiseWindows XP undWindows Vista, blieben somitOut-of-the-box kompatibel. Mit Windows Vista Service Pack 1 von 2008 begann schließlich auch Microsoft UEFI für 64-Bit-Windows zu unterstützen, allerdings wird UEFI 2.0 oder höher vorausgesetzt, da EFI 1.1 noch eine 32-Bit-Implementierung (IA-32) war – erst UEFI 2.0 wurde vollständig aufx86-64portiert. BisWindows 7, wie Vista SP1 grundsätzlich UEFI-fähig, benötigte Windows auf der 64-Bit-x86-Architektur BIOS-Kompatibilität für den Grafiktreiber (ein VBIOS mitInterrupt 10h), wofür ein geladenes CSM unter UEFI die Voraussetzung ist.[10] Alle 32-Bit-PC-Versionen von Windows benötigen weiterhin ein BIOS oder (U)EFI-CSM;Windows 10 ist die letzte Windows-Version, die für IA-32 und somit BIOS-kompatibel verfügbar ist.
Auch Intel-Macs ab ca. 2013 (x64-Architektur) sind zu UEFI 2.0 kompatibel, obwohl sich das Apple-EFI oft noch als Version 1.1 identifiziert.[11][12] AufArm-Macs, die als „Apple Silicon“ zwischen 2020 und 2023 die Intel-Macs schrittweise ablösten, implementiert Apple eine eigene (proprietäre) Firmware imSecure Enclave Processor.[13][14] Auf derArm-Architektur mitWindows RT verwendet Microsoft weiterhin UEFI, beispielsweise auf demSurface-Tablet (da es sich bei Arm um keine x86-kompatible Architektur handelt, gibt es dort auch kein BIOS-kompatibles CSM).[15]
MitWindows 8 hat sich UEFI auf dem (ehemalsIBM-kompatiblen) PC durchgesetzt.[2] Die meisten x86-Systeme dieser Zeit haben einClass-2-UEFI, teils mit aktiviertem CSM, teils mit deaktiviertem CSM als Voreinstellung. Da bei aktiviertemSecure Boot das CSM nicht mehr geladen werden darf, hat sich die Voreinstellung bisWindows 10 gänzlich in Richtung UEFI, ohne Kompatibilität zum PC-BIOS („Legacy BIOS“), verschoben. Seit rund 2020 werden Systeme durchwegs mit einemClass-3-UEFI ausgeliefert, womit der Übergang zum BIOS-Nachfolger als abgeschlossen zu betrachten ist.
Firmware-Schnittstellen wie das PC-BIOS sind sehr tief im System verankert und daher potenziell sicherheitskritische Komponenten.
Punkte, die zu einer kritischen Betrachtung eines herstellerabhängigen BIOS führen:[16]
Die verschiedenen BIOS-Implementierungen derIBM-kompatiblenPCs sind im Regelfallproprietäre Software, was Unsicherheiten bergen kann: da derQuelltext nicht frei zugänglich ist, werden Sicherheitslücken teilweise nicht rechtzeitig erkannt. Auch kann ein proprietäres BIOS den Benutzer an Tätigkeiten hindern, die von der Hardware des Gerätes her kein Problem darstellen würden: so erlaubt beispielsweise das BIOS derXbox es nicht, andere Software als die vonMicrosoft zugelassene zu starten.
Alternative BIOS-Implementierungen gibt es zwar, eine Installation ist jedoch nicht einfach möglich. So ist es zwar teilweise möglich, denFlash-ROM-Baustein (früher:EPROM), auf dem das BIOS abgelegt ist, zu ersetzen oder zu überschreiben, um so beispielsweise denLinux-Kernel direkt aus dem Flash heraus zu starten, ohne BIOS. Die Vorgehensweise ist jedoch von der jeweiligen Hauptplatine abhängig und wird überwiegend in Industriecomputern eingesetzt. Projekte mit diesem Ziel sind etwaCoreboot (ehemals LinuxBIOS) oder derForkLibreboot, der ohneBLOBs auskommt. Die freie BIOS-Implementierung von Coreboot, SeaBIOS, wird auch unter diversen Emulatoren und Virtualisierungssoftware eingesetzt, etwaQEMU undKVM. DasOpenBIOS ist übrigens keineImplementierung des PC-BIOS, sondern der dazu nicht kompatiblenOpen Firmware.
Das Zusammenwirken von BIOS-Systemstart,Initial Program Load und BIOS-Funktionsergänzungen wurde von einem Firmenkonsortium bestehend aus Hardware- und BIOS-Herstellern ausgearbeiteten und am 11. Januar 1996 standardisiert:[17] DieBIOS Boot Specification (kurz: „BBS“) fixiert insbesondere, auf welche Art und Weise Initial-Program-Load- (Bootstrapload-)Komponenten, die (den BIOS-Systemstart fortsetzend) das Hochlaufen der jeweiligen Betriebssysteme herbeiführen, vom BIOS identifiziert werden und wie unter Vorgabe der durch den Computerbenutzer festgelegten Priorität (entsprechend der sogenanntenBootsequenz) versucht wird, eine oder mehrere der jeweiligen Komponenten zur Ausführung zu bringen.
Direkt oder indirekt legt dieser Standard auch fest, wie etwa ein Initial Program Loader (Bootstraploader) ein auf das BIOS abgestimmtes Verhalten zustande zu bringen hat und wie das BIOS das jeweils gerade verwendete Bootmedium (Festplatte, optische Laufwerk-Disk, USB-Stick, PCMCIA-Netzwerkkarte, Ethernetkarte oder dergleichen) für den Loader handhabt.
Für die Bereitstellung von Bootmechanismen spielt dieProgrammierschnittstelle zwischen BIOS-Verwaltung und Bootverwaltung, das sogenannte „BIOS Boot Specification API“, eine Rolle, wobei die Implementierung dieser Mechanismen in der Regel sowohl hardware- als auch softwaremäßig erfolgt (sofern man jeweils ganze Bootmechanismen ins Auge fasst). Hardwaremäßig kann eine solche Implementierung durch BIOS-Funktionsergänzungen bewerkstelligt werden, etwa wenn das Motherboard-BIOS durch ergänzende Add-In-Firmware-BIOSe von Netzwerk-,SCSI- oderRAID-Adaptern erweitert und/oder partiell ausgetauscht wird. Softwaremäßig kann eine solche Implementierung durch Programmierung entsprechender Routinen bzw. Treiber geschehen, sofern diesespeicherresident untergebracht werden können; unter gewissen Voraussetzungen können auch Initial Program Loader bzw. Bootstraploader bei der Bereitstellung von unkonventionellen Bootmechanismen besondere Funktionen einnehmen bzw. eine besondere Rolle spielen. Beim Rechnerhochlauf via Netzwerkkarte sind die meisten Bootmechanismen weit komplizierter als beim klassischen (einfachen) Initial Program Load. In diese Kategorie gehört beispielsweise der Fall, dass der Rechnerhochlauf von einem außenstehenden Rechner über das Netzwerk (etwa via Fast-Ethernetadapter) angestoßen wird (siehe auchWake on LAN). Das Motherboard-BIOS, das im Regelfall keinen Treibercode für dasBooten über eine bestimmte Netzwerkkarte besitzt, wird durch Add-In-Firmware auf der Netzwerkkarte unter Beachtung der Vorgaben des BIOS Boot Specification APIs ergänzt, so dass eine speicherresidente Routine im Dienste der Netzwerkkarte den Bootmechanismus umlenken und die Netzwerkkarte als wählbares Bootmedium am System anmelden kann. Nach erfolgter Auswahl der Netzwerkkarten-Bootoption im BIOS geht dann der BIOS-Systemstart in eine Netzwerkkommunikation über, in der Auskünfte über Bootserveradressen eingeholt werden und Abfragevorgänge stattfinden. Das beinhaltet eine Art „Bereitschaftszustand“ des Rechners, der durch Auslösung übers Netzwerk jederzeit hochfahrbar wird. Auf die richtige Meldung hin wird der Bootstraploader in den RAM-Speicher heruntergeladen und ausgeführt.