zurück zum Artikel

Linux-Kernel mit Systemd-Boot gekonnt starten

| Keywan Tonekaboni

Der Linux-Bootmanager GRUB ist weit verbreitet, aber kompliziert zu konfigurieren. Dabei ist er nicht zwingend notwendig, denn es gibt modernere Alternativen.

Mehr zu Linux

Eigentlich ist der Grand Unified Bootloader, kurz GRUB, ein beeindruckendes StĂŒck Software: Er bootet Linux von allerhand Dateisystemen, sogar aus verschlĂŒsselten LUKS-Containern, und startet auf Wunsch auch ein parallel installiertes Windows. Doch wehe, man hat zwei Linux-Systeme installiert: Dann kĂ€mpfen unter UmstĂ€nden die jeweiligen GRUB2-Instanzen um die Vorherrschaft auf dem Rechner. Und wer an den Einstellungen von GRUB2 schrauben will, ist schnell von der KomplexitĂ€t der Konfigurationssyntax erschlagen. Um diese zu verstehen, brĂ€uchte man einen Doktortitel, behaupten böse Zungen. Zwar versuchen Linux-Distributionen wie Debian, Ubuntu oder Fedora, den Nutzern mit Hilfsskripten und eigenen vereinfachten Konfigurationsdateien wie /etc/default/grub das Leben zu erleichtern, aber um etwa per Vorgabe eine bestimmte Installation oder einen expliziten Kernel zu starten, reichen die nicht. Als Alternative bietet sich der schlanke Boot-Manager von Systemd an (Systemd-Boot), der frĂŒher eigenstĂ€ndig unter dem Namen "Gummiboot" entwickelt wurde.

GRUB2 stammt aus einer Zeit, in der das BIOS nur ein System starten konnte. Dessen Bootcode war im "Master Boot Record" (MBR) des DatentrĂ€gers hinterlegt. Ein Bootmanager wie GRUB2 erlaubt da mehr FlexibilitĂ€t. Aber in Zeiten von UEFI-BIOS ist das obsolet, da diese Firmwares ohne Probleme verschiedene Systeme starten können. Lediglich die ausfĂŒhrbaren EFI-Dateien der Bootloader oder Betriebssysteme mĂŒssen fĂŒr das UEFI-BIOS zugĂ€nglich sein. Typischerweise liegen die in der EFI-Systempartition (ESP), die Linux-Systeme meist unter /boot/efi einhĂ€ngen.

Bei GRUB auf 64-Bit-x86-Systemen ist es die grubx64.efi, die beispielsweise Ubuntu in /boot/efi/EFI/ubuntu/ speichert. Faktisch wird aber meist die fĂŒr Secure Boot signierte Shim (shimx64.efi) geladen, die dann GRUB startet. Anstelle von GRUB oder zusĂ€tzlich dazu kann auch der Linux-Kernel selbst in der EFI-Partition liegen und via "Efistub" direkt vom UEFI-BIOS gestartet werden; dazu spĂ€ter mehr. Übrigens: Der Windows-Bootmanager weilt in /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi und kommt einem Linux-Bootloader nicht mehr in die Quere.


URL dieses Artikels:
https://www.heise.de/-5024202

Links in diesem Artikel:
[1] https://www.heise.de/ratgeber/Linux-Snap-Pakete-fuer-eigene-Anwendungen-erstellen-6060442.html
[2] https://www.heise.de/ratgeber/Scanner-unter-Linux-nutzen-6052985.html
[3] https://www.heise.de/ratgeber/Der-optimale-PC-Linux-auf-den-aktuellen-PC-Bauvorschlaegen-einsetzen-5022919.html
[4] https://www.heise.de/hintergrund/Treiber-unter-Linux-Warum-das-manchmal-so-muehsam-ist-5023706.html
[5] https://www.heise.de/ratgeber/Linux-Kernel-mit-Systemd-Boot-gekonnt-starten-5024202.html
[6] https://www.heise.de/ratgeber/Linux-barrierefrei-einrichten-fuer-motorische-Behinderungen-4638557.html
[7] https://www.heise.de/ratgeber/Linux-mit-mehreren-Monitoren-betreiben-4698735.html
[8] https://www.heise.de/tests/Fedora-33-im-Test-Neue-Vorgaben-mit-Btrfs-Systemd-Resolved-und-zRAM-4983667.html
[9] https://www.heise.de/ratgeber/Linux-Flatpak-Pakete-selbst-bauen-4991018.html