GRUB/Den GRUB Bootloader Wiederherstellen

Revision as of 16:21, 29 December 2022 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎français • ‎русский

Ü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.

Archlinux Bootprozess
Mehr Informationen über den Bootprozess in Archlinux basierten Distributionen findest Du auf Archwiki

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

Systemstart Anpassen
Damit der Systemstart angepasst werden kann, hat der jeweilige Hersteller eine bestimmte Taste vorgesehen. Bei vielen Laptop Tastaturen haben die Funktionstasten (F1 bis F12) mehrere Bedeutungen und die Primärfunktion kann umgekehrt sein. In diesem Fall muss die Fn Taste zusammen mit der Funktionstaste gedrückt werden. Wenn Du Dir unsicher bist, schaue im Handbuch zu Deinem Gerät nach. Manjaro ISO Standard-Benutzer und Passwörter
Standard-BenutzerStandard-Passwort
manjaromanjaro
rootmanjaro

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.

user $ lsblk -o PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME COPY TO CLIPBOARD


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

user $ sudo fdisk -l /dev/sda COPY TO CLIPBOARD


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.


Info
Verwende dieses Dokument niemals als "copy/paste" Resource. Der folgende Teil des Dokuments nutzt Pseudo-Namen und -Partitionsnummern. Für Speichermedien wird dabei die Form /dev/sdy, für Partitionen /dev/sdA verwendet, welche durch die echten Werte auf Deinem System zu ersetzen sind.


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.

user $ su COPY TO CLIPBOARD


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
Info
Wenn Dein System ein BIOS/MBR System ist, gibt es keine efi Partition. Wenn Dein System ein BIOS/GPT System ist, wirst Du eine unformatierte Partion der Größe 1-32MB und dem Partitionstyp "bios boot" finden.


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.

root # pamac install manjaro-tools-base COPY TO CLIPBOARD


root # manjaro-chroot -a COPY TO CLIPBOARD


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.

root # mount /dev/sdyC /mnt COPY TO CLIPBOARD


Info
Beachte bei einem BTRFS Dateisystem, dass die "subvolumes" einghängt werden:
root # mount -o subvol=@ /dev/sdyC /mnt COPY TO CLIPBOARD


Dann - wenn zutreffend - hänge boot ein

root # mount /dev/sdyB /mnt/boot COPY TO CLIPBOARD


Dann - wenn zutreffend - hänge efi ein

root # mount /dev/sdyA /mnt/boot/efi COPY TO CLIPBOARD


Starte die "chroot" Umgebung mit der Bash shell

root # manjaro-chroot /mnt /bin/bash COPY TO CLIPBOARD



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.

root # pacman -Syu grub COPY TO CLIPBOARD


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).

root # grub-install --force --target=i386-pc --recheck --boot-directory=/boot /dev/sdy COPY TO CLIPBOARD


Stelle sicher, dass die aktuelle GRUB Konfiguration verwendet wird

root # grub-mkconfig -o /boot/grub/grub.cfg COPY TO CLIPBOARD


EFI System

Info
Stelle sicher, dass Du Dich in einer "chroot" Umgebung befindest.


Installiere GRUB

root # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck COPY TO CLIPBOARD


Aktualisiere die GRUB Konfiguration

root # grub-mkconfig -o /boot/grub/grub.cfg COPY TO CLIPBOARD



EFI GRUB Installationsmeldungen
EFI variables are not supported on this system.

Prüfe, ob Dein System eine EFI Partition hat

root # lsblk -o PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME COPY TO CLIPBOARD


Prüfe, dass die EFI Partition eingehängt ist

root # ls /sys/firmware/efi COPY TO CLIPBOARD


Verlasse die "chroot" Umgebung

root # exit COPY TO CLIPBOARD


Versuche, das EFI Dateisystem zu laden

root # modprobe efivarfs COPY TO CLIPBOARD


Betrete wieder die "chroot" Umgebung

root # manjaro-chroot /mnt /bin/bash COPY TO CLIPBOARD


Hänge das EFI Dateisystem ein

root # mount -t efivarfs efivarfs /sys/firmware/efi/efivars COPY TO CLIPBOARD


Prüfe noch einmal, dass das EFI Dateisystem geladen ist

root # ls /sys/firmware/efi COPY TO CLIPBOARD


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.

Siehe Auch