Auf UEFI-Systemen überschreibt eine OS-Installation einen bereits installierten Bootloader nicht mehr. Allerdings erscheinen dann meist zwei Bootmenüs nacheinander. Das geht auch einfacher.
Nach dem Einschalten steht ein Computer vor einem Henne-Ei-Problem. Eine CPU kann lediglich den ihr vorgelegten Programmcode ausführen, sonst nichts. Um den aber von der Festplatte zu lesen, braucht man erst einmal Programmcode: einen Treiber für die Plattenhardware.
Die Lösung liegt in einem vom Motherboard in einem ROM- oder Flash-Chip vorgehaltenen Startprogramm. Bis etwa 2012 hieß dieses System BIOS (Basic Input/Output System [1]). Seither übernimmt das sogenannte UEFI (Unified Extensible Firmware Interface [2]) die Aufgaben des BIOS: Es initialisiert die Boot-Festplatte, Tastatur und Grafikkarte und startet schließlich einen betriebssystemspezifischen Bootloader von der Festplatte.
Mehrspurig
Das BIOS übergab einfach den Inhalt des ersten Blocks der zum Booten gewählten Festplatte (Master Boot Record) an die CPU. Jedes System installierte dort den Startcode seines eigenen Bootloaders und überschrieb zwangsläufig einen bereits vorhandenen. Auf neueren UEFI-Systemen ersetzt eine kleine Partition mit dem auch von Linux unterstützten Dateisystem FAT32 den Master Boot Record (Abbildung 1).

Abbildung 1: UEFI-Systeme starten anders als das alte BIOS nicht mehr über einen einzelnen Master Boot Record, sondern durchsuchen eine FAT32-Partition nach dort abgelegten Bootloadern.
Dort können mehrere Betriebssystemstarter als Dateien mit der Endung .efi koexistieren. Ohne Benutzerinteraktion kommt nach dem Einschalten das zuletzt installierte System zum Zug, ein UEFI-Startmenü ermöglicht eine Auswahl des startenden Systems. Wählen Sie dort opensuse, dann erscheint in der Standardeinstellung noch einmal ein Auswahlmenü, dessen Standardeintrag erst nach acht Sekunden startet.
Per YaST-Modul Bootloader (Abbildung 2) ist es ein Kinderspiel, diesem OpenSuse-Bootmenü nachträglich eingerichtete Systeme hinzuzufügen und Standardeintrag sowie Menüanzeigedauer festzulegen. Daher liegt es nahe, die Auswahl des zu bootenden Systems der OpenSuse-Installation zu übertragen, sprich: festzulegen, dass der Rechner das OpenSuse-Bootmenü spontan nach dem Einschalten einblendet. Dieses Menü enthält, eventuell nach Nacharbeit im YaST-Modul, alle Systeme auf dem Computer.

Abbildung 2: Das YaST-Modul Bootloader findet bei aktivierter Option Fremdes OS testen alle auf dem Rechner installierten Betriebssysteme. Das Festlegen des nach Ablauf der Zeitüberschreitung automatisch startenden Standardeintrags gelingt selbst Anwendern, die sich mit dem Editieren einer Konfigurationsdatei schwertun.
Auf UEFI-Systemen lässt sich der nach dem Einschalten ohne Benutzereingriff vom UEFI gestartete Bootloader mit dem Kommandozeilenprogramm Efibootmgr bestimmen. Vor 2012 gebaute Computer basieren noch auf der BIOS-Architektur, doch mindestens bis letztes Jahr brachten praktisch alle UEFI-Systeme einen BIOS-Kompatibiltätsmodus mit. Sowohl Windows 10 als auch Linux lassen sich im BIOS-Modus starten; auch bei Computern mit vorinstalliertem Windows ist daher potenziell der Rückfallmodus aktiv.
In diesem Fall müssen Sie nach einer Betriebssysteminstallation nicht nur den UEFI-Standardeintrag per Efibootmgr auswählen, sondern auch den OpenSuse-Bootloader wiederherstellen (siehe Kasten “Grub im BIOS-Kompatibilitätsmodus”). Ob Ihr Rechner im BIOS-Modus läuft, finden Sie im Verzeichnis /sys/firmware/ heraus: Gibt es dort ein Unterverzeichnis efi/, dann liegt ein UEFI-System vor, ansonsten ein BIOS-Rechner.
Die zweite bedeutende Neuerung des UEFI ist der Modus Secure Boot, der es einerseits Schadprogrammen erschwert, sich vor dem eigentlichen Systemstart in den Boot-Prozess einzuklinken, anderseits aber auch die Installation zusätzlicher Kernel-Module wie etwa den proprietären Nvidia-Treiber verkomplizieren (siehe Kasten “Secure Boot”)
Grub im BIOS-Kompatibilitätsmodus
Die OpenSuse-Tipps in LU 04/2020 [3] haben beschrieben, wie sich der Bootloader aus jedem anderen Linux-System heraus – auch einem Live-System – auf der Konsole reparieren lässt. Können Sie jedoch das OpenSuse-System noch über ein Startmenü einer anderen Linux-Distribution starten, brauchen Sie in OpenSuse nur das YaST-Modul Bootloader-Optionen aufzurufen und mit OK wieder zu schließen, um den OpenSuse-Bootloader neu zu installieren.
Klappt das nicht mehr, etwa nach einer Windows-Installation, kann die OpenSuse-Installations-DVD oder ein Installations-USB-Stick ein auf der Festplatte vorhandenes System von außen heraus starten [4]. Wählen Sie dazu im Startmenü des Installers More | Boot Linux System. Nach der Analyse der Festplatten erscheint eine Liste mit den gefundenen Systemen (Abbildung 3). Bei den weiteren Fragen dürfen Sie in aller Regel die vorausgewählten Standardwerte durch einen Druck auf die Eingabetaste abnicken. Das sollte Ihr OpenSuse-System normal starten. Öffnen Sie dort wie beschrieben das YaST-Modul Bootloader, um den Bootloader wiederherzustellen.

Abbildung 3: Der OpenSuse-Installer kann auch OpenSuse-Systeme mit nicht funktionalem Bootloader starten. YaST repariert den Bootloader dann mit wenigen Klicks.
Secure Boot
Secure Boot bedeutet, dass das UEFI nur mit einem im Motherboard hinterlegten Schlüssel signierte Bootloader startet. Das dient dem Schutz vor schon außerhalb des eigentlichen Systems ansetzenden und damit schwer zu erkennender Schadsoftware.
Während auf den ersten Blick kaum etwas gegen zusätzlichen Schutz des Rechners einzuwenden ist, stieß das UEFI-Secure-Boot-Prinzip unter den Anhängern freier Software auf Kritik, denn in der Praxis statten die Motherboard-Hersteller ihre Hardware lediglich mit dem Schlüssel von Microsoft aus. Prinzipiell kann der Anwender dem Motherboard eigene Schlüssel hinzufügen, was allerdings nur versierten Anwendern gelingen dürfte [5].
Microsoft verknüpft die Verwendung des für Hardwarehersteller praktisch unverzichtbaren Windows-Zertifizierung mit Bedingungen. Eine davon lautet bei x86-basierter PC-Hardware, dass sich Secure Boot abschalten lassen muss. Im UEFI-Setup findet sich dazu ein Menüpunkt namens Secure Boot / disable oder ähnlich. Im BIOS-Kompatibiltätsmodus ist Secure Boot ohnehin inaktiv. Auch kooperiert Microsoft mit Verisign, einem Anbieter von SSL-Zertifikaten, bei dem auch Linux-Distributionen ihren Bootloader gegen einen Betrag in der Größenordnung von 100 Euro mit einem Microsoft-Schlüssel signieren lassen können.
Nicht einmal das ist unbedingt erforderlich: Mit dem quelloffenen Shim [6] gibt es eine freie, von Microsoft signierte Bootloader-Vorstufe, die dann einen nicht mehr von Microsoft signierten Bootloader starten kann. In der OpenSuse-Variante prüft Shim auf Secure-Boot-Systemen die den Bootloader gegen einen OpenSuse-eigenen Schlüssel. Der Bootloader wiederum stellt sicher, dass der Linux-Kernel ebenfalls mit diesem Schlüssel signiert ist.
Das hat in der Praxis zur Folge, dass nicht im Standard-Kernel-Paket enthaltene Kernel-Module wie der proprietäre Nvidia-Treiber nach dem ersten Reboot die Registrierung [7] eines neuen Schlüssels erfordern (Abbildung 4). Das erschwert es auch Schadprogrammen, sich als Module im Kernel einzunisten. Eine Signatur für einen niedrigen dreistelligen Betrag zu erwerben, stellt für große Projekte wie OpenSuse kein Problem dar. Das Linux aus Nürnberg lässt sich ohne Deaktivieren des bei Computern mit vorinstalliertem Windows aktivem Secure Boot installieren und betreiben. Arch-Linux-Installationsmedien hingegen lassen sich zum Beispiel nicht vom Secure-Boot-System aus starten.
Selbst wenn in der Praxis kein Problem auftritt, sollten Anhänger freier Software dennoch folgendes Szenario im Hinterkopf behalten: Würde Microsoft – “natürlich” aus Gründen der Sicherheit – vorschreiben, dass sich Secure Boot für Windows-zertifizierte Geräte nicht mehr abschalten lässt und ihren Schlüssel für Bootloader von Drittherstellern zurückziehen, dann würden die Hardware-Hersteller angesichts der Marktverteilung auch dieser Vorgabe folgen und Linux aussperren.
Bei Mobilgeräten mit ARM-Architektur ging Microsoft von Anfang an auf diese Weise vor: Das Abschalten von Secure Boot und das Hinzufügen von eigenen Schlüsseln ist bei “Windows-kompatiblen” Geräten verboten, die Installation von Fremdsystemen damit unmöglich. Zweifel an der Sicherheit von Secure Boot nähren außerdem Lücken wie der sogenannte Golden Key [8] oder Boothole [9].

Abbildung 4: Im Anschluss an die Nachinstallation des proprietären Nvidia-Treibers erscheint beim Neustart von Secure-Boot-OpenSuse-Systemen ein – wenngleich nicht der gefürchtete – Blue Screen, der Sie auffordert, einen bei der Treiberinstallation automatisch erzeugten Schlüssel zu registrieren und so den Treiber zu signieren.
Vortritt gewähren
Auf im UEFI-Modus laufenden Systemen führen Sie als Root zunächst efibootmgr ohne weitere Parameter auf der Konsole aus (Abbildung 5). Der ausgegebene Text listet die vom UEFI vorgefundenen installierten Systeme in den Zeilen, die mit Boot000n* beginnen. Die Zeile mit BootOrder oberhalb davon nennt die Reihenfolge, in der das UEFI sie im Moment startet. Reihenfolge bedeutet in diesem Zusammenhang, dass das UEFI die Einträge der Reihe nach abarbeitet. Schlägt das Starten eines OS fehl, kommt das nächste zum Zug, sofern Sie das System nicht per Hand wählen.

Abbildung 5: Die Bootreihenfolge eines standardkonform umgesetzten UEFIs lässt sich mit dem Kommandozeilenwerkzeug Efibootmgr leichter festlegen als in den Untiefen des bei jedem Motherboard anders gestalteten UEFI-Setups.
Der Parameter -o von Efibootmgr ändert diese Reihenfolge: Um bei den in Abbildung 1 installierten Systemen das OpenSuse-Bootmenü als Erstes zu starten und als Fallback bei Fehlschlag ein ebenfalls installiertes Ubuntu, geben Sie efibootmgr -o 8,4 ein. Eine mehrsekündige Wartezeit (Timeout in der zweiten Zeile in Abbildung 5) ist nun nicht mehr erforderlich, Sie setzen sie mit efibootmgr -t 0 auf null Sekunden.
Nun sollte der Rechner nach dem Einschalten ohne Verzögerungen das OpenSuse-Bootmenü zeigen. Allerdings gibt es fehlerhafte UEFI-Umsetzungen, bei denen das nicht wie gewünscht klappt. In diesem Fall bleibt Ihnen nichts anderes übrig, als zu versuchen, die Bootreihenfolge direkt im UEFI-Setup anzupassen.
Wie schon beim BIOS gibt es für das UEFI-Setup beim Booten ein nicht einheitlich spezifiziertes Tastenkürzel anzuwenden. Fast alle Funktionstasten, [Entf]+[Eingabe] oder [Escape] kommen infrage. Im Setup selbst suchen Sie nach Menü-Punkten wie Boot order oder Boot-Priority. Gegebenenfalls hilft die Anleitung zum Motherboard oder Rechner weiter.
Nun ist es an der Zeit sicherzustellen, dass sich aus dem OpenSuse-Bootmenü heraus alle installierten Systeme starten lassen. Das dafür konzipierte YaST-Modul Bootloader finden Sie als ersten Eintrag in der Rubrik System. Die Einstellungen im ersten Reiter Bootcode-Optionen zeigen, ob der Rechner im UEFI- oder BIOS-Modus startet (GRUB2 für EFI oder GRUB2 als Wert im Ausklappmenü Bootloader).
Hier sollten Sie keine unbedachten Änderungen vornehmen: Das System wird sonst nicht mehr starten, wenn Sie nicht zusätzlich Einstellungen im UEFI und unter Umständen an der Festplatte vornehmen. Ob der Computer im UEFI- oder BIOS-Modus hochfährt, betrifft ohnehin lediglich den Boot-Vorgang und hat danach keine Auswirkungen mehr auf ein laufendes Linux- oder Window-System.
Der für die meisten Anwender wichtigste Reiter des YaST-Moduls ist der dritte, Bootloader-Optionen: Bei aktiviertem Kontrollkästchen Fremdes OS testen findet YaST alle auf dem Rechner installierten Betriebssysteme und fügt sie dem Grub-Startmenü hinzu.
@L :Fehlen Ihnen im Ausklappmenü Standard-Bootabschnit noch Einträge, dann klicken Sie nach Aktivieren des Kontrollkästchens auf OK und öffnen das YaST-Modul erneut. Nun tauchen im Ausklappmenü alle verfügbaren Linux- und Windows-Systeme auf (Abbildung 2). Für diese Grub-Einstellungen spielt es keine Rolle, ob ein BIOS- oder UEFI-System vorliegt.
Der Wert Zeitüberschreitung in Sekunden legt fest, wie lange Grub auf eine Benutzereingabe wartet, bevor er das im Standard-Bootabschnit gewählte System startet. Bedenken Sie, dass der Bildschirm nach dem Auflösungswechsel bei der Anzeige des Bootmenüs oft einige Sekunden schwarz bleibt. Falls eine zu geringe Wartezeit die Auswahl des gewünschten Systems sabotiert, drücken Sie nach einem Neustart einige Male [Esc], damit Grub auf die manuelle Auswahl wartet.
Aktivieren Sie das Kontrollkästchen Menü beim Booten verbergen, dann bleibt das Bootmenü unsichtbar, doch der Bootloader wartet trotzdem die in Zeitüberschreitung in Sekunden festgelegte Zeitspanne und blendet das Menü während dieser Zeit nach Drücken von [Esc] ein. Das Verbergen des OpenSuse-Bootmenüs ist praktisch, wenn Sie entweder nur ein Betriebssystem nutzen oder statt des OpenSuse-Grub-Menüs das UEFI-Bootmenü verwenden möchten, um das startende System zu wählen.
Fazit
Das ab 2012 verbreitete UEFI ermöglicht es technisch, mehrere Betriebssystem-Bootloader nach dem Einschalten des Rechners per Menü zu wählen. Da diese Startmenüs oft genug von der Optik und Bedienung her mäßig umgesetzt sind, empfiehlt es sich, OpenSuse als Vorgabeeintrag zu wählen und die UEFI-Menüanzeigedauer auf null zu setzen: OpenSuse bearbeitet das Grub-Menü als einzige Distribution komfortabel per YaST-Modul.
Zum Thema Secure Boot meint der Autor: Viele OpenSuse-Anwender merken nichts davon, wenn es aktiv ist, und gewinnen bei der Systemsicherheit dazu. Kommt es aber zu Problemen, lohnt es sich für Privatanwender eher nicht, Secure Boot im UEFI aktiviert zu lassen und die Probleme mühsam zu umschiffen. (cla)
Infos
-
BIOS: https://www.elektronik-kompendium.de/sites/com/0807131.htm
-
UEFI: https://www.elektronik-kompendium.de/sites/com/0901081.htm
-
Grub auf der Kommandozeile reparieren: https://www.linux-community.de/ausgaben/linuxuser/2020/04/bootloader-und-programme-wieder-flottmachen/
-
Windows-Installation auf UEFI konvertieren: https://www.maketecheasier.com/convert-legacy-bios-uefi-windows10/
-
Eigenen Secure-Boot-Schlüssel ins UEFI integrieen: https://medium.com/@ruchirkhatri/uefi-secure-boot-taking-control-b7a7da4c422b
-
Shim Bootloader: https://github.com/rhboot/shim
-
Nvidia-Treiber mit Secure Boot: https://en.opensuse.org/SDB:NVIDIA_drivers
-
Golden Key-Lücke: https://arstechnica.com/information-technology/2016/08/microsoft-secure-boot-firmware-snafu-leaks-golden-key/
-
Boothole-Lücke: https://www.golem.de/news/boothole-kein-plan-keine-sicherheit-2011-152108.html






Super, als Informatiklake, sprich MS Anwender, welcher auf Linux umsteigen möchte, steht hier chinesisch rückwärts. Gibt es bei Linux nicht einfach eine Aussage, welche besagt, öffne dies und das und gib dies ein. Mein Problem ist, ich wollte Linux Mint Cinnemon installieren. Hatte auch einmal funktioniert. Da Windows spinnte, ich möchte Win 10 und Linux haben, habe ich alles neu installiert um den ganzen Mist loszuwerden. Dumm gelaufen, nun kann ich Linux Mint nicht mehr installieren. Irgendwas mit uefi usw. wird nicht gefunden. Hilf in den Foren, wissenschaftliche Abhandlungen IT Kürzel usw. die man nicht versteht. Ergo, jedesmal irgendwo nachlesen.… Mehr »
Würden Sie als Laie ohne fremde Hilfe den Motor Ihres Autos tauschen? Warum versuchen Sie das gerade bei Ihrem Computer?
Wenn Sie keine Ahnung von der Technik haben und sich auch nicht in die Materie einarbeiten möchten, sollten Sie einen Experten um Rat fragen, der Ihnen den Computer mit Linux einrichtet. Es gibt auch in Ihrer Nähe zahlreiche Linux-User-Groups, die Ihnen direkt helfen können, auch an der VHS in Ihrer Nähe können Sie einmal nachfragen. Im Zweifelsfall gibt es PC-Dienstleister in größeren Städten, die Ihnen ebenfalls weiterhelfen können.
Wenn der Umstieg von Windows auf Linux so kompliziert ist, wieso wird darauf denn nicht explizit darauf hingewiesen? Nein, man kann es überall runterladen in 1000 Variationen, und nirgendwo wird man gewarnt, dass man sich mehr Ärger einhalndeln kann, als sonstwas.
Wie kommen Sie darauf, dass der Umstieg kompliziert ist?