ubuntuusers.de

GRUB2, (U)EFI, 2x Kubuntu

Status: Ungelöst | Ubuntu-Version: Kubuntu 20.10 (Groovy Gorilla)
Antworten |

lie-e10

Anmeldungsdatum:
21. April 2021

Beiträge: 3

Klopf, klopf, danke für den Einlass! Ich wurde leider mit Windows sozialisiert, dem ich dank Ver 10 nun den Rücken gekehrt habe zugunsten Kubuntu 20.10 (hier) auf einem Lenovo ThinkPad L15. Inzwischen ist Linux absolut Büro-tauglich, und bis auf ein paar Kleinigkeiten (Scanner, Firewall, reflected Audio-Transfer, ...) bin ich sehr positiv überrascht. Das Konzept von GNU/Linux ist eindeutig überlegen, wenngleich es für den (fast) reinen Anwender bei bestimmten Problemen sehr komplex ist.

Meine primäre OS-Installation ist aufgeteilt in die GPT-Partitionen EFI, SWAP, boot, root, home. Das Funktionierte recht gut, allerdings habe ich mir in anfänglichen Versuchen (Network-NAS-Lag, Firewall-modprobe, Mainline-Kernel, ...) nach einem Update mein Profil zerschossen - es blieb beim Starten mit dunklem Bildschirm hängen. Darum habe ich mir nun eine sekundäre OS-Installation auf eine weitere Partition UTEST gelegt, wobei diese die vorhandenen EFI und SWAP einbinden dürfte. Sie soll als Versuchswiese dienen, damit mein primäres OS "straight" bleibt. Mein primäres OS würde ich infolge neu aufsetzen wollen.

Allerdings hat mir mein sekundäres OS den EFI-Boot-Eintrag des primären OS gekickt, indem offenbar das (fix in grubx64.efi codierte) EFI-Distro-Verzeichnis überschrieben wurde. Infolge begann eine Odyssee durch Webschnipsel zu GRUB und EFI (Firmware, Partitionen, Bootloader, efibootmgr, ...). Das Firmware-EFI-Menu scheint zu passen, es gibt zwei Einträge, die auf die shimx64.efi in jeweiligen Verzeichnissen der EFI-Partition verweisen.

Dabei habe ich mir gestern die primäre grub.cfg so angepasst, dass sie nicht auf die Partition UTEST sondern auf Boot verweist. Darauf stiegt mir GRUB2 beim Booten im Prompt aus. Dies konnte ich mit der Live-CD und boot-repair wieder zurechtbiegen. Die erste Partition ist jedoch weiterhin nicht zugreifbar.

Soweit ich gelesen habe, übernimmt GRUB einer (der ersten / letzten ?) Installation die gemeinsame Verwaltung. Es gäbe aber auch die Möglichkeit, GRUB auf die EFI-Partition zu installieren, was vermutlich Probleme beim Update oder weiteren OS-Installationen verursachen könnte.

Ich habe inzwischen mein persönliches Wiki mit den Infos gefüllt, die ich auf diversen deutschen und englischen Websites finden konnte. Dabei wird oft mehr der Effekt als der funktionale Prozess beschrieben, auch werden Begriffe (grub.cfg, etc) unscharf verwendet. Nun bin ich mit meinen Quellen am Ende und habe dennoch mein Wiki nicht ausreichend füllen und vernetzen können, um mein Problem zu lösen.

Bitte um Unterstützung... Danke!

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11450

Hej lie-e10,

und willkommen im Forum!

lie-e10 schrieb:

Klopf,
[...]

*tl,tr*

Bitte um Unterstützung... Danke!

aber Lesestoff für Dich (falls ich das Anliegen richtig überflogen habe) → Mehrbootsystem mit 2x Ubuntu

Gruß black tencate

lie-e10

(Themenstarter)

Anmeldungsdatum:
21. April 2021

Beiträge: 3

Danke, black_tencate, für den Link.

Die Artikel habe ich natürlich bei meiner Recherche und Versuche bereits verarbeitet. Dazu:

Wenn das sekundäre OS bereits das gemeinsame EFI-Verzeichnis "ubuntu" vom primären übernommen hat, dann bringt der beschriebene Schritt (/etc/default/grub anpassen, grub-install) nur ein paralleles Verzeichnis für das sekundäre System anzulegen. Das primäre wird davon jedoch nicht wieder zurückgesetzt. Nebenbei greifen ja beie grubx64.efi auf die grub.cfg im Default-Verzeichnis "ubuntu/" zurück.

Sehe ich das richtig: Der UEFI-Bootloader ruft EFI/ubuntu/ oder EFI/ubuntu-2/ auf. Derer beide GRUB-Bootloader grubx64.efi nützen die grub.cfg von EFI/ubuntu/. Diese verweist auf das zuletzt installierte sekundäre System. Dieses beinhaltet (neben dem zu startenden Kernel) den GRUB-Bootmanager (Menü), wo ich theoretisch irgendwie einen Querstart zum anderen System anlegen könnte.

Auf der empfohlenen Seite steht, man möge danach die OS-Installation starten, deren GRUB verwendet werden soll, und sie mittels --reinstall wieder in den Originalzustand bringen. Ich kann aber vom primären System nicht starten.

Ich habe auch keine Entscheidungsgrundlage, welche Vor- und Nachteile es hätte, GRUB auf der EFI-Partition zu installieren, und weiß auch nicht wie man das bewerkstelligt.

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11450

lie-e10 schrieb:

Danke, black_tencate, für den Link.

Die Artikel habe ich natürlich bei meiner Recherche und Versuche bereits verarbeitet. Dazu:

Wenn das sekundäre OS bereits das gemeinsame EFI-Verzeichnis "ubuntu" vom primären übernommen hat, dann bringt der beschriebene Schritt (/etc/default/grub anpassen, grub-install) nur ein paralleles Verzeichnis für das sekundäre System anzulegen. Das primäre wird davon jedoch nicht wieder zurückgesetzt.

meinst Du diese → Mehrbootsystem mit 2x Ubuntu (Abschnitt „Gewuenschtes-System-an-erster-Stelle“). Man kann schon eine einmal "auf 's Abstellgleis" verschobene grub Installation wie dort beschrieben, rückgängig machen.

Nebenbei greifen ja beie grubx64.efi auf die grub.cfg im Default-Verzeichnis "ubuntu/" zurück.

nein, nur noch eine – die andere überhaupt nicht mehr –, das liegt an dem prefix=(hdo,gpt1)/EFI/Ubuntu, das ist unveränderbar.

Sehe ich das richtig: Der UEFI-Bootloader ruft EFI/ubuntu/ oder EFI/ubuntu-2/ auf. Derer beide GRUB-Bootloader grubx64.efi nützen die grub.cfg von EFI/ubuntu/. Diese verweist auf das zuletzt installierte sekundäre System.

so in etwa.

Dieses beinhaltet (neben dem zu startenden Kernel)

nein, der startet die /efi/ubuntu/grub.cfg, die wiederum die /boot/grub7grub.cfg aufruft. Damit hast du dann das grub-Menü.

...wo ich theoretisch irgendwie einen Querstart zum anderen System anlegen könnte.

nicht nur theoretisch, das machen die Skripte automatisch, es sei denn, Du hast den os-prober "abgeschaltet"

Auf der empfohlenen Seite steht, man möge danach die OS-Installation starten, deren GRUB verwendet werden soll, und sie mittels --reinstall wieder in den Originalzustand bringen. Ich kann aber vom primären System nicht starten.

primärsoll heißen erstinstalliert? Dann s. o.

Ich habe auch keine Entscheidungsgrundlage, welche Vor- und Nachteile es hätte, GRUB auf der EFI-Partition zu installieren, und weiß auch nicht wie man das bewerkstelligt.

die Frage verstehe ich nicht, warum willst Du GRUB auf der EFI-Partition zu installieren? Bei einer Installation im EFI Modus macht das der Installer (ubiquity).

ansonsten eben → Mehrbootsystem mit 2x Ubuntu (Abschnitt „je-eigene-ESP“), oder, weitere Lesestoff → Universal stand-alone grub für BIOS und EFI auf USB flashkey und internen HDD und SSD

lie-e10

(Themenstarter)

Anmeldungsdatum:
21. April 2021

Beiträge: 3

Vielen Dank! Bei mir dauert es bisweilen leider ein wenig, bis ich mich wieder der Problemlösung widmen kann.

Du schreibst, nur ein grubx64.efi greift aufgrund des Prefix auf efi/ununtu/grub.cfg zurück. Wenn das Prefix also auch bereits Auswirkung auf die grubx64.efi hat, dann muss es bereits in der shim verwendet werden, damit diese mit dem Prefix eben nur eine grubx64.efi lädt. Dies widerspricht Infos, die ich anderweitig gelesen habe. Dort stand meiner Erinnerung nach, dass das Prefix fix in die signierte grubx64.efi geschrieben ist, weshalb die grubx64.efi aus beiden efi/<distro boot-loader>/-Verzeichnissen auf die selbe efi/ubutu/grub.cfg zugreifen.

Im nächsten Absatz bestätigst du dies hingegen "ungefähr", was für mich als Einsicht suchenden Asperger-Aspiranten mehr Verwirrung stiftet, als Befriedigung schafft. 😉

Du schreibst, das zuletzt installierte System würde nicht das zuständige GRUB-Menü beinhalten. Die grub.cfg beinhaltet allerdings die Konfiguration des GRUB-Menüs, aber nicht die Geschäftslogik. Schließe ich richtig, dass also das erst-installierte System das GRUB-Menü beinhaltet? Das hätte ich ebenfalls anders wahrgenommen.

Der os-prober ist default aktiv und wurde von mir nicht abgeschaltet. Dennoch wurden mir keine alternativen Systeme im GRUB-Menü angezeigt.

"Primär" soll anscheinend das System sein, von dem GRUB aufgerufen wird und das gebootet wird, ohne Eingriff also das letzt-installierte System. Solche "soll heißen"-Fragen hatte ich ganz oft. Zum einen bezüglich des Wortes "primär", das in irgendeiner offiziellen Beschreibung stand, das allerdings nicht begrifflich eingeführt wurde. Oder auch bei Infos über die grub.cfg, die in zwei Verzeichnissen des ESP und in der Boot Partition zu finden ist. Auch ob die "System Partition" nun die "Boot Partition" oder "Root Partition" ist, habe ich nicht gefunden.

Den letzten Punkt, GRUB in der ESP installieren: Da hatte ich einen ähnlichlautenden Artikel-Titel missinterpretiert, bin aber mittlerweile schlauer. Ich dachte, ich könne die GRUB-Menü-Geschäftslogik aus der primären (zuständigen) Installation herauslösen und unabhängig installierter Distributionen direkt in der ESP plazieren. Dies wäre am elegantesten, gibt es aber anscheinend nicht.

Ich habe folgendes erarbeitet, das erscheint mir eingermaßen logisch, so hätte ich es mir gewünscht. Sind das die Schritte, die ich nehmen muss oder habe ich etwas vergessen?

Danke & LG

Das originale ubuntu/-Directory sollte primary sein.

  • U1 installieren

    • creating EFI-Partition 1 > EFI-Directory 1 ubuntu/

    • creating EFI-Boot-Menu Entry 1

    • starting

      • EFI-Boot-Menu Entry 1 > EFI-Partition 1 > EFI-Directory 1 ubuntu/, grub.cfg 1, U1

    • updates

      • U1: EFI-Partition 1 > EFI-Directory 1 ubuntu/

  • U2 installieren:

    • using... EFI-Partition 1 > EFI-Directory 1 ubuntu/

    • using... EFI-Boot-Menu Entry 1

    • starting

      • EFI-Boot-Menu Entry 1 > EFI-Partition 1 > EFI-Directory 1 ubuntu/, grub.cfg 1, U2

    • updates (conflict)

      • U1: EFI-Partition 1 > EFI-Directory 1 ubuntu/

      • U2: EFI-Partition 1 > EFI-Directory 1 ubuntu/

  • EFI-Verzeichnis 2 erstellen: [EFI Boot Loader Add]

    • creating EFI-Partition 1 > EFI-Directory 2 ubuntu2/

    • creating EFI-Boot-Menu Entry 2

    • starting

      • *EFI-Boot-Menu Entry 2 > EFI-Partition 1 > EFI-Directory 2 ubuntu2/, grub.cfg 1, U2

      • EFI-Boot-Menu Entry 1 > EFI-Partition 1 > EFI-Directory 1 ubuntu/, grub.cfg 1, U2

    • updates

      • U1: EFI-Partition 1 > EFI-Directory 1 ubuntu/

      • U2: EFI-Partition 1 > EFI-Directory 2 ubuntu2/

  • EFI 1 wiederherstellen

    • variante 1

      • [Super GRUB2 Disk], U1 booten und

      • GRUB installieren oder

    • variante 2

      • grub.cfg in Originalzustand,

      • unter U2 in EFI-partition in mnt/ mounten: [GRUB Install ESP]

      • darin EFI-Directory 1 überschreiben,

    • using... EFI-Boot-Menu Entry 2

    • starting

      • *EFI-Boot-Menu Entry 1 > EFI-Partition 1 > EFI-Directory 1 ubuntu/, grub.cfg 1, U1

      • EFI-Boot-Menu Entry 2 > EFI-Partition 1 > EFI-Directory 2 ubuntu2/, grub.cfg 1, U1

    • updates

      • U1: EFI-Partition 1 > EFI-Directory 1 ubuntu/

      • U2: EFI-Partition 1 > EFI-Directory 2 ubuntu2/

  • in U1 GRUB-Bootmenu Eintrag für U2 erstellen

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11450

Hej lie-e10,

lie-e10 schrieb:

... Du schreibst, nur ein grubx64.efi greift aufgrund des Prefix auf efi/ununtu/grub.cfg zurück. Wenn das Prefix also auch bereits Auswirkung auf die grubx64.efi hat, dann muss es bereits in der shim verwendet werden, damit diese mit dem Prefix eben nur eine grubx64.efi lädt. Dies widerspricht Infos, die ich anderweitig gelesen habe. Dort stand meiner Erinnerung nach, dass das Prefix fix in die signierte grubx64.efi geschrieben ist, weshalb die grubx64.efi aus beiden efi/<distro boot-loader>/-Verzeichnissen auf die selbe efi/ubutu/grub.cfg zugreifen.

→ EFI Nachbearbeitung (Abschnitt „Zusaetzliches-Bootverzeichnis-erstellen“) Absatz Experteninfo! Entscheidend ist doch, daß Ubuntu immer in das Verzeichnis efi/ubuntu/… schreibt, und damit eben bei einer 2. Ubuntuinstallation die erste überschrieben wird. Zu Vermeidung möglicher Komplikationen bei einem update-grub (erneutes Überschreiben) wird eben eine Installation (der Boorloaderanteil) auf ein "Abstellgleis" verschoben.

(…Dies widerspricht Infos, die ich anderweitig gelesen habe… wäre ja interessant, dazu auch einen Link hier anzugeben)

Im nächsten Absatz bestätigst du dies hingegen "ungefähr", was für mich als Einsicht suchenden Asperger-Aspiranten mehr Verwirrung stiftet, als Befriedigung schafft. 😉

Du schreibst, das zuletzt installierte System [...].

wo schreibe ich das?

Der os-prober ist default aktiv und wurde von mir nicht abgeschaltet. Dennoch wurden mir keine alternativen Systeme im GRUB-Menü angezeigt.

ohne weitere Infos läßt sich das wohl nicht beantworten.

"Primär" soll [...] Zum einen bezüglich des Wortes "primär", das in irgendeiner offiziellen Beschreibung stand,[...]

das mit dem "primär" hast Du doch ins Spiel gebracht?

(und wieder …in irgendeiner offiziellen Beschreibung… ...s.o.)

Den letzten Punkt, GRUB in der ESP installieren: Da hatte ich einen ähnlichlautenden Artikel-Titel missinterpretiert, bin aber mittlerweile schlauer. Ich dachte, ich könne die GRUB-Menü-Geschäftslogik aus der primären (zuständigen) Installation herauslösen und unabhängig installierter Distributionen direkt in der ESP plazieren. Dies wäre am elegantesten, gibt es aber anscheinend nicht.

doch, habe ich doch verlinkt (→ stand-alone grub)

Ich habe folgendes erarbeitet, das erscheint mir eingermaßen logisch, ...[...]

mir irgendwie nicht, sorry.

Vorschlag: installiere einfach dasjenige Ubuntu, das als "führendes" fungieren soll, als Letztes?

Oder gehe doch einfach gem. Mehrbootsystem mit 2x Ubuntu (Abschnitt „je-eigene-ESP“), das funktioniert auch, wenn alles nur auf einer Platte liegt; mußt halt nur dafür sorgen, daß immer nur eine Markierung esp,boot existiert.

Du siehst, es gibt viele Wege.

Gruß black tencate

Antworten |