I'm currently working on a tripple-boot system with Ubuntu 18.04, macOS and Windows. The standard bootloader that the firmware (ASUS Impact VII, APTIO-based EFI) is supposed to launch is Clover. Clover then runs GRUB 2, Apple's EFI bootloader or the Windows bootloader.

The problem is that when I update the grub-efi package on my Ubuntu 18.04 system via apt/dpkg, the EFI firmware will proceed to boot GRUB instead of Clover on the next reboot.

I understand that this happens because the GRUB setup changes the EFI variables to make itself the default bootloader. More specifically it does not pass --no-nvram to grub-install.

How can I make the GRUB EFI packages not modify the EFI boot variables via grub-install, so that Clover remains the default bootloader?


To answer my own question: The postinst script of grub-efi-amd64 has the feature I asked for. It will pass --no-nvram to the grub-install binary when the debconf variable grub2/update_nvram is false.

Run dpkg-reconfigure grub-efi-amd64 and answer "No" when prompted whether to maintain the nvram entries automatically.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.