Ich arbeite derzeit an einem Tripple-Boot-System mit Ubuntu 18.04, macOS und Windows. Der Standard-Bootloader, den die Firmware (ASUS Impact VII, APTIO-basiertes EFI) starten soll, ist Clover. Clover führt dann GRUB 2, Apples EFI-Bootloader oder den Windows-Bootloader aus.
Das Problem besteht darin, dass beim Aktualisieren des Grub-EFI-Pakets auf meinem Ubuntu 18.04-System über apt/dpkg die EFI-Firmware beim nächsten Neustart GRUB statt Clover bootet.
Ich verstehe, dass dies passiert, weil das GRUB-Setup die EFI-Variablen ändert, um sich selbst zum Standard-Bootloader zu machen. Genauer gesagt wird es nicht --no-nvram
an grub-install weitergegeben.
Wie kann ich die GRUB EFI-Pakete erstellennichtdie EFI-Bootvariablen über grub-install ändern, sodass Clover der Standard-Bootloader bleibt?
Antwort1
Um meine eigene Frage zu beantworten: Das Postinst-Skript von grub-efi-amd64 hat die Funktion, nach der ich gefragt habe. Es wird --no-nvram
an die Grub-Install-Binärdatei übergeben, wenn die Debconf-Variable grub2/update_nvram
falsch ist.
Führen Sie es aus dpkg-reconfigure grub-efi-amd64
und antworten Sie mit „Nein“, wenn Sie gefragt werden, ob die NVRAM-Einträge automatisch verwaltet werden sollen.
Antwort2
Es gibt einen Fehler in grub-efi-amd64-signedhttps://bugs.launchpad.net/ubuntu/+source/grub2-signed/+bug/1969845Daher ist es unmöglich, dieses Verhalten zu verhindern, ohne das Postinst-Skript von grub-efi-amd64-signed manuell zu ändern.