使用 UEFI 从多个磁盘启动多个操作系统

und*_*kor 6 dual-boot refit uefi

在 UEFI 方面如何从多个磁盘启动多个操作系统?我有安装了 Windows 7 的 SSD0,以及我想要安装 Xubuntu 和 Arch Linux 的 SSD1。我了解涉及一个磁盘时的过程,但不知道涉及多个磁盘时的过程。

谢谢你。

Rod*_*ith 4

确实存在三个问题:

  • 引导加载程序位置——引导加载程序可能位于主磁盘的 ESP 上、辅助磁盘的 ESP 上或任一磁盘上的非 ESP 分区上。正式地,EFI 规范允许固件从任何 ESP 启动引导加载程序,但实际上,如果相关分区使用​​ FAT 或者安装了合适的驱动程序,非 ESP 位置通常也可以工作。rEFIt、rEFInd 和 GRUB 2 可以将引导过程重定向到存储在主 ESP 以外的引导加载程序,尽管它们需要驱动程序来读取非 FAT(或 Mac 上的非 HFS+)分区。某些引导加载程序(例如,gummiboot)仅限于支持它们启动的分区,这可能需要将所有引导加载程序放在一个 ESP 上。
  • 操作系统安装位置——ESP 驻留引导加载程序必须支持启动主要驻留在其他分区上的操作系统。原则上,这个分区没有理由不能完全驻留在另一个物理磁盘上,而且我不知道这样做有什么实际障碍。因此,您可以在主磁盘的 ESP 上安装引导加载程序,并让它从辅助磁盘引导您的主操作系统。
  • 内核位置——Linux 引导加载程序(例如 GRUB Legacy 和 GRUB 2)可以从 ESP 以外的位置加载 Linux 内核,原则上这个其他位置可以是物理上独立的磁盘。理论上,ELILO 可以做同样的事情,但我从未设法让它发挥作用。配置为 EFI 存根加载程序的内核必须存储在 ESP 上,或者由对此不太挑剔的 EFI 加载,或者由可以重定向到另一个分区或另一个磁盘的启动管理器(如 rEFInd)加载。因此,在某些配置中,您的内核可能需要存储在主磁盘的 ESP 上。(Ubuntu 默认使用 GRUB 2,因此标准 Ubuntu 安装在这方面非常灵活。)

最后,至少在原则上,几乎没有什么重大限制。您可能会遇到一些有缺陷的固件实现问题,或者如果您使用某些引导加载程序组合,但您应该能够通过正确放置引导加载程序和内核文件来克服这些问题。