Не допускайте изменения порядка загрузки EFI обновлениями GRUB

Не допускайте изменения порядка загрузки EFI обновлениями GRUB

В настоящее время я работаю над системой с тройной загрузкой с Ubuntu 18.04, macOS и Windows. Стандартный загрузчик, который должна запускать прошивка (ASUS Impact VII, EFI на базе APTIO), — это Clover. Затем Clover запускает GRUB 2, загрузчик EFI от Apple или загрузчик Windows.

Проблема в том, что когда я обновляю пакет grub-efi в моей системе Ubuntu 18.04 через apt/dpkg, прошивка EFI при следующей перезагрузке продолжит загружать GRUB вместо Clover.

Я понимаю, что это происходит из-за того, что настройка GRUB изменяет переменные EFI, чтобы сделать себя загрузчиком по умолчанию. А точнее, он не проходит --no-nvramв grub-install.

Как мне сделать пакеты GRUB EFIнетизменить переменные загрузки EFI через grub-install, чтобы Clover остался загрузчиком по умолчанию?

решение1

Отвечая на свой собственный вопрос: скрипт postinst grub-efi-amd64 имеет функцию, о которой я просил. Он перейдет --no-nvramк двоичному файлу grub-install, когда переменная debconf grub2/update_nvramимеет значение false.

Запустите dpkg-reconfigure grub-efi-amd64и ответьте «Нет» на вопрос о том, следует ли автоматически сохранять записи nvram.

решение2

В grub-efi-amd64-signed есть ошибкаhttps://bugs.launchpad.net/ubuntu/+source/grub2-signed/+bug/1969845поэтому предотвратить это поведение невозможно без ручного изменения скрипта postinst grub-efi-amd64-signed.

Связанный контент