2.2BIOS und EFI

Jahrzehntelang war für die Initialisierung von PCs und Notebooks das sogenannte BIOS (Basic Input/Output System) verantwortlich. Dabei handelt es sich um ein Programm, das unmittelbar nach dem Einschalten des Rechners ausgeführt wird. Das BIOS ist für die Erkennung der Hardware-Komponenten, für die Konfiguration der Hardware sowie für den Start des Betriebssystems verantwortlich. Der Begriff BIOS ist für diese Funktionen seit 40 Jahren gebräuchlich.

Das traditionelle BIOS schleppt eine Menge Altlasten mit sich herum. Deswegen begann Intel bereits 1998 mit der Entwicklung des BIOS-Nachfolgers EFI (Extensible Firmware Interface). Später beteiligten sich viele namhafte Firmen (AMD, Apple, Microsoft etc.) an der Weiterentwicklung, wobei die Software auch eine neue Abkürzung bekam: UEFI (Unified Extensible Firmware Interface). Die Kürzel EFI und UEFI werden seither oft synonym verwendet, auch in diesem Buch: Ist bei modernen Mainboards oder PCs von EFI die Rede, ist fast immer UEFI gemeint.

Während Apple schon früh auf den EFI-Zug aufsprang und seit vielen Jahren alle Macs mit einer EFI-Variante ausstattet, dauerte es in der PC-Welt wesentlich länger. Der Siegeszug von EFI hat erst 2012 mit der Markteinführung von Windows 8 begonnen. Seither kommt EFI auf nahezu allen neuen Notebooks und PCs zum Einsatz. Viele EFI-Implementierungen sind zudem BIOS-kompatibel.

Aus technischer Sicht bietet EFI viele grundlegende Vorteile im Vergleich zum BIOS (höhere Initialisierungsgeschwindigkeit, Unterstützung der Parallelinstallation mehrerer Betriebssysteme etc.). Aus Anwendersicht reduzieren sich die Argumente für EFI aber zumeist auf drei Punkte:

Die meisten aktuellen Linux-Distributionen sind EFI-kompatibel (siehe Tabelle 2.1, Stand: Herbst 2015). Das Installationsmedium startet bei ihnen direkt im EFI-Modus (nicht im BIOS-Modus) und richtet Linux so ein, dass es direkt durch EFI hochgefahren werden kann.

Distribution

EFI-kompatibel ab

EFI Secure Boot ab

CentOS

Version 6.4

Version 7

Debian

Version 7

voraussichtlich Version 9

Fedora

Version 16

Version 18

Linux Mint

Version 15

nicht bekannt

openSUSE

Version 12.3

Version 13.1

RHEL

Version 6.2

Version 7

Ubuntu

Version 11.10

Version 12.10

Tabelle 2.1EFI-Kompatibilität der wichtigsten Linux-Distributionen

Manche Mainboards unterstützen sowohl den herkömmlichen BIOS-Start als auch EFI: Im Boot-Menü erscheint das Installationsmedium dann möglicherweise doppelt, einmal mit der gewöhnlichen Bezeichnung und einmal mit dem vorangestellten Wort EFI oder UEFI. Sie müssen das Boot-Medium unbedingt in der EFI-Variante starten, wenn Sie eine EFI-Installation durchführen möchten (siehe Abbildung 2.1).

Für eine EFI-Installation müssen Sie
  den EFI-Eintrag auswählen.

Abbildung 2.1Für eine EFI-Installation müssen Sie den EFI-Eintrag auswählen.

Es mag paradox wirken, aber aus Linux-Sicht bringt EFI kaum nennenswerte Vorteile mit sich: Linux unterstützte schon bisher im Zusammenspiel mit den meisten BIOS-Versionen GPT-partitionierte Festplatten in beliebiger Größe, und Linux konnte mit dem Bootloader GRUB schon bisher beliebig viele parallel installierte Betriebssysteme starten.

EFI-Unterstützung nur für 64-Bit-Distributionen

Bei den meisten Linux-Distributionen kommt nur die 64-Bit-Variante mit EFI zurecht. Diese Einschränkung gilt z.B. für Debian und Ubuntu. Zwar sind Notebooks mit 32-Bit-CPU und EFI selten, aber es gibt sie. Vorsicht also beim Rechnerkauf: Auf einem derartigen Notebook ist es unmöglich, Linux zu installieren!

Apple setzt schon viel länger auf EFI als herkömmliche PCs/Notebooks. Das bringt es leider mit sich, dass die EFI-Version auf Macs inkompatibel zu den (U)EFI-Versionen auf PCs ist. Trotz EFI ist die Installation von Linux auf einem Mac daher häufig mit Problemen verbunden.

Aus meiner persönlichen Erfahrung rate ich Einsteigern von der Linux-Installation auf Macs ab: Dabei treten nahezu garantiert Probleme auf! Zwar gibt es für die meisten Mac-Modelle im Internet Installationsanleitungen; um diese zu verstehen, brauchen Sie aber ein solides Linux-Grundwissen. In der Regel ist es zweckmäßiger, Linux auf dem Mac in einer virtuellen Maschine auszuführen.

Im Gegensatz zum BIOS sieht die EFI-Spezifikation die Parallelinstallation mehrerer Betriebssysteme sowie deren Auswahl während des Boot-Prozesses vor. Damit das funktioniert, muss es auf der Festplatte eine spezielle EFI-Partition geben, in der jedes Betriebssystem sein eigenes Startprogramm installiert (in der Fachsprache: seinen eigenen Bootloader).

Die EFI-Partition muss ein VFAT-Dateisystem enthalten, also ein Windows-95-kompatibles Dateisystem. Außerdem muss die Partition durch eine spezielle UID markiert sein. Microsoft empfiehlt, diese Partition als erste Partition auf der Festplatte einzurichten, obwohl der EFI-Standard dies nicht verlangt. Die Partition muss nicht besonders groß sein, ca. 100 bis 200 MByte reichen vollkommen aus.

Bei der Installation von Linux müssen Sie darauf achten, dass eine bereits vorhandene EFI-Partition in das Verzeichnis /boot/efi eingebunden werden muss. Existiert noch keine EFI-Partition, muss sie angelegt werden. Die Installationsprogramme der meisten aktuellen Linux-Distributionen kümmern sich automatisch um diesen Schritt, außer Sie entscheiden sich für eine manuelle Partitionierung: In diesem Fall sind Handarbeit und etwas Vorsicht angesagt! Auf keinen Fall darf eine vorhandene EFI-Partition formatiert werden, sonst kann keines der bereits installierten Betriebssysteme mehr gestartet werden!

UEFI Secure Boot ist eine von Microsoft betriebene Erweiterung der EFI-Funktionen: Wenn Secure Boot aktiv ist, kann nur ein Betriebssystem gestartet werden, das mit dem auf dem Mainboard hinterlegten Schlüssel signiert ist. Auf diese Weise ist ausgeschlossen, dass Viren oder andere Schadsoftware bereits in den Boot-Vorgang eingreifen – was in der Praxis in den letzten Jahren aber ohnedies nur äußerst selten der Fall war.

Dennoch wird Secure Boot natürlich als Sicherheitsgewinn für Windows-Anwender verkauft. Aus Linux-Sicht verursacht diese Funktion hingegen Probleme: Bei aktivem Secure Boot kann Linux nur dann installiert und gestartet werden, wenn sein Startprogramm (genauer gesagt: sein Bootloader) mit einem auf dem Mainboard existierenden Schlüssel signiert ist. Auf den meisten Mainboards gibt es nur einen Schlüssel – den von Microsoft. Zwar stellt Microsoft den Schlüssel auch Linux-Distributoren gegen eine geringe Gebühr zur Verfügung, dennoch hat sich die Unterstützung von Secure Boot als relativ schwierig erwiesen. Für Linux-Anwender gibt es gegenwärtig zwei Wege, um Linux auf Rechnern mit UEFI Secure Boot einsetzen zu können:

Weitere Details zu EFI können Sie auf den folgenden Webseiten nachlesen:

http://de.wikipedia.org/wiki/Extensible_Firmware_Interface
https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface
https://help.ubuntu.com/community/UEFI
http://www.rodsbooks.com/efi-bootloaders/index.html
http://mjg59.dreamwidth.org