Files
it-know-how/Computerkram/Linux/Boot Menü anpassen.md
T
2026-03-27 12:41:00 +01:00

11 KiB
Raw Blame History

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=false
    

    Danach:

    sudo update-grub  # bzw. grub2-mkconfig ...
    
  • Bestimmte Recovery-Einträge ausblenden: In vielen Distros via Paket grub-customizer oder durch eigene Skripte unter /etc/grub.d/ (fortgeschritten).
    Minimal: Notfalls Einträge in /etc/grub.d/40_custom definieren 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 videoinfo eintippen (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-mkconfig auf 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 /boot oder /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 in loader/.

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 options an.

  • Mehrere initrd Zeilen sind erlaubt (z. B. Microcode + initramfs).

3.4 Kernel installieren/aktualisieren

  • Viele Distros nutzen kernel-install Hooks, die automatisch passende entries/*.conf erzeugen.

  • 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.conf Eintrag unter entries/ anlegen oder die automatische Erkennung der Distribution nutzen.


5) Häufige Aufgaben Schritt-für-Schritt

A) Menü ausblenden & Sofort-Boot (GRUB)

  1. sudo nano /etc/default/grub

  2. Setze:

    GRUB_TIMEOUT_STYLE=hidden
    GRUB_TIMEOUT=0
    
  3. sudo update-grub (oder passendes grub*-mkconfig)

  4. Test: Reboot, ggf. Shift/Esc halten, um das Menü zu zeigen.

B) Timeout auf 5 s und Standard-Kernel merken (GRUB)

  1. /etc/default/grub:

    GRUB_TIMEOUT_STYLE=menu
    GRUB_TIMEOUT=5
    GRUB_DEFAULT=saved
    GRUB_SAVEDEFAULT=true
    
  2. Regenerieren.

  3. Nächster Boot merkt sich deine Auswahl automatisch.

C) Ruhiger, schneller Boot mit Splash (GRUB)

  1. /etc/default/grub:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    
  2. Optional Plymouth-Theme installieren.

  3. Regenerieren und neu starten.

D) systemd-boot: Menü 1 s, zuletzt Gebootetes merken

  1. sudoedit /boot/loader/loader.conf:

    timeout 1
    default @saved
    editor no
    
  2. Reboot, Auswahl wird gemerkt.


6) Sicherheit, Recovery & Wartung

  • Secure Boot: Mit GRUB in der Regel via shim signiert 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, ohne mitigations=off etc.).

  • Backups: Sichere /etc/default/grub, loader.conf und eigene entries/*.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 efibootmgr korrigieren.

    • GRUB_TIMEOUT_STYLE=hidden? → Temporär Shift/Esc beim Start.

  • Neue Kernel erscheinen nicht:

    • Nach Updates update-grub / grub*-mkconfig ausgeführt?

    • Pfad für UEFI-Ausgabe korrekt?

  • Dual-Boot-Einträge fehlen:

    • os-prober aktivieren (GRUB_DISABLE_OS_PROBER=false), dann neu generieren.
  • Schwarzer Bildschirm nach Grafiktreiber-Wechsel:

    • Temporär nomodeset im Bootmenü ergänzen (e), dann dauerhaft in GRUB_CMDLINE_LINUX_DEFAULT.

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-DistroGRUB 2 beibehalten, Timeout 25 s, saved-Default, quiet splash.

  • Schlanke, transparente Setups (UEFI)systemd-boot: timeout 1, default @saved.

  • Dual-Boot mit Windows → GRUB 2 + os-prober aktivieren; in UEFI die Reihenfolge mit efibootmgr sichern.

  • Schneller „kioskartiger“ Boot → Menü verstecken (hidden/0 bzw. 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.