11 KiB
Diese Anleitung führt dich praxisnah durch die wichtigsten Bootloader unter Linux – GRUB 2 (am weitesten verbreitet) und systemd-boot – und zeigt, wie du Menüeinträge ausblendest, die Timeout-Zeit änderst, den Standard-Eintrag festlegst, Kernel-Parameter setzt, Themes nutzt u. v. m. Am Ende findest du auch Tipps für UEFI-Bootreihenfolge, Dual-Boot und Fehlerbehebung.
1) Welchen Bootloader habe ich – BIOS/UEFI?
# UEFI oder BIOS?
[ -d /sys/firmware/efi ] && echo "UEFI" || echo "BIOS/Legacy"
# GRUB oder systemd-boot?
bootctl status 2>/dev/null | grep -q 'systemd-boot' && echo "systemd-boot" || echo "GRUB (sehr wahrscheinlich)"
-
GRUB 2: Standard bei Ubuntu, Debian, Fedora, openSUSE, Arch (sofern nicht umgestellt).
-
systemd-boot: Häufig bei minimalistischen Setups (Arch, Fedora/Silverblue, Pop!_OS, Manjaro-Varianten) – nur im UEFI-Modus.
Wichtig: Bearbeite nie direkt die generierte Datei
/boot/grub/grub.cfg. Änderungen gehören in/etc/default/grub(GRUB) bzw./boot/loader/loader.conf+…/entries/*.conf(systemd-boot), und danach wird die Konfiguration neu generiert.
2) GRUB 2 konfigurieren (die häufigste Variante)
2.1 Ort der Einstellungen
-
Hauptdatei:
/etc/default/grub -
Menüeinträge (automatisch generiert):
/boot/grub/grub.cfg -
Regenerieren:
-
Debian/Ubuntu:
sudo update-grub -
Fedora/RHEL/openSUSE:
-
BIOS:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg -
UEFI:
sudo grub2-mkconfig -o /boot/efi/EFI/<distro>/grub.cfg
-
-
Arch:
sudo grub-mkconfig -o /boot/grub/grub.cfg
-
Tipp: Mach vor Änderungen ein Backup:
sudo cp /etc/default/grub /etc/default/grub.bak.$(date +%F)
2.2 Zeit bis zur automatischen Auswahl (Timeout)
In /etc/default/grub anpassen:
GRUB_TIMEOUT=2 # Sekunden bis Autostart
GRUB_TIMEOUT_STYLE=menu # "hidden" blendet das Menü aus (siehe unten)
-
Menü ausblenden:
GRUB_TIMEOUT_STYLE=hidden GRUB_TIMEOUT=0-> System bootet sofort, Menü erscheint nur wenn du beim Einschalten Shift (BIOS) oder Esc (UEFI) gedrückt hältst (je nach Firmware/Distro).
-
Menü immer zeigen:
GRUB_TIMEOUT_STYLE=menu GRUB_TIMEOUT=5
Danach Konfiguration neu generieren (siehe 2.1).
2.3 Standard-Eintrag festlegen
Variante A – fester Index (0-basierend, ändert sich bei Kernel-Updates ggf.):
GRUB_DEFAULT=0
Variante B – per Name (stabiler):
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.10.5"
Variante C – „zuletzt gebooteten“ Eintrag merken:
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
Einmalig einen anderen Eintrag für den nächsten Boot setzen:
sudo grub-reboot "Ubuntu, with Linux 6.10.5"
# oder nach Index:
sudo grub-reboot 2
2.4 Kernel-Parameter setzen (leiser, schneller, NVIDIA, etc.)
In /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="resume=UUID=<swap-uuid> mitigations=auto"
Häufige Parameter:
-
quiet splash– leiser Boot mit Grafiksplash (Plymouth). -
nomodeset– Notfall bei Grafiktreibern. -
nowatchdog– schaltet Watchdogs aus (Debug/Workarounds). -
acpi_osi=/acpi_backlight=– Backlight-Probleme bei Laptops. -
amd_pstate=active/intel_pstate=– CPU-Scaling steuern. -
mitigations=off(nur Test!) – Sicherheits-Mitigations deaktivieren.
Nach Änderung immer Konfiguration regenerieren (2.1).
2.5 Einträge ausblenden / aufräumen
-
Andere OS suchen (Dual-Boot) wird teils aus Sicherheitsgründen deaktiviert. Falls Windows fehlt:
GRUB_DISABLE_OS_PROBER=falseDanach:
sudo update-grub # bzw. grub2-mkconfig ... -
Bestimmte Recovery-Einträge ausblenden: In vielen Distros via Paket
grub-customizeroder durch eigene Skripte unter/etc/grub.d/(fortgeschritten).
Minimal: Notfalls Einträge in/etc/grub.d/40_customdefinieren und Standardliste ausblenden (nicht empfohlen, weil Updates überschreiben können).
2.6 Themes, Auflösung und Optik
In /etc/default/grub:
GRUB_GFXMODE=1920x1080
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_THEME="/boot/grub/themes/mein-theme/theme.txt"
-
Auflösung prüfen: In der GRUB-Konsole
videoinfoeintippen (interaktiv). -
Themes bekommst du aus Paketquellen (z. B.
grub-theme-*) oder GitHub. Theme in/boot/grub/themes/...ablegen.
2.7 Sonderfälle (UEFI-Pfad, BIOS, LUKS, Btrfs)
-
UEFI: Achte beim
grub2-mkconfigauf den richtigen Ausgabepfad (siehe 2.1). -
Vollverschlüsselt (LUKS): Kernel-Parameter und initramfs müssen passen (meist automatisch korrekt).
-
Btrfs-Snapshots (z. B. mit Snapper): Paket grub-btrfs integriert Snapshots ins Menü.
-
Sichere Bootreihenfolge: Siehe Abschnitt 4 (efibootmgr).
3) systemd-boot konfigurieren (UEFI-Only, sehr schlank)
3.1 Dateien & Struktur
-
Hauptdatei:
/boot/loader/loader.conf -
Einträge:
/boot/loader/entries/*.conf(eine Datei pro Eintrag) -
Kernel/Initrd liegen meist unter
/bootoder/efi.
3.2 Menü ausblenden, Timeout, Standard
/boot/loader/loader.conf:
timeout 2 # Sekunden (0 = sofort)
default arch # oder: @saved
editor no # verhindert Bearbeiten im Menü
console-mode auto # Grafikmodus: auto, 0..4
-
Menü ausblenden:
timeout 0
-> Menü erscheint bei gedrückter Leertaste oder wenn mehrere Einträge vorhanden sind (je nach Firmware/Distribution). -
Zuletzt gebooteten Eintrag merken:
default @saved
Beim Booten auswählen; systemd-boot speichert die Wahl inloader/.
3.3 Einträge bearbeiten
Beispiel /boot/loader/entries/arch.conf:
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=UUID=<root-uuid> rw quiet splash
-
Kernel-Parameter hängst du einfach an
optionsan. -
Mehrere
initrdZeilen sind erlaubt (z. B. Microcode + initramfs).
3.4 Kernel installieren/aktualisieren
-
Viele Distros nutzen
kernel-installHooks, die automatisch passendeentries/*.conferzeugen. -
Ansonsten Einträge manuell pflegen (simpel und transparent).
4) UEFI-Bootreihenfolge & Dual-Boot
4.1 Bootreihenfolge mit efibootmgr
Liste anzeigen:
sudo efibootmgr
Reihenfolge setzen (Beispiel, IDs anpassen):
sudo efibootmgr -o 0003,0001,0002
GRUB oder systemd-boot sollte ganz vorn stehen.
Ein einzelnes Boot-Target (z. B. Windows) einmalig booten:
sudo efibootmgr -n 0002
4.2 Windows fehlt im Menü?
-
Bei GRUB:
GRUB_DISABLE_OS_PROBER=false(siehe 2.5) und neu generieren. -
Bei systemd-boot: eigenen
windows.confEintrag unterentries/anlegen oder die automatische Erkennung der Distribution nutzen.
5) Häufige Aufgaben – Schritt-für-Schritt
A) Menü ausblenden & Sofort-Boot (GRUB)
-
sudo nano /etc/default/grub -
Setze:
GRUB_TIMEOUT_STYLE=hidden GRUB_TIMEOUT=0 -
sudo update-grub(oder passendesgrub*-mkconfig) -
Test: Reboot, ggf. Shift/Esc halten, um das Menü zu zeigen.
B) Timeout auf 5 s und Standard-Kernel merken (GRUB)
-
/etc/default/grub:GRUB_TIMEOUT_STYLE=menu GRUB_TIMEOUT=5 GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true -
Regenerieren.
-
Nächster Boot merkt sich deine Auswahl automatisch.
C) Ruhiger, schneller Boot mit Splash (GRUB)
-
/etc/default/grub:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" -
Optional Plymouth-Theme installieren.
-
Regenerieren und neu starten.
D) systemd-boot: Menü 1 s, zuletzt Gebootetes merken
-
sudoedit /boot/loader/loader.conf:timeout 1 default @saved editor no -
Reboot, Auswahl wird gemerkt.
6) Sicherheit, Recovery & Wartung
-
Secure Boot: Mit GRUB in der Regel via
shimsigniert – bei eigenen Kernel/Modulen ggf. MOK-Signatur nötig. systemd-boot lädt nur signierte Images, wenn Secure Boot aktiv ist. -
Recovery-Pfad: Halte mindestens einen nicht-minimalen Kernel-Eintrag ohne aggressive Parameter bereit (ohne
nomodeset, ohnemitigations=offetc.). -
Backups: Sichere
/etc/default/grub,loader.confund eigeneentries/*.conf. -
Fallback-Boot: Notiere einen UEFI-One-Shot Befehl (
efibootmgr -n <ID>), falls das Menü einmal nicht erscheint.
7) Troubleshooting (schnelle Checks)
-
GRUB-Menü erscheint nicht:
-
Firmware zeigt direkt Windows → Reihenfolge mit
efibootmgrkorrigieren. -
GRUB_TIMEOUT_STYLE=hidden? → Temporär Shift/Esc beim Start.
-
-
Neue Kernel erscheinen nicht:
-
Nach Updates
update-grub/grub*-mkconfigausgeführt? -
Pfad für UEFI-Ausgabe korrekt?
-
-
Dual-Boot-Einträge fehlen:
os-proberaktivieren (GRUB_DISABLE_OS_PROBER=false), dann neu generieren.
-
Schwarzer Bildschirm nach Grafiktreiber-Wechsel:
- Temporär
nomodesetim Bootmenü ergänzen (e), dann dauerhaft inGRUB_CMDLINE_LINUX_DEFAULT.
- Temporär
8) Nützliche Befehle (Cheatsheet)
# GRUB neu generieren (Debian/Ubuntu)
sudo update-grub
# GRUB neu generieren (UEFI, Fedora-Beispiel)
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
# Standard-Eintrag nur für den nächsten Boot (GRUB)
sudo grub-reboot 2
sudo grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 6.10.5"
# Zuletzt gebooteten Eintrag merken (Konfig siehe oben)
# -> einfach normal auswählen; GRUB speichert es.
# systemd-boot Status
bootctl status
# UEFI Boots verwalten
sudo efibootmgr
sudo efibootmgr -o 0003,0001,0002
sudo efibootmgr -n 0002 # One-shot
# Welche Auflösungen unterstützt GRUB?
# (in GRUB-Konsole: drücke 'c', dann)
videoinfo
9) Empfehlung nach Use-Case
-
Einsteiger / klassische Desktop-Distro → GRUB 2 beibehalten, Timeout 2–5 s,
saved-Default,quiet splash. -
Schlanke, transparente Setups (UEFI) → systemd-boot:
timeout 1,default @saved. -
Dual-Boot mit Windows → GRUB 2 +
os-proberaktivieren; in UEFI die Reihenfolge mitefibootmgrsichern. -
Schneller „kioskartiger“ Boot → Menü verstecken (
hidden/0bzw.timeout 0) und Hotkey kennen (Shift/Esc/Leertaste).
Wenn du mir deine Distribution und dein Ziel (z. B. „Menü vollständig verstecken“, „Windows hinzufügen“, „Splash aktivieren“) nennst, schreibe ich dir die exakten Befehle für dein System in einem kleinen, kopierfertigen Block.