更新BIOS会删除我的Ubuntu EFI条目吗?

我有一台搭载Windows 8.1 OEM的HP ProBook G1笔记本电脑,我在它上面安装了Ubuntu 14.04 LTS双系统。这款笔记本电脑具有一个BIOS,在硬件启动时很难更改默认的引导加载程序,我猜这就是为什么惠普提供了一次 BIOS更新,允许添加新的EFI条目:
增强功能: - 支持第三方加密软件添加新的UEFI引导项。
因此,我想要更新我的BIOS,但同时也想知道在进行更新之前应该采取哪些预防措施,因为我读过关于其他机器进行BIOS更新后出现问题的帖子,比如:

  • superuser.com/questions/376470/how-to-reinstall-grub2-efi
  • superuser.com/questions/372962/why-would-an-efi-bios-update-break-the-efi-boot-manager

成功更新BIOS后,出现了一些问题,结果我在黑屏的左上角看到了一个闪烁的光标。没有错误提示,什么都没有。现在BIOS中只列出了一个SATA引导选项,而不是通常的UEFI Ubuntu选项。
当更新Supermicro X9SCM-F主板的BIOS(从版本1.x升级到2.x)时,这些引导项将丢失,之后Ubuntu将无法启动。这个问题也可能与BIOS或Grub的更新同时发生。
那么,在更新BIOS时有没有办法确保我不会搞砸我的系统呢?

不应该。但是如果你有顾虑并且没有一个真正好的理由来升级,那就别升级了。 - Pilot6
我的“好”理由是每次启动时,我希望它默认为GRUB而不是Windows引导程序,因为我几乎从不使用Windows。 - hdl
这个不太清楚。如果你当前的BIOS允许创建Ubuntu条目,那么就将其首先设置为启动顺序。如果不能创建,那你担心什么呢?如果在UEFI中没有Ubuntu条目,那你为什么担心它被删除呢? - Pilot6
问题是我必须进入一种HP BIOS菜单(使用F9键),然后选择Ubuntu条目以手动启动Grub,每次启动都要这样做,而我希望能够自动化,因为我99%的时间都在使用Ubuntu。 - hdl
1个回答

您无需重新安装grub,因为它不会被删除。
可能发生的是 EFI/BIOS 中指向 grubNVRAM 条目可能会被删除。
因此,在 BIOS 升级后,您肯定需要重新创建它。为此,请启动到一个 Live CD/USB,然后运行以下命令
sudo apt-get install efibootmgr
sudo efibootmgr -c -L Grub -l /EFI/ubuntu/grubx64.efi

如果您使用安全启动
sudo efibootmgr -c -L Grub -l /EFI/ubuntu/shimx64.efi

对于你提到的情况,我见过EFI固件更新会清除NVRAM条目,也见过这类更新不会清除NVRAM条目。由于存在这种不确定性,准备一个像你所概述的紧急恢复计划是值得的。(还有其他几种方法可以实现,但你的方法很可能有效。) - Rod Smith
请注意,有时候在使用 efibootmgr 命令时,也需要包含 -d(磁盘)和/或 -p(分区)选项,例如 sudo efibootmgr -c -d /dev/sdb -p 2 -L Grub -l /EFI/ubuntu/shimx64.efi,以将 /dev/sdb2 标识为 ESP 的位置。 - Rod Smith