如何使用 gigmiboot 和 UEFI 双启动 2 个(或更多)Linux 发行版?

如何使用 gigmiboot 和 UEFI 双启动 2 个(或更多)Linux 发行版?

我安装了 Arch 作为我的主要操作系统用于gummiboot启动。我计划很快使用 Fedora 20 双启动,但目前我因一些疑虑而犹豫不决。

  • 即使gummiboot已经安装了适用于 Fedora 的 Grub2,我还需要安装吗?
    • 如果我不安装 Grub2,我是否可以efibootmgr在 Arch 中使用将 Fedora 添加到 EFI 启动项?
  • 是否可以挂载 EFS (/boot/efi/boot不是在 Arch 上)?
  • 对于,如果我的 EFS 挂载到而不是 in ,loader/entries/fedora.conf我该如何指定linux和条目? initrd/boot/efi/boot
    • 出现这个疑问是因为我最初安装了 Arch 并选择将 EFS 安装到/boot/efi而不是/boot.在我的loader/entries/arch.conf文件中,我将linux选项设置为/vmlinuz-linux.当我重新启动系统时,我看到了一个又大又胖的东西“找不到 vmlinuz-linux”错误。我重新安装了 EFS,/boot并且使用相同的值一切正常启动linux

我不想破坏我的启动设置,因为我已经根据自己的喜好配置了 Arch(而且如果我搞砸了也不想重新安装)。我突然想到一个我认为可能有效的方法。

  1. 以实时模式启动 Fedora 20 并运行安装程序
  2. 安装费多拉没有引导加载程序
  3. chroot从实时会话进入已安装的 Fedora(将 EFS 安装到/boot)并...
    • 复制 Fedoravmlinuz-linuxinitramfs-linux.img 复制到 EFS(一旦我找到从哪里获取它)
    • 创造/boot/loader/entries/fedora-20.conf
    • 添加一个条目/etc/fstab/boot在启动时挂载 EFS
  4. 重新启动(祈祷它不会妨碍启动设置)

注意:我efibootmgr -v在 Arch 中做了一个,条目是Boot0000* Linux Boot Manager(我认为是gummiboot)和Boot0001* Hard Drive。所以我认为使用efibootmgr是没有必要的,但我可能是错的。

上述做法可能工作,但我不确定它是最佳的,即如果 Fedora 20 进行内核升级,那么我可能必须将新的vmlinuz-linuxinitramfs-linux.img文件复制到 ESP。


一些背景:我曾经安装 Debian Wheezy 作为我的主操作系统,并安装 Arch 进行双引导(均使用 UEFI 引导)。在安装 Arch 的过程中,我选择了 Grub2 而不是gummiboot.当我重新启动电脑时,Arch 显示了它的 Grub2 菜单,但无法启动,然后显示了 Debian 的 Grub2。所以我知道我有 2 个 Grub2 菜单链式加载,但我不希望这样。此后我改用 Arch 作为我的主要操作系统gummiboot,现在希望使用 Fedora 20 进行双引导。这一次,我不想弄乱我的启动选项,因此提出了这个问题。

答案1

您可以安排完全独立的 ESP 和引导加载程序,前提是您的固件可以执行正确的引导加载程序菜单(或者 grub2 实例通过 os-prober 相互检测并为您提供引导路径)。

相关内容