Hallo,
nachdem ich über die Jahre immer mal still mitgelesen habe und mit meinem ersten Beitrag erst mal einem anderen Nutzer helfen wollte frag ich nun mal nach Hilfe für mich. Es ist keine exklusive Ubuntu Frage sondern allg. GRUB, aber ich hatte die Hoffnung jemand kann dazu etwas beitragen.
Etwas ausführlich vorweg: Auf meinem Haupt-PC (Lenovo Thinkpad, künftig Thinkpad genannt) nutze ich mittels interner NVMe Ubuntu 24.04 (jedoch mit aktuellen Kernel builds, aktuell 6.11.0-1013 😛).
Nun benötige ich für eine sehr explizite Fehlerdiagnose (Lenovo Thunderbolt Dock funktioniert mangels PreBootACL Fähigkeit des UEFI aktuell nicht in LUKS obwohl alle UEFI Einstellungen so gewählt sind das eigtl. BootACL zur Verfügung stehen müsste) bedauerlicherweise Ubuntu 22 und Windows, da dies die einzigen OS sind für welche Lenovo mir Support gewährt (trotz bezahlten Premium Support welcher mit dem Thinkpad erworben werden musste).
Um nicht NVMe's im Thinkpad auszubauen oder am Thinkpad mit dem wichtigen Production-System und all den Daten rumzupfuschen habe ich also meinen "Alten-Laptop" (künftig HP genannt) genommen, eine frische NVMe als internen Speicher eingebaut, Windows 11 installiert und anschließend Ubuntu 22 mit manueller /, /home, SWAP und EFI Partitionierung im Dual-Boot installiert. Beide OS funktionieren tadellos, wobei das "Standard-Verhalten" nach der Installation war dass der HP Laptop bei Verwendung als interne NVMe nun GRUB startet und ich dort einen Eintrag für Ubuntu 22 und einen für den Windows Boot Manager (WBM) habe.
Im Anschluss dazu habe ich die NVMe in ein externes Thunderbolt Gehäuse gesetzt und eine frische NVMe in den HP gesetzt: Auf die frische NVMe habe ich NixOS installiert → ergo sind alle UEFI Einträge zu Bootloadern von GRUB (Ubuntu 22) und WBM nicht mehr vorhanden und lediglich der NixOS Bootloader als UEFI Eintrag vorhanden.
Wenn ich nun die Dual-Boot NVMe als externe an den HP anschließe und im Boot Menu von dieser starte erkennt er dessen GRUB "als erstes" → ergo habe ich die Möglichkeit via GRUB Ubuntu22 oder Win11 zu starten.
Nun die Krux:
Wenn ich die selbe Dual-Boot NVMe als externe an das Thinkpad anschließe und im Boot Menu von dieser starte erkennt er leider WBM "als erstes" → ergo habe ich NUR die Möglichkeit Win11 zu starten. Das Verhalten ist offensichtlich nicht erwünscht.
(Secure Boot war bei Einrichtung aller Systeme auf ThinkPad und HP deaktiviert und ist es auch weiterhin)
Meine Idealvorstellung wäre eigentlich das jeder PC an welchen ich die Dual-Boot NVMe als externe anschließe BEIDE Boot Loader erkennt, GRUB und WBM, und mir beide im Boot Menu vorschlägt. Dies scheint jedoch allgemein nicht so zu sein und es wird lediglich "der erste" Bootloader welcher der jeweilige PC erkennt "dauerhaft" angezeigt. Auch ein mehrmaliges neustarten, navigieren zum Boot Menu und auswählen der externen NVMe führt nicht dazu das der jeweils andere Bootloader erkannt werden würde.
Nun habe ich leider die schlechteste Kombination erwischt: Das Thinkpad, da wo ich diese Dual-Boot NVMe dran brauche, erkennt WBM als erstes aber GRUB nicht.
Das Verhalten möchte ich ändern.
Ich frage mich dabei "wie" am besten:
Lösung A) als "mini Workaround" könnte ich mir erst mal vorstellen, dass auf der externen NVMe stets GRUB als erstes erkannt werden soll → dann hätte ich zumindest auf jedem PC das konsistente Verhalten mittels GRUB immer beide OS booten zu können.
Lösung B) als Ideallösung wünsche ich mir das ich beide Boot Loader "direkt" ansprechen kann: Also ohne GRUB auch den WBM direkt erreiche. → auf der NVMe habe ich nämlich noch platz gelassen und wünsche mir künftig eigentlich noch NixOS als drittes OS zu installieren. Spätestens ab jetzt brauche ich die Funktion alle 3 Bootloader ansprechen zu können. Da es aktuell eine Lotterie ist welcher Bootloader als erstes erkannt wird, muss dieses Zufallsspiel also beseitigt werden.
Meine Idee: Ich möchte einen weiteren Bootloader hinzufügen welchen ich manuell konfiguriere → dieser soll von mir Einträge erhalten GRUB von der Ubuntu 22 EFI Partition zu laden (ich vermute hier müsste GRUB liegen, richtig? Wenn GRUB im MBR/GPT liegen würde, wäre ja nicht das inkonsistente Verhalten das mal WBM mal GRUB erkannt werden würde) oder halt den WBM welcher "definitiv" im MBR liegen müsste.
Dabei möchte ich den MBR untouched lassen sodass die Windows installation untouched bleibt und nie Probleme machen kann (die ist nämlich auch noch mit BitLocker verschlüsselt und daher soll Windoof von gar nichts beeinflusst werden).
Daher dachte ich "Mein Bootloader" auf einen weiteren USB Stick zu packen: Ich starte via UEFI Boot Menu also den USB Stick → dieser lädt meinen Boot Loader → dieser zeigt mir Optionen von der externen NVMe die Bootloader für Win11, Ubuntu22 oder NixOS zu starten.
Dabei kam mir jedoch auch direkt der eigene Einwand: Woher soll "Mein Bootloader" den richtigen Pfad kennen? An unterschiedlichen PCs kann es ja dazu kommen das die externe NVMe je nach Port mal früher und mal später in der Reihenfolge angesprochen wird und sich dadurch der Pfad ändert.
Und an dem Punkt stehe ich nun und wollte bevor ich blinde Versuche starte nachfragen, ob hier Erfahrung besteht oder logische Überlegungen was am besten wäre um Lösung B zu erreichen. Jedoch benötige ich auch für Lösung A einen Rat, da ich nicht wüsste wie ich das genau angehen kann (vor allem wenn Windows und der MBR untouched bleiben soll).
Recherche im Netz und Forum waren vergebens, die Konfiguration von Dual-Boot oder gar MultiOS auf externen Speichern scheint nicht populär.
Als letztes Kommentar, da ich nicht ganz wusste wann ich es einbringen soll: All das hier spielt ja darauf an das kein Bootloader der externen NVMe einen Eintrag im UEFI eines PCs hat, es muss also alles als "Insellösung" funktionieren und rein durch die externe NVMe bzw. einen weiteren USB Stick lösbar sein, um eben zu erreichen an jedem PC wo ich diese anstecke alle Bootloader zur Verfügung zu haben, und nicht darauf zu basieren das UEFI Booteinträge helfen die mehreren Bootloader anzusprechen.
Beste Grüße!