分区布局:
SSD: sda1 EFI fat32 512MiB | sda2 /
HDD: sdb1 /var | sdb2 swap | sdb3 Downloads | sdb4 Old Windows MBR NTFS 512 MiB | sdb5 Windows C
HDD: sdc1 /home | sdc2 Windows Data
RAMDISK: /tmp, /run, /run/lock
所有分区表均为 GPT。两个操作系统均使用 EFI 并从 sda1 启动 GRUB。sdb4 未被使用。
Q1:我想要禁用 GRUB 菜单(仅在按下 Shift 或其他键时出现)并按 BIOS 选择设备键(F10)选择我的操作系统。
我尝试将 sdb4 格式化为 FAT32 并将 Windows EFI 文件复制到那里,然后从 GParted 标记为 boot 和 esp,然后更新 GRUB 配置并运行update-grub
。尝试失败,我不确定是否必须移动 sdb4 以使其成为 sdb 上的第一个分区,以及 Windows 是否需要其他东西来“将分区设置为活动”,据我了解,标志 boot 和 esp 具有相同的效果(与 Windows“活动”相同)。我收到的错误是“未找到可启动设备”。我可以使用 Parted Magic 恢复到以前的设置,然后在恢复模式下运行 Ubuntu。
Q2:我想知道与 GRUB 相比,使用 BIOS 设备菜单是否有任何缺点,我相信在拥有 1 个磁盘和多个操作系统时 GRUB 更有用。
我不想只得到一个复制粘贴的答案,我想要一个可以引导我完成各个步骤的答案,这样我就能理解解决方案的作用。
答案1
EFI 启动文件,而不是按分区或设备。有关其工作原理的更多信息,请参阅:
- Adam Williamson 的博客文章介绍了 EFI 的工作原理—— 本页描述了 EFI 模式启动背后的理论。
- Superuser.com 上关于 BIOS 和 EFI 启动之间的区别的问答—— 这提供了前面内容的基础,但更加简洁。
- 我的 Linux EFI 引导加载程序页面—— 本页介绍了 Linux 系统的 EFI 引导加载程序选择。
注意某物通常是默认的启动管理器,无论是 Windows 启动加载程序、GRUB 和 EFI shell,还是外部磁盘上的后备启动加载程序。就我个人而言,在大多数情况下,我认为启动到 Windows 或某些功能有限的程序(如 EFI shell)并不是有用的默认选项。在多启动环境中,您可能希望默认启动到启动管理器,这是 GRUB 的功能之一。如果您大多数时候启动到一个操作系统,那么在 GRUB 中将该操作系统设置为默认操作系统当然是完全合理的,但那是另一回事。