Der Bootvorgang unter der Lupe

BIOS/(U)EFI und Secure Boot in der Praxis

| Autor / Redakteur: Frank-Michael Schlede, Thomas Bär / Andreas Donner

Zahlreiche BIOS-Varianten kennzeichnen den PC-Markt.
Zahlreiche BIOS-Varianten kennzeichnen den PC-Markt. (Bild: Schlede/Bär)

Einschalten und loslegen – so wünschen sich Anwender ihren Computer. In den paar Sekunden des Startens passieren aber wichtige Dinge. Doch was genau steckt hinter BIOS, (U)EFI und Secure Boot und was haben diese in der Praxis für Konsequenzen?

Der Computer an sich ist eine wahrlich beeindruckende Maschine – dieser überschwängliche Satz zum Einstieg sei erlaubt, wird sich der Mensch erst einmal der Tatsache bewusst, dass sich dieser Computer beim Einschalten erst selbst kennenlernt und für den eigentlichen Betrieb vorbereitet.

So unterschiedlich die verschiedenen Computersysteme in ihren Ausbaustufen und die Betriebssysteme auch sind, es gibt dennoch einige Gemeinsamkeiten, die sie vereint. Der Systemstart fußt auf dem BIOS-, EFI- oder UEFI-Einsatz sowie dem Auslesen des Startbereichs auf einer, wie auch immer aufgebauten, Systemplatte.

Jeder Computer startet mit Hilfe eines BIOS (Basic Input Output System), EFI (Extensible Firmware Interface) oder UEFI (Unified Extensible Firmware Interface). In einigen Publikationen wird gelegentlich für das Startsystem auch vom NVRAM (Non-Volatile Random Access Memory) gesprochen.

Nach dem Einschalten erhält das BIOS/EFI/UEFI der Hauptplatine die Kontrolle über das System und führt eine Reihe von Tests durch. Zum Beispiel analysiert eine Routine, ob eine Tastatur entdeckt wird oder ob eine Festplatte zu finden ist, unabhängig davon, ob diese mechanisch aufgebaut ist oder als SSD vorliegt. In einigen Konstellationen erkennen die Startroutinen die Parameter und Größenwerte der Festplatten selbstständig, in anderen Fällen geschieht die Zuordnung erst später, insbesondere, wenn Array-Adapter zum Einsatz kommen.

Der Speicherplatz für diesen Startcode eines Computers wurde im Laufe der Jahre immer mehr vergrößert, da die Funktionen, die während des Startvorgangs auszuführen sind, zunahmen. Unabhängig von der Größe und dem Funktionsgrad hat der Startbereich noch immer zwei grundlegende Funktionen, daran hat sich seit den frühen 1980er Jahren nicht viel geändert:

  • Prüfung der vorhandenen Hardware
  • Suche nach einem startbaren Betriebssystem

Da sich verschiedene Komponenten des Computers zum Starten eines Betriebssystems eigenen, bietet jedes BIOS die Möglichkeit, für die Suche nach einem Betriebssystem eine Reihenfolge festzulegen. Welche Voreinstellung der Hersteller eines Computers im BIOS vorgenommen hat, unterscheidet sich von Fall zu Fall. Die folgenden Optionen stehen im Allgemeinen zur Verfügung:

  • Netzwerkkarte(n)
  • CD/DVD/BD Laufwerk
  • USB Speicher
  • Festplatten

Einst, als das BIOS noch klein und unscheinbar war, gab es noch keine Option für das direkte Starten über das Netzwerk. Diese Funktion war seinerzeit auf einem so genannten „Bootprom“ ausgelagert, aufgesteckt auf einer Netzwerkkarte. Heute ist das Booten vom Netzwerk ein integraler Bestandteil eines jeden BIOS und funktioniert, zumindest für eine der verbauten Netzwerkkarten, in der Regel tadellos. Mit dieser Einschränkung beginnt der Leidensweg vieler Administratoren, die sich bei jeder neuen BIOS Version fragen müssen, was der Hersteller wohl geändert hat.

Die mangelhafte Standardisierung der BIOS-Funktionen hat mit der Zeit zur Entwicklung eines neuen BIOS geführt, dem Extensible Firmware Interface (EFI) und dessen jüngsten Ausprägung UEFI (Unified Extensible Firmware Interface). Aus den bisher genutzten BIOS-Startcodes wurde somit das so genannte „Legacy BIOS“. Aktuelle Computersysteme erlauben den Besitzern die Auswahl der BIOS-Varianten in den Grundeinstellungen.

Einer der wesentlichen Unterscheidungen zwischen den beiden BIOS Varianten ist die Art und Weise, wie nach bootbaren Betriebssystemen gesucht wird. Ein „Legacy BIOS“ sucht am Anfang des Datenträgers nach dem so genannten Bootcode, der dann die Kontrolle über das weitere Startverhalten des Computers übernimmt. Der Bootcode, am Anfang einer Festplatte, wird beim „Legacy BIOS“ als Master Boot Record (MBR) bezeichnet und ist lediglich 192 Byte groß. Direkt im Anschluss an den MBR befindet sich in den ersten 512 Byte einer Festplatte noch die Partitionstabelle. Aus dem begrenzten Speicherplatz der Partitionstabelle ergibt sich auch der Umstand, dass Betriebssysteme im Zusammenspiel mit einem herkömmlichen BIOS nur Festplatten bis zu einer Größe von zwei Terabyte partitionieren können.

UEFI: Jenseits der 2 TByte Grenze

Das modernere EFI dagegen sucht auf den Datenträgern nach einer GPT-Partitionstabelle (GUID Partition Table) und einer FAT-Partition. Je nach eingesetzter Prozessorachitektur wird eine EFI-Bootdatei mit einem definierten Standardnamen gesucht. Diese Bootdatei übernimmt die Kontrolle über das weitere Bootverhalten des Computers.

Falls neben der EFI-Bootdatei mit dem Standardnamen weitere EFI Bootdateien auf der FAT-Partition platziert sind, kann pro EFI-Bootdatei ein Bootmenüeintrag im EFI-BIOS erstellt werden. Dieses Konzept ist vom Grundsatz her flexibler als das Legacy BIOS Boot-Verhalten. (U)EFI ermöglicht es dem Benutzer insbesondere, mehrere Betriebssysteme unabhängig voneinander zu installieren und zu betreiben. Das zuvor übliche „entweder/oder“ und die Dominanz eines Bootloaders entfällt. Auch ein nachträgliches Deinstallieren von Linux oder auch Windows in einer Parallelinstallation ist damit generell möglich.

Eine zusätzliche Erweiterung in (U)EFI soll, per Definition, den Start von Schadsoftware während des Startvorgangs verhindern, aber auch den Boot-Vorgang über USB-Sticks oder optischen Datenträger bei Bedarf blockieren. Standard-Betriebssysteme, hier ist in erster Linie an Windows von Microsoft gedacht, haben mit dieser Erweiterung keinerlei Probleme, die Unterstützung von Linux/Unix ist bei aktuellen Distributionen ebenfalls gegeben. Die Aktivierung von „Secure Boot“ erzwingt einen Bootmenüeintrag im EFI-BIOS.

Das Booten über das Netzwerk erfolgt in beiden BIOS-Varianten über einen eigenen Bootcode. Beim Legacy BIOS hat sich mit den Jahren der PXE-Bootcode (Pre Execution Environment) durchgesetzt. Der PXE-Bootcode besteht aus einem DHCP-Client (Dynamic Host Configuration Protokoll) über den die IP-Adressierung geladen wird und einem TFTP-Client (Trivial File Transfer Protokoll). Dieser lädt die eigentliche PXE-Boot-Datei herunter und diese Boot-Datei entsprechend weitere Daten.

Je nachdem, welche initiale PXE-Bootdatei verwendet wurde, wird der Netzwerkboot von Microsoft Windows, Linux, FreeBSD, Solaris oder anderen Systemen ausgeführt. Der DHCP-Client im PXE-Bootcode kann nur IPv4-Adressen empfangen. Der DHCP-Client im EFI-Bootcode ist auch in der Lage, mit IPv6-Adressen umzugehen. Diese EFI-Bootdatei ist identisch mit der Bootdatei, die ansonsten auf der EFI-FAT-Partition der Festplatte vorhanden sein muss.

Theorie und Praxis

In der Praxis erleben Administratoren immer wieder Konstellationen, die beweisen, dass allen Standards zum Trotz das Tagesgeschäft kompliziert bleibt. Andreas Roscher, Geschäftsführer bei der Arosoft GmbH aus Berlin, gilt als Experte für Betriebssystemferninstallationen und berichtet, dass „es mehr oder minder umständlich wird, wenn Betriebssysteme bei einem Installationsversuch das BIOS und die Festplatteninhalte prüfen und versuchen, schlaue benutzerfreundliche Entscheidungen zu treffen. So ist mir der Fall untergekommen, dass auf einem Computer mit einer Legacy BIOS Einstellung keine Windows 10 Installation möglich war, weil Windows ein EFI BIOS erkannt hatte. Aktuell lassen sich aber alle Betriebssysteme sowohl auf Computern mit einer EFI- oder Legacy BIOS-Einstellung gleichermaßen installieren. Erst wenn man Festplatten größer als 2 TByte verwenden will oder per IPv6 vom Netz booten möchte, ist der Einsatz eines EFI-BIOS zwingend erforderlich.“

„Vergleicht man die verschiedenen BIOS-Systeme und integrierten Remote Konsolen, kommt man zu der Erkenntnis, dass sich trotz aller Bemühungen einer Standardisierung nichts wirklich tut. Immer noch versuchen sich die Hersteller von Computern schon beim BIOS und den integrierten Remote Konsolen von der Konkurrenz zu unterscheiden. Bei bestimmten Geräten, wie Multifunktionsdruckern, Apple Computer oder Smartphones , wird das BIOS bewusst „armselig“ gehalten oder gar versteckt, um den Einsatz der proprietären Managementsysteme der Hersteller zu erzwingen.

Auch beim Einspielen neuer BIOS Versionen haben die Hersteller keine offenen Standards im Einsatz. In der Praxis vieler Rollouts ist deshalb das manuelle Einstellen des BIOS nach den Sicherheitsrichtlinien der jeweiligen Firma eine an Steinmetzarbeiten erinnernde mühselige Handarbeit. Auch das Scannen der Mac-Adresse der PXE- bzw. EFI-Boot-Netzwerkkarte von einem Strichcode-Aufkleber auf dem Computer darf man von keinem Hersteller erwarten. So merkt man immer wieder, dass die Masse der Computer weltweit nicht in Firmen zum Einsatz kommt, wo die Verwendung vorinstallierter Systeme schon den erstenSchritt zur Sicherheitslücke darstellt“, so Roscher weiter.

Kommentare werden geladen....

Sie wollen diesen Beitrag kommentieren? Schreiben Sie uns hier

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44203226 / Technologien & Lösungen)