Bei Installation von opensuse Leap 16.0 mit offline installer konnte die boot/efi partition auf /dev/sda2 (ursprünglich für triple boot: opensuse Leap 15.6, Ubuntu,
Windows 10) nicht berücksichtigt werden. Alle vom Installationsprogramm eingerichteten Partitionen für opensuse Leap 16.0 befinden sich auf /dev/sdb1 und /dev/sdb2. Der Bootloader berücksichtigte sehr wohl die frühere Ubuntu-Installation, nicht aber die Windows-Installation.
Zusätzliches Problem: kurz vor dem Start des opensuse Bootloaders warnt das BIOS “Secure Boot Violation …” (in einem roten Fenster).
Wie kann der Bootloader repariert werden, sodass Windows im Bootloader-Menü berücksichtigt wird und die BIOS-Warnung verschwindet ?
Da bis jetzt keiner geantwortet hat und ich vor kurzem auf einem älteren PC ein ähnliches Problem hatte, möchte ich einmal folgende Hinweise geben.
- Der Agama-Installer ist, was die Berücksichtigung bereits vorhandener Betriebssysteme betrifft, leider etwas unübersichtlich. Installiere jetzt mit Myrlin noch einmal Yast (offiziell wurde es ja abgeschafft, aber als Kommandozeilenversion ist es weiterhin verfügbar, nur die grafische Oberfläche gibt es nicht mehr). Achte dabei darauf, dass auch das Yast-Modul für die Installation des Bootloaders mit installiert wird. Danach öffne im Terminal als Root Yast, und installiere damit den Bootloader neu. Dabei muss die Option “fremdes OS testen” aktiviert sein. Da es die grafische Oberfläche nicht mehr gibt, musst du u. U. mehrfach mit der TAB-Taste durch alle Menüs klicken, bis du die gewünschten und zueinander passenden Einstellungen gefunden hast. Wenn alles so klappt, sollte beim nächsten Neustart auch Windows wieder als Bootoption verfügbar sein.
- Das Secure-Boot-Problem liegt evtl. an veralteten Zertifikaten. Es ist aber möglich, dass du dieses Problem zuerst beheben musst, bevor du die Bootloader-Problematik mit Yast angehen kannst. Die alten Microsoft-Zertifikate für den sicheren Start (von 2011) sind größtenteils im Juni 2026 (also vor wenigen Wochen) abgelaufen. Microsoft hat zwar ein Update auf neue Zertifikate (von 2023) über Windows-Update verteilt, auf älterer Hardware konnten diese aber oft nicht erfolgreich angewendet werden. Überprüfe deshalb bitte einmal unter Opensuse in einem Terminal mit dem Tool mokutil (mokutil --pk, mokkutil --kek und mokutil --db), ob es dort noch gültige Keys gibt oder ob alle abgelaufen sind. Alternativ kannst du auch einmal in Windows 11 unter “Windows Sicherheit” schauen, ob da unter “Gerätesicherheit” Fehler zum sicheren Start angezeigt werden.
1 Like
besten Dank für die Tipps, werde ich näher untersuchen !
Ich fürchte tatsächlich, dass ich im BIOS versehentlich irgendeinen Schlüssel gelöscht habe, sodass die UEFI-Funktionalität beschädigt ist. Allerdings lässt sich Windows10 weiterhin problemlos starten .
Wenn du noch Windows 10 nutzt, musst du dich am Microsoft ESU-Programm beteiligen, um noch Sicherheitsupdates und damit auch evtl. neue Zertifikate zu bekommen. Mit einem Rufus-USB-Stick kannst du aber in der Regel problemlos Windows 11 installieren (ich empfehle allerdings einen Clean-Install , also vorher alle wichtigen Daten auf ein externes Medium sichern). Informationen zum Rufus-Stick bekommst du im Internet (mit Google). Dann klappt die Installation der neuen Zertifikate in der Regel besser. Der Rufus-Stick hilft allerdings nicht auf Hardware, die “Anno to back” ist. Sonst umgeht er aber die Upgrade-Sperren, die Microsoft eingebaut hat, weil die Überprüfung einer Vielzahl von Hardwarekonfigurationen natürlich für den Konzern zu teuer war.
# mokutil --kek
EFI variables are not supported on this system
# mokutil --pk
EFI variables are not supported on this system
# mokutil --db
EFI variables are not supported on this system
Unter Window10 Gerätesicherheit steht:
Geraetesicherheit: Der sichere Start ist aktiviert und verhindert das Laden
von Schadsoftware beim Starten Ihres Geraets. … Die Standardhardwaresicherheit wird nicht unterstuetzt
Dass EFI-Variablen auf deinem System nicht unterstützt sein sollen (Mokutil) und andererseits der Sichere Start aktiviert sein soll (Windows), passt zumindest auf den ersten Blick nicht zusammen. Vielleicht hängt das aber mit einer besonderen Einstellung für Secure Boot zusammen, die du vorgenommen hast oder die evtl. auch schon ab Werk so vorgegeben ist. Wenn du ins Bios und dort zu den Einstellungen für Secure Boot gehst, welcher Modus ist dort eingestellt (Standard, Custom oder Setup)? Bitte erst einmal nur nachschauen und das Ergebnis hier posten, noch nichts verändern!
Wie hast Du diese Ergebnisse ermittelt?
- Mit einem Linux-LIVE-System?
- Mi t Deinem installierten Ubuntu?
Welcher Boot-Modus ist in Deinem UEFI (aka BIOS) eingestellt?
-
-
- CSM (auch oft Legacy genannt)?
-
- UEFI+CSM (oder UEFI+Legay)?
Was hasst do in: cat /etc/default/grub
siehe Screenshots: UEFI+CSM
mokutil-Ergebnisse im installierten opensuse Leap 16.0
# cat grub
# If you change this file, run 'grub2-mkconfig -o /boot/grub2/grub.cfg' afterwards to update
# /boot/grub2/grub.cfg.
# Uncomment to set your own custom distributor. If you leave it unset or empty, the default
# policy is to determine the value from /etc/os-release
GRUB_DISTRIBUTOR=
GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=8
GRUB_CMDLINE_LINUX_DEFAULT="splash=silent mitigations=auto quiet security=selinux selinux=1"
GRUB_CMDLINE_LINUX=""
# Uncomment to automatically save last booted menu entry in GRUB2 environment
# variable `saved_entry'
# GRUB_SAVEDEFAULT="true"
#Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
# GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
#Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL="gfxterm"
# The resolution used on graphical terminal
#note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE="auto"
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
# GRUB_DISABLE_LINUX_UUID=true
#Uncomment to disable generation of recovery mode menu entries
# GRUB_DISABLE_RECOVERY="true"
#Uncomment to get a beep at grub start
# GRUB_INIT_TUNE="480 440 1"
GRUB_BACKGROUND=
GRUB_THEME=/boot/grub2/themes/openSUSE/theme.txt
SUSE_BTRFS_SNAPSHOT_BOOTING="true"
GRUB_DISABLE_OS_PROBER="false"
GRUB_ENABLE_CRYPTODISK="n"
In deinem BIOS setz “Secure-Boot_status” Aktiviert zu nicht Aktiviert.
Du kannst es wieder zurück setzen im fall das es nicht hilft.
Grub ist schon gesetzt nach OS’s zu schauen. Vielleicht kann Grub es nicht sehen weil “Secure Boot” ist Aktive.
Das legt die Vermutung nahe, dass das Installationsmedium im CSM-Modus gestartet wurde und dann auch CSM-Boot installiert hat.
Das bestätigt die obige Vermutung. Wenn im CSM-Modus gestartet wird ist kein Zugriff auf die UEFI-Variablen möglich.
Du solltest in Deinem UEFI den Boot-Modus auf (nur) UEFI umstellen und dann einen Bootloader installieren.
Die Vorgeschichte nach meiner Erinnerung war: Migration mit dem opensuse-migration-tool von Leap 15.6 nach Leap 16.1 hat nicht korrekt funktioniert, vermutlich weil im UEFI-Bootmodus die Tastatur US-Englisch angenommen wird und es Probleme gab, den MOK-Schlüssel mit root-Password zu bestätigen.
In der Folge musste das System Leap 16.0 neu installiert werden und konnte
ebenfalls nur ohne UEFI-Bootmodus installiert werden.
Es gibt jetzt zwei Empfehlungen (s.o.): Secure-Boot-Status deaktivieren und den Bootloader nach Ubuntu und Windows 10 suchen lassen. Oder den Bootmodus auf
NUR UEFI umstellen.
Im ersten Fall stellt sich die Frage, ob dann Windows tatsächlich gestartet werden kann (ohne dass SecureBoot zerstört wird), im anderen Fall die Frage, ob Leap 16.0
überhaupt noch gestartet werden kann, da es ohne UEFI installiert wurde.
1 Like
Was sollte “zerstört” werden? secureboot ist eine Funktionalität, die im UEFI de-/aktiviert wird.
Nun, Du musst ggf. eine (weitere) ESP anlegen, os-prober installieren und dann einen UEFI-tauglichen Bootloader (z.B. grub2-efi, grub2-bls, systemd-boot) installieren. Je nach Wahl des Bootloaders kann es jedoch mehr oder weniger schwierig werden MS Windows in das Startmenü zu integrieren.
Dass es hier überhaupt ein Bios gibt, dass die Nutzung von Uefi und Csm gleichzeitig erlaubt, war mir bisher nicht bekannt (nur jeweiliges Umschalten kannte ich bisher). Ich denke, dass alle Betriebssysteme in einen der beiden Modi überführt werden müssen. Wie das aber im einzelnen geschieht, überlasse ich mangels eigener Erfahrung meinen Vorrednern.
hatte im BIOS zunächst die Option Bootgerätekontrolle auf NUR UEFI geändert, wonach nur mehr Windows10 bootbar war. Nach Rückänderung auf UEFI und Legacy OPROM kann leider opensuse Leap 16.0. trotzdem nicht wieder gebootet werden. Ist die Situation noch rettbar ?
Ist die Systemfirmware aktuell?
Insbesondere der UEFI-Plattformschlüssel und die UEFI-Datenbank, da das Microsoft-Zertifikat vor einigen Wochen abgelaufen ist?
Zum Beispiel
fwupdmgr security
Host Security ID: HSI:1! (v2.0.20)
HSI-1
✔ BIOS firmware updates: Enabled
✔ csme manufacturing mode: Locked
✔ csme override: Locked
✔ csme v0:12.1.1.1022: Valid
✔ Platform debugging: Disabled
✔ SPI write: Disabled
✔ SPI lock: Enabled
✔ SPI BIOS Descriptor: Locked
✔ SPI BIOS region: Locked
✔ Supported CPU: Valid
✔ TPM empty PCRs: Valid
✔ TPM v2.0: Found
✔ UEFI bootservice variables: Locked
✔ UEFI platform key: Valid
✔ UEFI secure boot: Enabled
HSI-2
✔ Intel BootGuard ACM protected: Valid
✔ Intel BootGuard: Enabled
✔ Intel BootGuard OTP fuse: Valid
✔ Intel BootGuard verified boot: Valid
✔ Intel GDS mitigation: Enabled
✔ IOMMU: Enabled
✔ Platform debugging: Locked
✔ TPM PCR0 reconstruction: Valid
✘ BIOS rollback protection: Disabled
✘ UEFI memory protection: Disabled
HSI-3
✔ Intel BootGuard error policy: Valid
✘ CET Platform: Not supported
✘ Pre-boot DMA protection: Disabled
✘ Suspend-to-idle: Disabled
✘ Suspend-to-ram: Enabled
HSI-4
✔ SMAP: Enabled
✘ Encrypted RAM: Not supported
Runtime Suffix -!
✔ fwupd plugins: Untainted
✔ Linux kernel lockdown: Enabled
✔ Linux swap: Encrypted
✔ UEFI db: Valid
✘ Linux kernel: Tainted