syscon-hh schrieb:
Das Verändern des Windows-Eintrag wie von nixCorvus eingearbeitet führt dazu, dass das Windows überhaupt nicht mehr startet - also auch nicht über einen Aufruf seitens GRUB 2!
Vorweg: Ich finde die Lösung von nixCorvus auch suboptimal und ein Anwender, der nach einem
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
sein Windows nicht mehr starten kann, ist auch für mich schon aus menschlichen Gründen ein verärgerter Anwender zu viel; auch, wenn vielleicht Windows hier im Forum keine Priorität hat.
Ich nehme aber schon an, dass nixCorvus den Befehl bei sich erfolgreich (Windows blieb startbar) getestet hat; zumindest, dass nixCorvus den Befehl aus einer Anleitung hat, die schon jemand anderer getestet hat. Ich habe hier zumindest ein UEFI-Problemgerät, bei dem auch nach diesem Befehl Windows noch startbar blieb.
So weit ich das gesehen habe, wurde bei
nach diesem Untergriff und einem Neustart der ursprüngliche Eintrag mit "\EFI\Microsoft\Boot\bootmgfw.efi" nun als "Firmware-Anwendung" gelistet. Als GUID wurde jene gewählt, die vorher {bootmgr} zugeordnet war. {bootmgr} hatte nun eine neue GUID und den neuen Pfad "\EFI\ubuntu\grubx64.efi".
Wenn das aber nur manchmal so funktioniert und auch unklar ist, wie lange das stabil bleibt, würde ich das auch so nicht ins Wiki aufnehmen; die Idee, die hinter der Wiki-Änderung von nixCorvus steckte, war aber aus meiner Sicht auch nicht ganz falsch.
Was eventuell schon noch sinnvoll wäre, wäre eine Windows-Lösung für bcdedit, die auch jene Fälle abdeckt, die mit den bestehenden Tipps für bcdedit - aus welchen Gründen auch immer (SecureBoot, alte UEFI-Firmware?, Windows-Konfiguration?) nicht funktionieren.
Mein Vorschlag dazu wäre ein Skript wie dieses:
@ECHO OFF
rem Ubuntu-EFI-Starteintrag
for /f "tokens=2 delims={}" %%a in ('bcdedit /copy {bootmgr} /d "Ubuntu Secure Boot"') do set guid={%%a}
bcdedit /set %guid% path \EFI\ubuntu\shimx64.efi
bcdedit /set {fwbootmgr} displayorder %guid% /addfirst
bcdedit /enum firmware
Das Skript lässt den aktuellen Eintrag für den aktuellen Bootmanager {bootmgr} unverändert. Es wird eine Kopie davon erstellt und dort dann der Name des Eintrags und das zu startende EFI-Programm geändert. Danach wird dieser Bootmanager ("Windows-Start-Manager") im EFI-Menü an erste Stelle gesetzt. Der letzte Befehl listet dann alle Einträge, die für die EFI-Firmware relevant sind (nur zur Kontrolle).
Das sieht auf den ersten Blick nicht viel anders aus, als das, was bereits im Wiki steht. Der Unterschied ist nur, dass ein "Windows-Start-Manager" im EFI-Menü eingetragen wird und auch von dort direkt gestartet wird, ohne dass ein "Windows Boot Manager" vorher aufgerufen wird. Der Eintrag für den "Windows Boot Manager" bleibt im EFI-Menü in geänderter Reihenfolge weiterhin bestehen und kann auch weiterhin dort gestartet werden. Wird der "Windows Boot Manager" gestartet, gibt es dann natürlich keinen zusätzlichen Eintrag für Ubuntu mehr; der befindet sich ja bereits im EFI-Menü.