Hallo zusammen,
nach 10 Jahren Apple (und ansonsten nur Debian auf Servern) möchte ich mich nun gerne neuen Ufern zuwenden, und wieder zurück zu Linux auf dem Desktop. Ich bin dazu in Besitz eines Thinkcentre M92p gekommen, was "schon" ein UEFI hat - alles noch Neuland für mich.
Ich habe schon gelesen, dass es da ein Problem gibt mit dem Identifier, der auf jeden Fall "Red Hat Enterprise Linux" lauten muss, weil es sonst nicht bootet. Damit kann ich leben. Wenn es denn überhaupt booten würde. Aber von Anfang an:
Ich habe eine 240GB SSD in 3 Partitionen geteilt. /dev/sda1 ist 1GB groß und ist auf Partitionstyp EFI partitioniert. /dev/sda2 soll mal mein Arch werden, und /dev/sda3 das passende Swap. Alles eigentlich wie im Wiki beschrieben. Ich habe dann nach /dev/sda2 gechrootet und /dev/sda1 vorher nach /boot gemountet. In /boot liegt der Kernel und die Ramdisk. Soweit sogut.
Ich wollte dann eigentlich systemd-boot ausprobieren, aber nachdem ich dies hier las:
https://wiki.archlinux.org/index.php/GRUB/EFI_examples#M92p_ThinkCentre reicht mir auch erstmal Grub. Hauptsache, die Kiste bootet überhaupt.
Das Abtippen des Befehls aus dem Wiki führte nur zu 2 Fehlern:
"grub-install: info: cannot open '/boot/grub/device.map': No such file or directory
grub-install: error: failed to get canonical path of '/boot/efi'"
Wie gesagt, ich bin in der chroot-Umgebung, die ich mit arch-chroot betreten habe. /boot ist gemountet, da drin liegen aber nur die 3 Dateien für den Kernel, die normale initrd und die fallback-initrd.
Wenn ich den Befehl aus dem Wiki etwas modifiziere, nämlich das --efi-directory=/boot, so wie es hier (
https://wiki.archlinux.de/title/UEFI_Installation#GRUB) beschrieben steht, läuft der Befehl durch, generiert ziemlich viel Output, und meldet am Ende, dass EFI Variablen auf diesem System nicht unterstützt werden, sowie dass die Installation von Grub ohne Fehler durchgelaufen ist. Genau so tut es der ursprüngliche Befehl, wenn ich das Verzeichnis /boot/efi vorher manuell erzeuge.
Ich habe nach der Installation von Grub 2 neue Ordner in /boot. Einmal grub, und einmal "EFI/Red Hat Enterprise Linux/" mit dem Inhalt grubx64.efi, bzw. wenn ich das --efi-directory Flag anpasse halt efi/EFI/Red Hat Enterprise Linux.
Daher meine erste Frage: Wie lautet der richtige Pfad zum EFI-Executable auf der EFI-Partition? Ich vermute, /boot/EFI/Red Hat Enterprise Linux/grubx64.efi. Liege ich da richtig? Ich wüsste dann schon mal, welchen grub-install Befehl ich generell ausführen müsste, um theoretisch ein bootbares System zu bekommen.
Nächste Frage: Muss ich die Live-CD irgendwie im EFI-Modus booten, um grub-install korrekt durchführen zu können? Immerhin kommt ja der Fehler, dass EFI-Variablen nicht unterstützt werden. Der Grund hierfür ist vermutlich, dass ich die CD, bzw. die entpackte CD via PXE boote, und das PXE-syslinux kein EFI unterstützt.
Und die letzte Frage: Wie zum Teufel kriege ich das System endlich bootbar? Ich habe Arch davor mal einige Male in einer VM installiert, das lief 1a. Ist UEFI mit Linux immer noch so ein Frickelkram? Gibt es hier eventuell jemand, der auch ein Thinkcentre M92p hat? Dann möchte ich die Zusatzinfo hinzufügen: Ein Bootversuch von diesem Laufwerk führt dazu, dass der Bildschirm schwarz bleibt, einige Male der Mauszeiger, den man auch im EFI-Setup sieht, kurz aufflackert, und dann die Meldung kommt, dass kein OS gefunden wurde. Laut meinen Recherchen müsste bei einem Descriptor Mismatch (also wenn dieser RHEL-Bug zuschlägt) viel mehr die Meldung kommen, dass das OS nicht unterstützt wird - liege ich da richtig?
Falls sich hier jetzt jemand finden sollte, der jetzt sagt "Ich habe keine Ahnung von grub mit EFI, aber nimm doch lieber systemd-boot", dann immer her damit. Ich möchte Systemd-boot gerne ausprobieren, fand da aber nichts zu, bezüglich des Deskriptors und überhaupt.
Jeglicher Idee ist gerne gesehen...
Danke schonmal.