ubuntuusers.de

Dual-Boot auf externer Festplatte eingerichtet -> UEFI erkennt nicht beide Bootloader

Status: Gelöst | Ubuntu-Version: Ubuntu 24.04 (Noble Numbat)
Antworten |

bemotion

Anmeldungsdatum:
16. Februar 2025

Beiträge: Zähle...

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!

Lidux

Anmeldungsdatum:
18. April 2007

Beiträge: 16675

Hallo bemotion,

Herzlich Willkommen auf Ubuntuusers.

Einfach in NixOS den Grub2 EFI nachinstallieren und falls nötig den von NixOS deinstallieren .... oder im NixOS Bootloader die anderen Systeme aufnehmen.

PS: HP hat EFI ?

Gruss Lidux

trebbel Team-Icon

Ehemalige

Anmeldungsdatum:
25. Mai 2007

Beiträge: 3967

Wohnort: Ludwigsfelde

bemotion schrieb:

Woher soll "Mein Bootloader" den richtigen Pfad kennen?

Indem er den selbstständig findet. Supergrubdisk kann das. → https://www.supergrubdisk.org/

bemotion

(Themenstarter)

Anmeldungsdatum:
16. Februar 2025

Beiträge: 8

Hallo!

trebbel schrieb:

Indem er den selbstständig findet. Supergrubdisk kann das. → https://www.supergrubdisk.org/

Vielen lieben Dank! Das ist für meinen Fall eine super Lösung da ich ohnehin mit Ventoy arbeite und einen USB Stick mit meinen Images gefüllt habe. Gerade direkt probiert, und es funktionierte wie erhofft: habe /EFI/ubuntu/grubx64.efi starten können und hatte den Ubuntu22 GRUB Bootloader (mit dem WBM Eintrag) vor mir.

Ergo konnte ich gerade auch direkt meine Diagnosen machen (und habe persistent in Ubuntu22 das selbe Thunderbolt Problem wie auch in Ubuntu24 - und Windows 11 - ergo darf Lenovo mir nun hoffentlich wieder weiterhelfen! Danke 😛)

Ps.: Du bist nicht zufällig "Tribbel" von HP/HM Berlin? Wenn ja kennen wir uns persönlich.

Lidux schrieb:

Hallo bemotion,

Herzlich Willkommen auf Ubuntuusers.

Einfach in NixOS den Grub2 EFI nachinstallieren und falls nötig den von NixOS deinstallieren .... oder im NixOS Bootloader die anderen Systeme aufnehmen.

Hey Lidux - danke für die Begrüßung. Bedauerlicherweise hilft die Lösung jedoch nicht:

Das einfache schreiben eines weiteren /EFI/NixOS/grubx64.efi Bootloaders oder überschreiben vom /EFI/Boot/bootx64.efi Bootloader (welcher ja bereits von Ubuntu22 ist) löst ja nicht das Problem dass das Thinkpad diese Bootloader von der Reihenfolge bzw. Priorität nicht anspricht, sondern (wie ich jetzt dank der SuperGrubDisk vermute) /EFI/Microsoft/Boot/bootmgr.efi vorzieht. Dieses Verhalten ist ja zwischen meinem HP und ThinkPad auch nicht konsistent, und der HP zieht (vermute) den /EFI/Boot/bootx64.efi vor während das Thinkpad wie gesagt den WBM Pfade vorzieht.

PS: HP hat EFI ?

Jap! Und Legacy Modus deaktiviert.

Auch wenn ich nun erstmal einen Workaround habe und eine "Lösung B" auf externen USB Stick, habe ich zwischenzeitlich noch von ChatGPT 1o vorgeschlagen bekommen den /EFI/BOOT/bootx64.efi GRUB Bootloader mit einem von rEFInd zu ersetzen. Der soll auch eine automatische Erkennung wie die SuperGrubDisk bieten. Problem an dem Vorschlag ist für mich gedanklich jedoch das erneut das Verhalten vom Thinkpad den /EFI/Microsoft/Boot/bootmgr.efi vorzuziehen damit nicht beachtet wird - weshalb ich auch noch nicht versucht habe das zu testen. Auf dem Thinkpad wird vmtl. "nichts" anderes helfen als durch ein anderes physisches Medium was im Boot Menu gewählt wird zu erzwingen das ein gewünschter Bootloader genutzt wird - eine Lösung auf der externen NVMe als physischen Träger einen alternativen Bootloader zu platzieren wird daher ggf. je nach System, wie hier beim Thinkpad, gar nicht möglich sein.

Beste Grüße!

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11238

Hej bemotion,

Hej bemotion,

bemotion schrieb:

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

das möchte ich bezweifeln, starte ein (Ubuntu) LiveSystem und zeige

sudo efibootmgr

Allerdings verwendet NixOS wohl systemd zum booten, wie man damit ein Mehrbootsystem einrichtet, kann ich Dir mangels Erfahrung damit nicht sagen.

(Man kann auch aus dem Windows ein Bootmenü aufrufen, und von dort dann Ubuntu starten. Allerdings bezweifele ich, daß Windows mal eben so von der USB Platte bootet – k.A., ob sich da zwischenzeitlich was geändert hat)

Hier mal ein Tipp → https://www.reddit.com/r/NixOS/comments/1aeqb47/setting_up_grub_as_the_bootloader/?tl=de

Gruß black tencate

Lidux

Anmeldungsdatum:
18. April 2007

Beiträge: 16675

Hallo bemotion,

Du hast also die SG2D.iso einfach auf den VENTOY Stick kopiert und davon gestartet ? Bei mir funktioniert dies leider nicht .....

Lt. WIKI von Ubuntuusers kann man auch in die Struktur im VENTOY Stick GRUB2 mit einer Datei integrieren, d.h. das funktioniert bei mir ....

PS: Suche hier mal im Forum zu NixOS .... da hatte auch einer ein Problem beim laden dieses BS aus Grub2 heraus.

Das installiert W11 war eine 24H2 = Verschlüsselung mit Bitlocker und nur mit Secure Boot. Vielleicht hast du auch in den EFIs & W11 das Fastboot / den Schnellstart deaktiviert.

Gruss Lidux

bemotion

(Themenstarter)

Anmeldungsdatum:
16. Februar 2025

Beiträge: 8

Hallo!

das möchte ich bezweifeln, starte ein (Ubuntu) LiveSystem und zeige

sudo efibootmgr

Wenn ich sage auf dem HP Laptop ist eine neue NVMe, dann ist auf der NVMe selbst offensichtlich kein EFI von anderen OS davor - soweit einig 😉 ?

Ob im HP UEFIbootmgr noch alte Eintragsleichen vorhanden sind ist hier jedoch nicht entscheidend: Der Pfad hat sich geändert → von Intern auf Externe NVMe, von daher sind die Einträge obsolet. Wo du aber recht hast, was ich präziser ausdrücken muss: Das HP UEFI GUI zeigt mir die Einträge mangels vorhandenem Ziel des Pfads nicht. "sudo efibootmgr" zeigt mir wie von Dir vermutet die Einträge weiter an.

Bis auf deine technische Präzision, die ich begrüße, ist es jedoch für meinen Anwendungsfall leider unerheblich - es geht nicht um den HP und dessen UEFI.

(Man kann auch aus dem Windows ein Bootmenü aufrufen, und von dort dann Ubuntu starten.

Rein interessenhalber werde ich das mal nachschauen, es wäre ggf. ein Workaround um ohne SuperGrub2Disk zu arbeiten!

Allerdings bezweifele ich, daß Windows mal eben so von der USB Platte bootet

Deine Zweifel sind unberechtigt. Windows bootet von der externen. So habe ich es die letzten 2 Tage dutzende male genutzt. Und selbst mit BitLocker funktioniert es, wobei BitLocker nervig ist und ich wieder deaktiviert habe da der Wechsel zwischen verschiedenen PCs damit vereitelt wird (WBM fragt nach dem Recovery Key - und trotz Recovery Key will er mit anderer Hardware nicht booten. Nerviges Windoof halt).

EDIT: Zum Beleg siehe Anhang "Foto_Windows" und "Screenshot_Windows".

Hier mal ein Tipp → https://www.reddit.com/r/NixOS/comments/1aeqb47/setting_up_grub_as_the_bootloader/?tl=de

Merci.

Du hast also die SG2D.iso einfach auf den VENTOY Stick kopiert und davon gestartet ? Bei mir funktioniert dies leider nicht .....

Nein, ich habe die SG2D .img (IMAGE) für USB Sticks einfach auf Ventoy kopiert. Sicherheitshalber beide, die Classic und die SecureBoot Variante. Bisher genutzt habe ich die Classic (da ich ja kein SecureBoot aktiv habe) und das funktioniert direkt ☺

EDIT: Zum Beleg siehe Anhang "Foto_Ventoy" und "Foto_SG2D".

PS: Suche hier mal im Forum zu NixOS .... da hatte auch einer ein Problem beim laden dieses BS aus Grub2 heraus.

Aktuell habe ich lediglich Ubuntu22 und Win11 24H2, ohne SecureBoot, ohne Fastboot, mit und ohne BitLocker, auf der externen. Probleme mit dem Starten von Ubuntu habe ich nicht sobald ich den richtigen Bootloader via SG2D ausgewählt habe. Sobald ich NixOS installiert habe berichte ich gerne ob dies mit SG2D Problemlos startet.

Ich denke auch wenn es keine saubere Lösung auf der externen NVMe selbst gab ist meine Frage eigentlich gelöst: Wie gesagt wird je nach Hardware ggf. ein WBM Bootloaderpfad priorisiert, da hilft dann nur ein externer Bootloader auf einem anderen physischen Medium oder ggf. noch black_tencate's Idee mit dem WBM einen anderen Bootloader zu starten. Ich selbst bin mit SG2D zufrieden.

Ob rEFInd eine Lösung ist, indem man /EFI/boot/bootx64.efi damit ersetzt, ist weiter offen. Ich habe tatsächlich gar nicht probiert den /EFI/boot/bootx64.efi zu starten und zu prüfen ob der vom Ubuntu22 oder WBM ist → ist er von WBM, wäre das ersetzen dessen mit rEFInd ggf. eine Lösung. Ich prüfe nachher noch mal und editiere den Beitrag.

Beste Grüße

Lidux

Anmeldungsdatum:
18. April 2007

Beiträge: 16675

Hallo bemotion,

Danke mit dem Tipp die SG2D.image zu nehmen .... werde es mal ausprobieren. Jedenfalls wäre damit ein jahrelanges Problem gelöst.

Ich vermute mal das du beim HP Start nur über die Bootreihenfolge des EFI bzw. Bootmenue des EFI (F9 oder F10) an die externe rankommst.

PS: Vor Jahren hatte ich auch mal den rEFInd genommen wegen der ansprechenden GUI.

Gruss Lidux

bemotion

(Themenstarter)

Anmeldungsdatum:
16. Februar 2025

Beiträge: 8

Hey,

also die Anhang Funktion buggt. Bei zwei Fotos, welche ich schon neu mit GIMP exportiert habe, will er gar nicht - bei den anderen Fotos der selben Kamera und des selben GIMP exports schon. Nun musste ich Screenshots der Fotos machen - die nimmt er dann wiederum an. Bei .png bricht die Verbindung komplett ab und ich muss den Tab neu laden.

Zum Inhalt: Als Nachtrag also noch SG2D gestartet via Ventoy welches die Bootloader der externen NVMe erkannt hat. Siehe Anhang "Foto_SG2D".

Wenn /EFI/boot/bootx64.efi geladen wird kommt ein Fehler: Der Bootloader scheint "gar nichts" zu sein. Ob ein ersetzen mit rEFInd etwas nutzt ist nicht gewiss. Da das Thinkpad aber also diesen nicht geladen hat sondern einen anderen erhoffe ich mir nicht viel davon.

Nachdem ich mal den /EFI/boot/fbx64.efi geladen habe wurde in mein Thinkpad Boot Menu auch der Ubuntu 22 Eintrag hinzugefügt! Optisch war es mit der selben "Reset System" Meldung verbunden die ich auch immer auf dem HP sehe wenn ich dort im Boot Menu die externe NVMe starte. Sehr interessant! Der HP wählt also diesen Bootloader als seine erste Priorität, weshalb ich daraufhin den Eintrag in dessen Bootmenu habe.

Nun habe ich also auf dem Thinkpad beide - den Ubuntu 22 und den WBM. Siehe dazu Anhang "Foto_Thinkpad_BootMenu".

Der Eintrag "Ubuntu" ist dabei von meiner Thinkpad internen 4TB NVMe das Ubuntu 24 (ZFS).

Der Eintrag "ubuntu" ist das externe 1TB NVMe Ubuntu 22.

Der WBM Eintrag ist persistent zwischen Restarts. Funktionierte er noch gestern, führt er aktuell jedoch wieder ins leere und um Windows zu starten habe ich einfach im Boot Menu die externen NVMe gewählt, bzw. es ist via SG2D möglich.

Für black_tencate: /EFI/Microsoft/bootmgfw.efi scheint den abgesicherten Modus o.ä. zu starten. Es sah optisch alles etwas anders aus. /EFI/Microsoft/bootmgr.efi startet das reguläre Windows. Die Fotos dazu sind im Post zuvor.

Du erkennst das es von der externen gestartet ist daran das Disk0 für die Thinkpad interne Samsung 990 Pro 4TB steht, Partition C:/ jedoch auf Disk1 (Asus TUF ESD-T1A mit der Samsung 990 Pro 1TB) liegt. –> nicht Verwechseln mit Angaben aus SG2D. Dort ist hd0 die externe 1TB, hd1 der Ventoy USB Stick und hd2 die Thinkpad interne 4TB. Warum auch immer.

Den Trick "Shift-Taste" zu drücken für die erweiterten Optionen, und dort dann ggf. Ubuntu zu finden, habe ich noch nicht probiert.

Ich vermute mal das du beim HP Start nur über die Bootreihenfolge des EFI bzw. Bootmenue des EFI (F9 oder F10) an die externe rankommst.

Der UEFI Eintrag zu "ubuntu" ist auf jedenfall nicht permanent. Ist das System komplett abgeschalten, externe NVMe getrennt, und dann die NVMe wieder angeschlossen, das System gestartet und ins Boot Menu navigiert (F9) dann ist kein Eintrag mehr vorhanden. Es bedarf erst das auswählen der externen NVMe, dann passiert das o.g. "Reset System" und der "ubuntu" Eintrag ist anschließend im Boot Menu.

Beste Grüße!

Bearbeitet von Berlin_1946:

Forensyntax korrigiert.
Siehe 17. Februar 2025 15:16
Bilder werden nicht benötigt, da Feedback nicht benötigt wird.

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 3989

Anhänge bitte immer mit Dateiendung hochladen. → Forum/Syntax (Abschnitt „Bilder“)

bemotion

(Themenstarter)

Anmeldungsdatum:
16. Februar 2025

Beiträge: 8

Hey,

alle Bilder hatten .jpg Endung. Die 2 Bilder die nicht funktionieren hab ich noch als .jpeg und .png versucht. Er meckerte trotzdem.

Ich habe lediglich eure Daten-Umbenennen Funktion genutzt. Das ich dort eine Dateiendung angeben muss wusste ich noch nicht. Alle Bilder sind .jpg und können gerne wenn es noch geht umbenannt werden.

Grüße

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 3989

Ohne Endung wird sich das keiner runterladen/anguggen. Also dein Problem.

bemotion

(Themenstarter)

Anmeldungsdatum:
16. Februar 2025

Beiträge: 8

Da ich es nicht bearbeiten kann bleibt nur Admin Abhilfe 😉 @Lindux und black_tencate: Ihr werdet schon wissen wie man nen .jpg hinter bappt. Da ich eh kein Feedback brauche und das als Nettigkeit für euch gedacht war investier ich mal keine Mühe in nen re'upload.

Beste Grüße

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 10210

bemotion schrieb:

also die Anhang Funktion buggt.

Bitte immer Anhänge mit Dateinamenserweiterung hochladen

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 10210

bemotion schrieb:

Da ich eh kein Feedback brauche ...

👍 💡 Nah dann ist es besser die Bilder werden gelöscht. Es ist zu unsicher irgendwas einfach mal zu öffnen.

Antworten |