Manjaro startet nicht mehr nach Windows Neu-Installation

Mein PC war beim Kauf mit Win10 vorkonfiguriert. Nach dem Kauf habe ich als erstes die Win-Partition verkleinert, weitere Partitonen errichtet und verschiedene Linux-Systeme nebeneinander installiert, zuletzt Manjaro. Damit arbeite ich derzeit hauptsächlich. Mein PC startet mit einer von Manjaro erzeugten GRUB Multiboot-Prozedur. (UEFI Technik)

Kürzlich war es unvermeidbar, Win10 neu zu installieren. Dabei wurde meine GRUB-Prozedur durch den Win10-Bootloader ersetzt. Ergebnis: ich konnte keines meiner Linuxsysteme so wie gewohnt starten. Bei der Win10-Bootprozedur gibt es jedoch die Möglichkeit, von einem sogenannten Gerät zu starten. Ein “Gerät” ist scheinbar eine Partiton, auf der Win10 ein anderes Betriebssystem entdeckt hat. Als “Geräte” wurden “Linux Mint” und “Manjaro” angeboten.

Jetzt wird es interessant! Manjaro ließ sich auf diesem Weg nicht starten, aber Linux Mint!

Ich habe also Linux Mint gestartet, dort grub-install ausgeführt. Beim nächsten Booten habe ich die mit Linux Mint erzeugte GRUB Multiboot-Prozedur gesehen, konnte Manjaro starten, habe dort erneut grub-install ausgeführt. Jetzt habe ich wieder die von Manjaro erzeugte GRUB Multiboot-Prozedur. So weit so gut. Kommt mir einfacher vor als das, was ich unter https://forum.manjaro.org/t/unable-to-restore-grub-grub-install-error-cannot-open-boot-efi-efi-manjaro-grubx64-efi-input-output-error/67892 gesehen habe.

Fragen zu diesem Vorgang:

Frage1: Ich würde gerne verstehen, warum ich Manjaro nicht aus dem Win10-Bootloader starten konnte. Was ist hier der entscheidende Unterschied zu Linux Mint?
Hier der /boot-Ordner von Linux Mint (links) und Manjaro (rechts).

Frage2: Welche Rettungsmöglichkeit hätte es gegeben, wenn sich auf meinem PC neben Manjaro kein startbares Linux System befunden hätte? (Manjaro Neuinstallation würde ich jetzt nicht als Rettungsmaßnahme bezeichnen.)

Frage3: Wenn ich weiß, dass mein Manjaro sich auf Partition /dev/nvme0n1p5 befindet, dort im Ordner /boot das Linux-Startprogramm vmlinuz-5.4-x86_64 liegt, gibt es dann einen einfachen grub-Befehl zum Starten von Manjaro?

Den könnte ich mal ausprobieren und mir dann in meinen Papier-Kalender schreiben.

Hallo @jolexin :wink:

Also erst mal wird bei einem UEFI der Bootloader nicht “ersetzt” (da wird kein MBR überschrieben). Es wird nur ein neuer Eintrag in das UEFI gemacht (oder mit selben Namen überschrieben) und die Bootreihenfolge geändert. Deswegen wurde Windows gebootet und kein Linux. Einige UEFIs entfernen auch Einträge automatisch, wenn es keine/n Ordner/Datei auf der EFI-Partition für den Eintrag mehr gibt.

Also, wenn Windows die EFI partition nicht neu erstellt hat, dann sind alle anderen BSs ebenfalls noch da, nur eben nicht mehr an erster Stelle.

  1. Kein Ahnung, was du genau mit dem “Win10-Bootloader” meinst?! Der Windows Bootloader sucht nach keinen Einträgen. Das macht doch der UEFI Bootloader…

  2. Wenn die EFI Partition und die Einträge noch da sind, einfach die Bootreihenfolge im UEFI ändern. Und Manjaro wieder an erste Stelle setzen.

  3. Kommt drauf an, ob du zumindest in “Grub Emergency” rein kommst.

Hinweis: Generell empfehle ich für jedes BS auf der Festplatte eine kleine 100MB EFI Partition zu erstellen. So vermeidet man, dass irgendwas gelöscht oder überschrieben wird.

Ich habe in wikipedia, in der ubuntu wiki, in der Manjaro wiki die Artikel über UEFI gesichtet, habe damit vergeblich versucht, Struktur und Daten meiner EFI Partition (/boot/efi/…) grob zu verstehen. Ich verstehe nicht, wo und wie die Bootreihenfolge geregelt wird. (Bei GRUB hab ich nach einigen Jahren Erfahrung mit Multiboot-Systemen den Durchblick.)

Meine Bezeichnung " Win10-Bootloader" war bestimmt falsch; Win10 startet vermutlich mit dem EFI Bootloader. Und klar, die beiden Linux Systeme hat Windows nicht angefasst.

Daraus kann ich nicht entnehmen, in welchem der Ordner, in welcher Datei ich was ändern sollte. Auch die wiki Artikel helfen mir nicht. Ich wäre schon mal froh, wenn ich die Festlegung der Bootreihenfolge sehen und verstehen könnte. Sollte ich mal Daten aus meiner /boot/efi posten? Welche sind relevant?

Ja, ich komme in eine GRUB Kommandozeile; mit der hab ich vor Zeiten bereits ein wenig geübt; ist schwierig, wenn man keine englische Tastatur anstöpseln kann, aber machbar, wenn man die erforderlichen Kommandos kennt.

Also ganz grob erklärt:

  1. Das UEFI (oder früher BIOS) initialisiert die Hardware und sucht nach einer fat32 Partition auf der Festplatte. Generell sollte die entsprechend mit “boot,esp” markiert sein, ist aber nicht für jedes UEFI notwendig.
    In dem Ordner EFI auf dieser Partition ist ein Ordner erstellt mit “Manjaro” zum Beispiel. Darin befindet sich ein “*.efi”-Datei, die Anweisungen enthalten, wie das entsprechende OS gestartet werden soll.
    Die Einträge im UEFI (das man Anfang des Boot-Prozesses durch das drücken von F2 und ähnliches erreichen kann), werden meines Wissens vom Ordnernamen im Ordner EFI abgeleitet; können aber auch verändert werden.
    Die UEFI Bootloader sind meist sehr rudimentär und haben meist nur die Möglichkeit die Reihenfolge der Einträge zu verändern. Das Interface ist auch immer wieder anderes, was abhängig vom Mainboard ist.

  2. Wenn Manjaro an erster Stelle steht, leitet dich das UEFI weiter auf die eigentliche Partition, wo sich der Grub Bootloader befindet. Von da aus, kannst du dann Manjaro starten.

Also wenn im UEFI Bootloader alle 3 Betriebsystem da sind, dann hat dann hat das erstmal nichts damit zu tun. Auf der EFI Partition sollte man generell nichts selbst verändern, sondern grub die Arbeit machen lassen.

Also grub-install, update-grub und efibootmgr sind die Werkzeuge dafür.

Mir ist ehrlich gesagt auch nicht klar, was genau das Problem mit Manjaro sein soll. Warum sollte es nicht booten? Ich würde aber eher stark vermuten, dass sich die UUID der Manjaro Partition oder EFI Partition nach der Windows Installation verändert hat und Manjaro deswegen nicht bootet.

Wenn dem so ist, dann könnte ich mit der Vermuting richtig liegen, dass sich die UUIDs nach der Windows Installation verändert haben.

Auf jeden Fall musst du die richtige Partition manuell finden, dann den Pfad setzten und booten. Wenn du dann gebootet bist, solltest du die UUIDs in /etc/fstab und blkid abgleichen und anpassen. Danach grub erneut installieren (grub-install) und die grub Konfiguration aktualisieren (update-grub).