GRUB/Den GRUB Bootloader Wiederherstellen
Übersicht
Damit das Betriebssystem geladen werden kann, muss ein Linux-fähiger Bootloader - wie zum Beispiel GRUB, rEFInd oder Syslinux - im "Master Boot Record (MBR)" oder der "GUID Partitionstabelle (GPT)" des Speichermediums installiert sein, welches das Betriebssystem enthält. Installationen mit Manjaro ISO Images verwenden GRUB.
Aus verschiedenen Gründen - sei es ein korrupter, gelöschter oder falsch konfigurierter Bootloader - kann es passieren, dass der Bildschirm schwarz bleibt und lediglich eine Nachricht erscheint, wie No boot loaders found in /dev/… (zu Deutsch: "Kein Bootloader gefunden in /dev/…"). Um das System aus solch einem Zustand wiederherzustellen, ohne es neu installieren zu müssen, benötigst Du ein Manjaro Installationsmedium, wie eine CD/DVD oder USB-Stick.
Vorbereitung
Identifiziere zunächst die Art des Systems, welches du wiederherstellen möchtest, da die benötigten Befehle sich leicht unterscheiden.
- BIOS/MBR/GPT System
- EFI/GPT System
Manjaro Installationsmedium Starten
Partitionen Finden
Um Deine Partitionen und deren Funktion zu erkennen, benötigst Du einen Partitionsmanager. Abhängig von Deiner Umgebung gibt es verschiedene Werkzeuge. GTK basierte ISO's bieten GpartEd an, QT basierte ISO's bieten KParted an. Alle beinhalten jedoch Terminal Befehle.
Ausführlichere Informationen dazu findest Du mit fdisk
(als superuser "root"). Die Suche kann auf Speichermedien begrenzt werden mit zum Beispiel /dev/sda or /dev/nvme0n1
Suche in der Textausgabe nach Zeilen mit mbr bzw. gpt und der einer kleinen Partition - Normalerweise die Erste - formatiert mit dem vfat Dateisystem gefolgt von einer größeren partition formatiert als ext4.
Wechseln in einen "root" Kontext
Nachdem Du das live ISO (CD/DVD/USB-Stick) gestartet hast, öffne einen Terminal und wechsel in den "root" Kontext. Benutze dazu die Vorgenannte root:passwort Kombination.
Chroot Umgebung
Chroot ist eine Methode, um den Dateizugriff durch Programme (z.B. eine Paketinstallation und andere administrative Aufgaben) auf einen bestimmten Bereich im Dateisystem (z.B. eine Partition) zu beschränken. Mehr Informationen dazu findest Du in der Arch Wiki über diesen Link.
Systempartitionen Finden
Wir nehmen an, Du hast an dieser Stelle die relevanten Partitionen Deines Systems identifiziert. Dieses Dokument wird Partitionen wie folgt referennzieren. Nicht relevante Partitionen werden augelassen (z.B. "home", "swap").
Partition | Verwendung | Kommentar |
---|---|---|
/dev/sdyA |
EFI System | Benötigt für das EFI system und eingehängt in /boot/efi |
/dev/sdyB |
boot | Optional - Wenn vorhanden eingehängt in /boot. Der Haupt-Anwendungsfall dafür ist, wenn GRUB nicht in / schreiben kann (z.B. f2fs) |
/dev/sdyC |
root | Benötigt für das Wurzel-Dateisystem und eingehängt in / - meist formatiert mit ext4 |
Verwendung von manjaro-chroot
Bei Manjaro ist ein Skript mitgeliefert namens manjaro-chroot
. Dieses kann Speichermedien nach Anzeichen für Partitionen mit Installiertem Betriebssystem durchsuchen. Wenn mehr als ein Linux System gefunden wird, bekommst Du eine Auswahl angezeigt und kannst wählen, auf welchem System eine "chroot" Umgebung eingerichtet wird. Die "/etc/fstab" des gewählten Systems wird dann genutzt, um die Partitionen einzubinden und dort eine "chroot" Umgebung zu starten. Das Skript ist nur im Manjaro live System verfügbar, kann jedoch durch das Paket manjaro-tools-base
nachinstalliert werden.
Manuelle "chroot" Umgebung
(Nicht notwendig wenn Du bereits manjaro-chroot
verwendest.)
Hänge die relevanten Partitionen in den dafür vorgesehen, temporären Einhängepunkt ein - immer als Benutzer root.
Dann - wenn zutreffend - hänge boot ein
Dann - wenn zutreffend - hänge efi ein
Starte die "chroot" Umgebung mit der Bash shell
GRUB Neu-Installieren
Ein möglicher Grund dafür, dass Du dieises Dokument liest, ist ein Fehler bei der Systemaktualisierung. Wir werden an dieser Stelle nicht näher darauf eingehen. Wie auch immer zu der Situation kam, solltest Du in jedem Fall eine vollständige Systemaktualisierung durchführen - inklusive GRUB - um sicher zu stellen, dass alles am richtigen Platz ist.
Nach erfolgter Aktualisierung fahre mit dem für dich passenden, folgenden Kapitel fort.
BIOS System
Auf einem BIOS/GPT System gibt es keinen MBR und deshalb kann dort auch nicht der Bootloader gespeichert werden. Die GPT Spezifikation erlaubt eine Unformatierte Partition vom Typ "BIOS boot" (0xEF02). Die minimale Größe dieser Partition ist 1 MiB. Der Calamares Installer nutzt eine voreingestellte Größe von 32 MiB. Dagegen wird auf einem BIOS/MBR System ein Teil des Bootloaders in den "Master Boot Record (MBR)" des primären Speichermediums geschrieben.
Bei dem Speichermedium handelt es sich um die Festplatte (keine Partition).
Stelle sicher, dass die aktuelle GRUB Konfiguration verwendet wird
EFI System
Installiere GRUB
Aktualisiere die GRUB Konfiguration
Prüfe, ob Dein System eine EFI Partition hat
Prüfe, dass die EFI Partition eingehängt ist
Verlasse die "chroot" Umgebung
Versuche, das EFI Dateisystem zu laden
Betrete wieder die "chroot" Umgebung
Hänge das EFI Dateisystem ein
Prüfe noch einmal, dass das EFI Dateisystem geladen ist
Bei Erfolg wiederhole die GRUB Installation.
Troubleshooting
Arch Linux wird nicht erkannt
Wenn Arch Linux nach einem update-grub nicht erkannt wird, fehlt möglicherweise noch das lsb-release Paket in Deiner Arch Installation.