BIOS

Aus Jonas Notizen Webseite
Zur Navigation springen Zur Suche springen

QUELLE

Jegliche Beschreibung wurde von der Freien Enzyklopädie etnommen: https://de.wikipedia.org/wiki/BIOS & https://de.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface

Kurz-Erklärung

Das BIOS [/ˈbaɪ.oʊs/] (von englisch „basic input/output system“) ist die Firmware bei x86-PCs. Es ist in einem nichtflüchtigen Speicher auf der Hauptplatine eines PC abgelegt und wird unmittelbar nach dessen Einschalten ausgeführt. Aufgabe des BIOS ist es unter anderem, den PC zunächst funktionsfähig zu machen und im Anschluss das Starten eines Betriebssystems einzuleiten.

Das BIOS ist heute weitgehend durch das (Unified) Extensible Firmware Interface (kurz UEFI, früher EFI) abgelöst.

Aufgabe des BIOS

Ein BIOS löst zwei Probleme, die beim Kaltstart eines PCs auftreten:

Bootstrapping

Ein typisches Henne-Ei-Problem:

  • Software wird (in der Regel) auf einem Datenträger gespeichert
  • Um zu funktionieren, muss die CPU diese Software in dem Hauptspeicher (RAM) laden
    • Für dieses Laden benötigt die CPU wiederum bereits geladene Software

Manueller Bootloader (früher)

Frühere Computer und Rechenanlagen lösten dieses Problem folgendermasen:

  • Nach dem Start wird die CPU in den Pausemodus versetzt
  • Durch ein externe Peripherie wird nun manuell eine Software (der Bootloader) in den Hauptspeicher geladen

(Häufig war das Laden des Bootloaders beim Starten des Rechners aber gar nicht nötig, da der in den 1960er und frühen 1970er Jahren weit verbreitete Kernspeicher ( Persistenzspeicher]) – im Gegensatz zum heute gebräuchlichen Halbleiterspeicherseinen Inhalt beim Ausschalten nicht verlor und die Programme im Hauptspeicher deshalb zumeist nur neu gestartet werden mussten oder sogar fortgesetzt werden konnten.)

Treibersoftware

Unterschiedliche Hardware benötigt eine spezielle Ansteuerungssoftware (Treibersoftware) und die zugehörige Konfiguration.

vor dem BIOS

Früher musste ein Betriebssystem auf jede Variante jedes Rechnertyps speziell zugeschnitten werden, um darauf lauffähig zu sein.

mit dem BIOS

Durch die Auslagerung dieser speziellen Ansteuersoftware in das BIOS der jeweiligen Rechner wurde es möglich, die gleiche Betriebssystemsoftware auf verschiedenen Rechnern laufen zu lassen. (Damit wirkt das BIOS nach neuerer Sprechweise als Hardware Abstraction Layer (HAL)).

Moderne Betriebssysteme

Allerdings benutzen fast alle modernen Betriebssysteme eigene Treiber. (Vor allem weil die vom BIOS im Protected und Long Mode nicht verfügbar sind. In einem von diesem laufen aber fast alle modernen Betriebssysteme, unter anderem um einen größeren RAM verwalten zu können und um Multitasking einfach zu organisieren.)

Namensherkunft

Die Übereinstimmung dieses Apronyms mit dem altgriechischen Wort βίος (zu deutsch Leben) ist eine Anspielung darauf, dass einem Computer mit dieser so benannten Software quasi Leben eingehaucht wird.

Funktionen

Notiz

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 ersten IBM PC ausgeführt. Die Weiterentwicklung der Hardware hat im Laufe der Zeit (Stand 2018 ist das BIOS-Konzept bereits mindestens 43 Jahre alt) zu einer Reihe von 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 von Extensible Firmware Interface ein BIOS-Nachfolger entwickelt.

Power On Self-Test (POST)

Überprüft ob die grundlegenden Komponenten des PCs funktionsfähig sind. Eventuell auftretende Fehler werden dabei häufig durch

  • charakteristische Signaltöne
  • einer Nummer-Anzeige des Mainboards (sog. POST-Card)
  • oder (nach erfolgreicher Inbetriebnahme der Grafikkarte) über den Bildschirm

gemeldet.

Intialisierung der Hardware

Das BIOS speichert Informationen zu Zustand und Konfiguration von möglichen Steckkarten und die entsprechende Ressourcenzuteilung verzeichnet.

  • Die Informationen in diesem "ESCD"-Bereich werden beim Bootvorgang mit dem tatsächlichen Zustand des Systems verglichen und 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.

Weitere Funktionen

  • Aufforderung zur Eingabe eines Festplatten/BIOS-Passworts (falls konfiguriert)
  • Darstellung eines Startbildschirms
  • Möglichkeit, ein BIOS-Konfigurationsmenü („BIOS-Setup“) aufzurufen
  • Aufrufen von BIOS-Erweiterungen einzelner Subsysteme, die entweder auf Steckkarten untergebracht sind oder direkt auf dem Mainboard integriert sind, z. B.:
  • Feststellen, von welchem Datenträger gebootet werden kann und soll
  • Laden des Bootsektors; meistens ist das ein Bootloader.

Bootsektor-Übernahme

Danach übernimmt das Programm im geladenen Bootsektor die Kontrolle über den Rechner. Meist lädt und startet der enthaltene Bootloader das auf dem entsprechenden Datenträger installierte Betriebssystem entweder sofort oder bietet ein Menü zur Auswahl eines Betriebssystems an (Bootmanager). Bei klassischen im Real Mode laufenden Betriebssystemen (z. B. DOS) wird das BIOS auch im weiteren Betrieb genutzt.
Es übernimmt für das Betriebssystem die Kommunikation mit diverser Hardware. (Tastatur, Lautsprecher, div. Laufwerke, Grafikkarte und andere Schnittstellen)

Moderne Betriebssysteme

Neuere, treiberbasierte Betriebssysteme wie beispielsweise Linux oder Windows 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 den Bootloader noch kurz auf die BIOS-Funktionen zur Ansteuerung der Festplatten zurückgreifen, um ihren Festplattentreiber zu laden.)

Einstellungen

Um in das Setup-Programm des BIOS zu gelangen, muss beim Einschalten des Rechners eine bestimmte Taste oder Tastenkombination betätigt werden. (Bei einigen wenigen Mainboards muss ein bestimmter Jumper gesetzt werden.)

Speicherort

Die Einstellungen werden in einem CMOS-Speicher gespeichert, der über die Mainboard-Batterie auch ohne Netzanschluss mit Strom versorgt wird. (Oft ist dieser Speicher mit der Echtzeituhr des Systems kombiniert, da auch diese immer mit Strom versorgt werden muss.)

Troubleshooting

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 auch nicht möglich ist, kann der CMOS-Speicher durch das Entfernen der Batterie gelöscht werden. (Letzteres benötigt aber einige Zeit, bis auch die Kondensatoren entladen sind.)

Sicherheit

Das BIOS ist die zweite Sicherheitsstufe, die unberechtigten Zugriff auf einen Computer verhindern kann (nach einer physischen Sicherung mit Schlössern oder Ähnlichem).

  • Im BIOS-Setup kann eine Passwortabfrage für das 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 Manipulationen auf der Hauptplatine ausgehebelt werden können.
  • Zudem wirkt diese Sicherung nur auf die 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 alle Daten zugegriffen werden.
  • Zudem haben die Hersteller meist ein festes (Recovery-, Master- oder Supervisor-)Passwort eingerichtet, um den Zugang wiederherstellen zu können, wenn der Benutzer sein eigenes Passwort vergessen hat.

Aktualisieren des BIOS

Früher

Bei alten Mainboards (mit 286 bis 486er Prozessor) ist im BIOS die Option „SHADOW BIOS MEMORY“ vorhanden. Dabei wird das BIOS in eigener Prozedur in das zugriffschnellere RAM kopiert (temporäre Schattenkopie bis zum Ausschalten des Computers).
Seitdem (ab spätere 486er / Pentium1) der überwiegende Teil des BIOS gepackt 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.

Heute

Auf modernen Hauptplatinen ist das BIOS in einem wiederbeschreibbaren Speicher (genauer: EEPROM, meist Flash-Speicher) abgelegt. Daher kann es ohne Ausbau dieses Chips durch neuere Versionen ersetzt werden („Flashen“).

Bootblock

Mit der Zeit entwickelten die Hersteller sog. Wiederherstellungs-BIOS-Bereiche, die bei einem Flash-Vorgang dann normalerweise nicht mehr überschrieben werden. Schlug der Flash-Vorgang fehl, startet das 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.)

DualBIOS

Wie der Name schon verrät ist es einfach nur ein zweites BIOS, welches den Startvorgang übernehmen und die Änderung beim Original rückgängig machen kann.

Aktualisierung während Laufzeit (Risiko)

Da das Aktualisieren eines Flash-BIOS heute schon unter einem laufenden Windows möglich ist, eröffnen sich damit neue Einfallswege für Viren-Befall. Wenn auf diesem Wege beispielsweise ein Rootkit installiert würde, könnte es sich noch einmal wesentlich effizienter gegen Entdeckung und Löschung abschotten. (Außerdem kann ein Absturz des Betriebssystems während des Flashens den PC eventuell unbootbar machen, siehe oben.)

Risiko

Da ein Rechner ohne vollständiges BIOS nicht funktionsfähig ist, stellt dieser Vorgang immer ein gewisses Risiko dar. Wird er unterbrochen, beispielsweise durch einen Stromausfall, 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 Fachpersonal nur ein geringfügiges Problem dar. Auf neuen Boards werden immer häufiger sogenannte serielle Flashspeicher verwendet, die es im Fehlerfall teilweise ermöglichen, per SPI-BUS auf dem Board neu programmiert zu werden.

Vergleichbare Konzepte

(Unified) Extensible Firmware Interface

Geschichte

Die ersten 64-Bit-x86-Systeme nutzten weiter das Mitte der 2000er Jahre über 25 Jahre alte BIOS. Intel veröffentlichte daher 2004 EFI 1.1 für x86 bzw. IA-32 (unter dem Namen: "Tiano"). 2005 stellte Intel die Firmware unter die Kontrolle eines Gremiums, in dem seither führende Unternehmen aus der IT-Branche mitarbeiten und für die Weiterentwicklung von EFI zuständig sind. Die Firmware wurde dabei in Unified Extensible Firmware Interface, kurz UEFI, umbenannt.

Erster UEFI PC

2006 war Apple der erste und einzige Hersteller von Desktop-PCs, der EFI einsetzte: nach dem Verlassen der PowerPC-Architektur hin zu IA-32 stellte Apple auf EFI 1.1 von Intel um (jedoch mit eigenen Mac-spezifischen Erweiterungen). Mit dem in EFI enthaltenen Compatibility Support Module (kurz CSM) kann damit auf einem Intel-Mac auch ein PC-Betriebssystem (welches ein BIOS voraussetzt) gestartet werden, was Apple über die (spätere) Software Boot Camp offiziell für Windows ermöglicht.

Auf x86-PCs anderer Hersteller wurde UEFI nach und nach eingeführt, sodass auch PCs mit AMD-Prozessoren UEFI als Firmware boten. Allerdings muss auch das Betriebssystem UEFI unterstützen (oder das in vielen UEFI-Implementierungen integrierte "Compatibility Support Module" nutzen).

Linux & Windows

Linux war das erste PC-Betriebssystem, das von EFI bzw. UEFI starten konnte. Seit Windows 8 hat sich UEFI auf dem Desktop endgültig durchgesetzt, setzt aber immer ein x64-Betriebssystem voraus. 32-Bit-Windows-Versionen benötigen weiterhin ein BIOS oder CSM.

Auf 64-Bit-PC-Systemen, die auch als x64 bezeichnet werden, hat sich UEFI seit Mitte der 2010er Jahre als Standard etabliert.

Kritik

Eine Firmware-Schnittstelle wie BIOS und UEFI ist sehr tief im System verankert und daher eine potenziell sicherheitskritische Komponente:

Proprietärer Code

Absichtliche oder unabsichtliche Sicherheitslücken entziehen sich der öffentlichen Kontrolle (Möglichkeit der Ausspähung, Manipulation und Industriespionage) – die NSA erarbeitete 2010 dazu eine Durchführbarkeitsstudie.

Vertrauenswürdigkeit der Software

Die Einstufung der Vertrauenswürdigkeit von Software unterliegt beim BIOS-Nachfolger UEFI allein der Firma Microsoft.

nur 2 Produzenten

Es gibt nur zwei BIOS-Produzenten – beide residieren in den USA und unterliegen deren Bestimmungen.

Sicherheit

UEFI erfüllt nicht die Anforderungen zur Computersicherheit der deutschen Bundesregierung.

Nutzungseinschränkungen

Mögliche feste Implementation von Nutzungseinschränkungen, etwa Digital Rights Management.