Atualmente estou trabalhando em um sistema de inicialização tripla com Ubuntu 18.04, macOS e Windows. O bootloader padrão que o firmware (ASUS Impact VII, EFI baseado em APTIO) deve lançar é o Clover. O Clover então executa o GRUB 2, o bootloader EFI da Apple ou o bootloader do Windows.
O problema é que quando eu atualizo o pacote grub-efi no meu sistema Ubuntu 18.04 via apt/dpkg, o firmware EFI continuará inicializando o GRUB em vez do Clover na próxima reinicialização.
Entendo que isso acontece porque a configuração do GRUB altera as variáveis EFI para se tornar o gerenciador de inicialização padrão. Mais especificamente, não passa --no-nvram
para o grub-install.
Como posso fazer os pacotes GRUB EFInãomodificar as variáveis de inicialização EFI via grub-install, para que o Clover continue sendo o gerenciador de inicialização padrão?
Responder1
Para responder à minha própria pergunta: O script postinst do grub-efi-AMD64 possui o recurso que solicitei. Ele passará --no-nvram
para o binário grub-install quando a variável debconf grub2/update_nvram
for falsa.
Execute dpkg-reconfigure grub-efi-amd64
e responda "Não" quando for perguntado se deseja manter as entradas nvram automaticamente.
Responder2
Há um bug no grub-efi-amd64-signedhttps://bugs.launchpad.net/ubuntu/+source/grub2-signed/+bug/1969845portanto, é impossível evitar esse comportamento sem alterar manualmente o script postinst do grub-efi-amd64-signed.