Deaktivieren Sie den Windows-Zugriff auf UEFI NVRAM

Deaktivieren Sie den Windows-Zugriff auf UEFI NVRAM

Ich habe ein Bash-Skript geschrieben, das einen Grub-Eintrag zum UEFI NVRAM hinzufügt. Das Skript wird von bootfähigem USB-Linux aufgerufen. Dieser Befehl fügt einen Eintrag hinzu:

efibootmgr -c -d /dev/sda -p 2 -L "Grub2" -l "\EFI\Boot\shimx64.efi" 

Das Skript funktioniert ordnungsgemäß. Aber später habe ich Windows vom Partclone-Image installiert.

Windows überschreibt die Startreihenfolge und fügt einen neuen Eintrag hinzu. Dies geschieht während des Ladens von Windows. Nach dem Neustart verschwindet Grub2.

Ich möchte keine Änderungen an Windows vornehmen (bcdedit bootmgr), da ich ein fertiges Image habe (erstellt von partclone)

Ist es möglich, den Windows-Zugriff auf UEFI NVRAM zu deaktivieren? Ist es möglich, Windows von Grub EFI (Secure Boot) ohne Windows-Bootmanager auszuführen (ich meine direkt winload.efi)?

Hast Du eine Idee?

Antwort1

Ich kenne keine Möglichkeit, Windows daran zu hindern, in den NVRAM zu schreiben und EFI-Variablen zu ändern. Sie könnten jedoch andere Dinge tun ...

Siehe meine Antwort aufdiese Fragefür einige Tools, die hilfreich sein könnten. bcdeditist in dieser Hinsicht höchstwahrscheinlich nützlich. Sie könnten auch versuchenEinfaches UEFI, das ich nicht verwendet hatte, als ich diese frühere Antwort schrieb.

Eine weitere Möglichkeit wäre, Systemstart- und/oder Herunterfahrskripte zu erstellen, die die gewünschte Startkonfiguration automatisch wiederherstellen. Sie würden bcdedithierfür unter Windows verwenden, aber ich bin kein Windows-Benutzer mit ausreichend Erfahrung, um Einzelheiten zu liefern. Dies unter Linux zu tun, ist wahrscheinlich nicht notwendig, da Linux nicht der Übeltäter ist; aber wenn es notwendig wäre, könnten Sie verwenden efibootmgr– oder für eine etwas leichtere Handhabung könnten Sie verwenden:refind-mkdefaultSkript, das ich der nächsten Version von rEFInd hinzufügen werde. Standardmäßig legt dieses Skript rEFInd als Standard-Startprogramm fest. Wenn Sie ihm jedoch über die -LOption den Namen (Dateiname oder Beschreibung) eines anderen Tools übergeben, legt das Skript dieses stattdessen als Standard fest.

Im schlimmsten Fall können Sie die Windows-Bootloaderdatei ( EFI\Microsoft\Boot\bootmgfw.efiauf dem ESP) umbenennen oder verschieben und Shim an ihre Stelle setzen, mit einer Kopie von GRUB dort. Dadurch wird GRUB anstelle des Windows-Bootloaders gestartet. Sie müssen Ihr GRUB-Setup jedoch neu konfigurieren, um den Windows-Bootloader korrekt zu starten. DieBoot-ReparaturDas Tool kann dies automatisch erledigen; die Option befindet sich im Menü „Erweitert“ und heißt ungefähr „Windows-Startdateien sichern und ersetzen“ (ich erinnere mich nicht an den genauen Namen). Der Hauptnachteil dieses Ansatzes besteht darin, dass Sie diesen Fix erneut anwenden müssen, wenn Windows seinen Bootloader aktualisiert. Es ist außerdem verwirrend; die Datenträgerdateinamen und NVRAM-Starteinträge sind irreführend, was zukünftige Reparaturen erschweren könnte.

verwandte Informationen