Aus Linux-Magazin 11/2019

Bootmanager auf UEFI-Systemen

© Frank Peters, 123RF

Sucht der Linux-Admin nach einem Bootmanager, der mit moderner (U)EFI-Hardware kooperiert und auch optisch eine gute Figur abgibt, wird die Luft schnell dünn. Die aktuelle Bitparade schaut dem Platzhirschen und einem Herausforderer auf die Finger.

Über Bootmanager startet der User seine Linux-Distributionen nicht nur bequem aus einem Fenster heraus, sondern bootet parallel auch andere Betriebssysteme wie Windows, BSD, die E-Com-Station [1] oder sogar das gute alte DOS.

Doch die Zeit bleibt nicht stehen: Waren früher PCs mit einem herkömmlichen BIOS sowie rotierende Festplatten mit MBR-Partitionierung das Maß aller Dinge, lösen inzwischen die GPT-Partitionierung [2] und das UEFI-Interface [3] diese mehr als drei Dekaden alten Technologien ab. Sie bringen nicht nur für Anwender eine Reihe von Neuerungen mit, sondern eignen sich teils wesentlich besser für moderne Hardware.

Sie stellen aber auch das jeweilige Betriebssystem und den Bootmanager vor neue Herausforderungen. Alte Partitionierungswerkzeuge funktionieren mit dem GPT-Schema meist nicht mehr. Zudem muss der Bootmanager (siehe Kasten “Bootloader oder Bootmanager?”) den UEFI-Standard und GPT-Technologien explizit unterstützen.

Bootloader oder Bootmanager?

Häufig ist anstelle des Begriffs Bootmanager auch der Terminus Bootloader zu lesen. Es hat sich in den letzten Jahren eingebürgert, beide Begriffe synonym zu verwenden. Der bei älteren Computersystemen oft genutzte Begriff Bootloader (auch Bootstrap Loader) meint dabei den bei PCs im Bootsektor der Festplatte liegenden Betriebssystem-Loader. Der Bootmanager im heutigen Kontext bezeichnet hingegen primär das Dienstprogramm mit integriertem Bootloader und einer Menüoberfläche.

Auch der spröde Charme textbasierter Bootmanager mit höchst rustikalem Erscheinungsbild trifft nicht mehr den Geschmack der meisten Anwender: Vor allem auf Desktop-Systemen erwarten diese eher ein grafisch aufgepepptes Outfit auch bei der Auswahl des zu startenden Betriebssystems. Zudem soll trotz verbesserter technischer Möglichkeiten die Konfiguration des Bootmanagers möglichst einfach gelingen. Die Bitparade hat den wenigen modernen Starthilfen auf den Zahn gefühlt (siehe Kasten “Nicht berücksichtigt”).

Nicht berücksichtigt

Unter Linux sind zahlreiche weitere Bootmanager verfügbar, die auch mit UEFI-Systemen oder dessen Vorgänger EFI harmonieren. Sie decken jedoch meist spezielle Anwendungen statt herkömmlicher Desktop-Systeme ab: So zielen Barebox [5] und U-Boot [6] auf Embedded-Systeme ab. Der ebenfalls grafische Bootmanager Clover [7] konzentriert sich auf OS-X-Systeme.

Verschiedene andere Bootmanager wie Gag [8] oder der Smart Boot Manager [9] bekommen seit Jahren keine Updates mehr und sind teilweise nicht zu (U)EFI kompatibel. Auch das letzte Update von Elilo [10] stammt aus dem Jahr 2013.

Durcheinander

Unverständlicherweise hat es die Industrie versäumt, einheitliche Regeln für die Implementierung des UEFI-Standards zu definieren. Daher hat nahezu jeder Computerhersteller eigene Dialoge in der Firmware seiner Geräte verankert, die sich mit UEFI beschäftigen. Zugleich besitzen oder emulieren die meisten Geräte auch heutzutage noch ein konventionelles BIOS.

Daher ist es vielerorts immer noch möglich, die Computer in einem Hybridmodus zu betreiben: Dann findet der Anwender beim Auswählen der Bootgeräte meist für das gleiche Startlaufwerk zwei Optionen vor. Er kann sein System im BIOS- oder alternativ im UEFI-Modus hochfahren. Häufig heißt dieser BIOS- dabei auch Legacy-Modus.

Abhängig davon, welcher Modus aktiv ist, lädt das Betriebssystem unterschiedliche Kernel-Module. Um festzustellen, in welchem Modus sich der Computer befindet, blättern Anwender in der Dokumentation des Geräts nach oder durchforsten die Menüs der Firmware-Schnittstelle nach aktivierten Optionen.

Zu beachten ist zusätzlich, dass der Bootmanager im jeweiligen Modus auf dem Massenspeicher präsent sein muss. Versucht der Anwender beispielsweise, auf einem UEFI-System ein Betriebssystem von einem USB-Speicherstick zu starten, das den alten Grub-Bootmanager verwendet, misslingt das. Der Grund dafür: Der alte Grub-Bootmanager unterstützt die »EFI System Partition« [4] nicht, was der Betrieb eines UEFI-Systems jedoch voraussetzt.

Unter Linux ist zudem wichtig, das jeweilige Betriebssystem im UEFI-Modus zu installieren. Die gängigen Installationsroutinen erkennen den Modus und bieten während der Installation entsprechende Optionen an. Läuft bereits ein Betriebssystem auf dem PC, lässt sich äußerlich nicht erkennen, in welchem Modus es arbeitet. Um das herauszufinden, überprüft der Anwender mit einem Werkzeug wie Gparted die Partitionierung des Massenspeichers. Wartet hier eine FAT32-Partition von 512 MByte oder größer, die neben dem Boot- auch das ESP-Flag (EFI System Partition) zeigt, arbeitet das System im UEFI-Modus (Abbildung 1).

Abbildung 1: Gparted zeigt an, in welchem Modus ein Computer arbeitet.

Abbildung 1: Gparted zeigt an, in welchem Modus ein Computer arbeitet.

Anders als bei herkömmlichen Partitionierungsschemata richten UEFI-Systeme die EFI-Partition zwingend ein, wenn das System nicht im Legacy-Modus arbeitet. Der Nutzer kann das Partitionierungsschema auch am Prompt einsehen, dabei hilft der Befehl »gdisk /dev/Gerät«. Zusätzlich ist statt der MBR- die GPT-Laufwerkstabelle aktiv, was der Anwender ebenfalls in Gparted über das Menü »Ansicht | Geräteinformationen« herausfindet. Im Betriebssystem existiert zudem das Verzeichnis »/sys/firmware/efi/«, wenn der UEFI-Modus eingeschaltet ist.

Modifikationen

Da der UEFI-Standard die Konfiguration in einem beschreibbaren NVRAM-Baustein sichert, ändert der Nutzer Einstellungen bei Bedarf auch ohne den Umweg über das grafische Systeminterface des Computers. Dazu brauchen Linux-Anwender den EFI-Bootmanager [11], der in den Repositories aller gängigen Linux-Derivate im Paket »efibootmgr« wartet. Er gestattet es, im Terminal die Bootreihenfolge zu modifizieren und sie im NVRAM des Rechners zu speichern.

Vor Einsatz des Bootmanagers empfiehlt sich eine sorgfältige Lektüre der Manpage [12], um am Ende noch ein konsistentes System zu haben. Über den Befehl »sudo efibootmgr« betrachtet der Nutzer die Startreihenfolge der einzelnen Laufwerke (Abbildung 2) und modifiziert sie. Dazu verwendet er verschiedene Parameter [12], die es unter anderem ermöglichen, Laufwerke aus der Tabelle zu entfernen. Er löscht und definiert die Bootreihenfolge neu und definiert auf Wunsch inaktive Laufwerke per Eintrag in die Tabelle als Startlaufwerke.

Abbildung 2: Der EFI-Bootmanager gestattet eine Änderung der Bootparameter auf UEFI-Systemen.

Abbildung 2: Der EFI-Bootmanager gestattet eine Änderung der Bootparameter auf UEFI-Systemen.

Um die Bootreihenfolge zu ändern, muss der Anwender zwingend die Secure-Boot-Option des Computersystems ausschalten, denn der Bootmanager muss dabei das NVRAM beschreiben. Anders als der Grub-Bootmanager ist der EFI-Bootmanager zudem nicht in der Lage, aus einer Menüstruktur heraus das System hochzufahren. Er kann auch keine Parameter an den Kernel des Betriebssystems übergeben. Dazu verzweigt er an den eigentlichen Bootmanager, der die einzelnen Einträge der Betriebssysteme in seinem Bootmenü auflistet und mit den individuellen Parametern aufruft.

Einheitsware

Üblicherweise installieren alle gängigen Linux-Distributionen den Grub-2-Bootmanager. Der platzt vor Funktionen, ist manuell aber umständlich zu konfigurieren. Einige Linux-Derivate wie beispielsweise Mageia oder Rosa Linux bringen im Rahmen ihrer Desktop-Systemkonfiguration auch vorinstalliert Werkzeuge mit, um Grub 2 rudimentär grafisch zu optimieren. Für alle anderen Distributionen empfiehlt sich der Einsatz von Grub Customizer [13].

Angenommen, der Anwender möchte den optisch eher altbacken wirkenden Grub-2-Bootmanager durch ein anderes Produkt ersetzen. Dann muss er zunächst klären, ob der neue Bootmanager die aktuell verwendete Hardware sowie die systemspezifischen Einstellungen unterstützt, etwa exotische Dateisysteme unter anderen Betriebssystemen.

Will er zudem zusätzliche Massenspeicher mit altem MBR-Partitionierungsschema einsetzen, muss er sicherstellen, dass der alternative Bootmanager dafür eine direkte Unterstützung liefert oder zumindest einen Legacy-Bootmanager ansteuern kann. Auch LVM- oder RAID-Konfigurationen erkennen moderne Bootmanager oft nicht. Daher ist in erster Linie zu klären, welches technische Anforderungsprofil der Bootmanager erfüllen muss, um Probleme zu vermeiden.

Grub Customizer

Der Grub-2-Bootmanager hat sich im Linux-Universum und bei unixoiden Betriebssystemen fest etabliert. Dank einer großen Entwicklergemeinde bringt er einen üppigen Funktionsumfang mit. Doch der Wechsel vom Legacy-Grub-Bootmanager zur neuen Version 2 vor einigen Jahren zog auch einen Wandel in der Konfiguration der Software nach sich. Konnte der Admin im alten Grub-Bootmanager viele Einstellungen noch über Textdateien ändern, muss er bei Grub 2 zunächst die Grundstruktur des Bootmanagers verstehen und sich in die Befehlssyntax hineinfuchsen.

Um das Einrichten zu erleichtern, gibt es jedoch inzwischen ein spezielles grafisches Frontend: Mit dem Grub Customizer (Abbildung 3) konfigurieren auch Einsteiger den Bootmanager besser. Die Software sitzt in den Archiven nahezu aller gängigen Distributionen, unterstützt Ubuntu und Debian allerdings nur in den neuesten Versionen.

Abbildung 3: Mit Hilfe des Grub Customizer richten Anwender Grub 2 über ein grafisches Interface ein.

Abbildung 3: Mit Hilfe des Grub Customizer richten Anwender Grub 2 über ein grafisches Interface ein.

Wer die aktuelle Version des Grub Customizer für ältere Versionen ebenso wie für Derivate wie Linux Mint installieren will, greift zu gesonderten Repositories, die er manuell in die Paketverwaltung einpflegen muss. Nach dem Installieren wartet in der Menühierarchie des Desktops ein entsprechender Starter.

Das Hauptfenster des Grub Customizer unterteilt sich in drei Reiter mit Einstelloptionen in jeweils gesonderten Fenstersegmenten. Im ersten Reiter »Bootmenü-Konfiguration« verändert der Anwender bequem die Menüeinträge, wobei die aktiven untereinander erscheinen. Er schiebt sie nicht nur nach oben oder unten, sondern legt auch wahlweise Submenüs an oder modifiziert diese.

Der Rechtsklick auf einen Eintrag ruft ein Kontextmenü auf. Wählt der Nutzer »Bearbeiten«, erscheint in einem überlappenden Fenster ein Dialog, in den er Parameter (Abbildung 4) eintippen darf. Hier gibt er dem Bootmanager verschiedene Kernel-Parameter mit auf den Weg. Indem er hier bequem die Parametertabelle ergänzt, berücksichtigt er auch spezielle Einstellungen für Mobilsysteme.

Abbildung 4: Der Einstellungsdialog gestattet es, die Bootsequenz im Detail zu beeinflussen.

Abbildung 4: Der Einstellungsdialog gestattet es, die Bootsequenz im Detail zu beeinflussen.

Im zweiten Reiter »Allgemeine Einstellungen« finden sich nur wenige Optionen mit Relevanz für die allgemeine Funktion des Bootmanagers. Hier legt der Admin den voreingestellten Starteintrag fest, der erscheint, wenn der Computer ohne Interaktivität des Nutzers hochfährt. Hinzu kommt ein modifizierbares Time-out bis zum Hochfahren des voreingestellten Betriebssystems. Nicht zuletzt übergibt der Admin hier in einer Eingabezeile Kernel-Parameter an den Bootmanager.

Der letzte Reiter »Darstellung« hilft dem Nutzer, Grub 2 ein halbwegs modernes Aussehen zu geben. Die Menüeinträge darf er in verschiedenen Farben einrichten (Abbildung 5) und ein Hintergrundbild einfügen. Außerdem stellt er in diesem Menü die native Auflösung der grafischen Anzeige ein. Passt er sie an die der physischen Bildschirmauflösung an, befreit er den Startbildschirm von dem normalerweise im VGA-Modus gezeigten unscharfen Erscheinungsbild.

Abbildung 5: Auf Wunsch lässt sich Grub 2 auch bunt anmalen und mit einem Hintergrundbild versehen.

Abbildung 5: Auf Wunsch lässt sich Grub 2 auch bunt anmalen und mit einem Hintergrundbild versehen.

Die fertige Konfiguration sichert der Anwender durch einen Klick auf »Speichern« oben links in der Schalterleiste. Die Software generiert dann eine neue Datei »grub.cfg« mit den modifizierten Einträgen. Die Änderungen treten nach einem Neustart in Kraft.

Refind

Der Refind-Bootmanager [14] stellt eine interessante Alternative zu Grub 2 dar. Die Software steht unter der GPLv3- sowie einer BSD-Lizenz und wartet in den Repositories vieler bekannter Linux-Distributionen. Zusätzlich stehen auch der Quellcode und Pakete für weitere Distributionen auf der Webseite bereit.

In älteren Ubuntu-Versionen installieren Anwender Refind mit Hilfe eines eigenen Repository. Die Software kommt sowohl mit den EFI-Systemen zurecht als auch mit denen des Nachfolgers UEFI. Dank Shim [15] spielt Refind auch bei aktivem Secure Boot den Bootmanager, wobei einige Systeme aber einen erhöhten Konfigurationsaufwand verlangen.

Der Bootmanager verfügt über EFI-Treiber für zahlreiche Dateisysteme und bootet so auch Betriebssysteme jenseits des Linux-Universums. Neben einer textbasierten stellt Refind eine grafische Bedienoberfläche bereit, die es voreingestellt aktiviert. Auf Computern, die Massenspeicher mit einem LVM [16] und in RAID-Konfigurationen nutzen, funktioniert Refind nicht. In gemischten Systemen ist es in der Lage, BIOS-basierte Bootmanager zu starten, um auch ältere Konfigurationen zu berücksichtigen.

Linux richtet Refind nach der Installation automatisch als Standard-Bootmanager des Systems ein. Nach einem Neustart des Rechners begrüßt der Bootmanager den Anwender mit einem grafischen Bildschirm, in dessen Zentrum zwei Icon-Leisten warten (Abbildung 6): Die obere dient dem Start der gefundenen Betriebssysteme und kann auch den Fallback-Bootmanager aktivieren, falls es mit Refind Probleme beim Start des Computers gibt.

Abbildung 6: Refind kommt optisch gefällig daher.

Abbildung 6: Refind kommt optisch gefällig daher.

Die darunter angeordnete Icon-Leiste mit kleineren Symbolen bietet dem Anwender zusätzliche Funktionen: Er startet hier das System nicht nur erneut oder fährt es herunter, sondern stößt auf Wunsch auch über das Symbol ein Firmware-Update auf der ESP-Partition oder einen Neustart in das Computer-Setup-Utility an. Bei aktivem Secure Boot ist es zudem möglich, die MOK-Schlüssel mit Hilfe von Shim anhand gesicherter Schlüsseldateien zu ergänzen (Abbildung 7).

Abbildung 7: Shim ist auch für die Schlüsselverwaltung zuständig.

Abbildung 7: Shim ist auch für die Schlüsselverwaltung zuständig.

Möchte der Nutzer den Bootmanager anpassen, bearbeitet er dazu die Datei »refind.conf« (Abbildung 8). Sie steckt im Verzeichnis »/boot/efi/«, wo abhängig von der Distribution noch weitere Unterverzeichnisse warten. Die Datei liegt im einfachen Textformat vor; ein Texteditor genügt, um sie zu modifizieren. Sie liefert aussagekräftige Hinweise dazu mit, was die einzelnen Parameter bedeuten, daher finden sich auch ungeübte Anwender sofort zurecht.

Abbildung 8: In einer Textdatei stellt der Nutzer weitere Optionen ein.

Abbildung 8: In einer Textdatei stellt der Nutzer weitere Optionen ein.

Mit Hilfe der Datei fügt der Nutzer weitere Icons in das Bootfenster ein, um etwa aus dem Startmenü heraus auch Programme wie Gdisk oder Memtest zu starten. Auch eine EFI-Shell für Notfälle oder ein Bildschirmschoner zum Abdecken der Bildschirminhalte erscheint, wenn der Admin die Parameter richtig wählt, in der Icon-Leiste des grafischen Bootmenüs. Die Änderungen werden nach einem Neustart aktiv.

Fazit

Die Auswahl an Bootmanagern für Linux, die auch bei aktivem Secure Boot mit UEFI-Systemen zurechtkommen, ist recht überschaubar. Lediglich zwei Kandidaten bleiben am Ende übrig, wenn zudem eine komfortable Konfiguration gefordert ist und der Bootmanager eine grafische Oberfläche bieten soll (Tabelle 1).

Tabelle 1

UEFI-Bootmanager mit GUI

Grub 2

Refind

Lizenz

GPLv3

GPLv3/BSD

Funktionen

Grafikmodus

ja

ja

Textmodus

ja

ja

Textdatei zur Konfiguration

ja

ja

Übergabe Kernel-Parameter

ja

ja

Kernel-Auswahl möglich

ja

ja

Interaktiver Modus

ja

nein

Chainloader möglich

ja

ja

32-Bit-Architektur

ja

ja

64-Bit-Architektur

ja

ja

Unterstützte Dateisysteme

Btrfs, FAT, HFS, Ext2/3/4, JFS, ReiserFS, UFS, UFS2, XFS, ZFS, NTFS, ISO9660

Btrfs, FAT, Ext2/3/4, ReiserFS, ISO9660, HFS+, NTFS

Kompatibel zu MBR

ja

ja

Kompatibel zu GPT

ja

ja

Kompatibel zu LVM

ja

nein

Kompatibel zu RAID

ja

nein

Computer herunterfahren

ja

ja

Computer neu starten

ja

ja

Grafik

Hintergrundbild laden

ja

ja

Schriftenverwaltung

ja

nein

Offensichtlich lässt sich der altbekannte Grub 2 in Sachen Flexibilität bei der Betriebssystemunterstützung und Parametrisierung kaum übertreffen. Er funktioniert auch auf Systemen mit LVM-Partitionsschema und in einer RAID-Umgebung.

Der zweite Kandidat, Refind, glänzt dafür mit einer moderneren Oberfläche und der Option, verschiedene einzelne Werkzeuge in sein Menü zu integrieren. Zudem braucht Refind anders als Grub 2 kein externes Zusatzprogramm, um die Konfiguration zu vereinfachen: Der Nutzer richtet die Software einfach über eine klassische Textdatei ein. Für Desktop-Computer, auf denen mehrere Betriebssysteme laufen, eignen sich beide Probanden gleichermaßen als komfortable Starthilfe.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben