我安装了 Arch 作为我的主要操作系统用于gummiboot
启动。我计划很快使用 Fedora 20 双启动,但目前我因一些疑虑而犹豫不决。
- 即使
gummiboot
已经安装了适用于 Fedora 的 Grub2,我还需要安装吗?- 如果我不安装 Grub2,我是否可以
efibootmgr
在 Arch 中使用将 Fedora 添加到 EFI 启动项?
- 如果我不安装 Grub2,我是否可以
- 是否可以挂载 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 并选择将 EFS 安装到
我不想破坏我的启动设置,因为我已经根据自己的喜好配置了 Arch(而且如果我搞砸了也不想重新安装)。我突然想到一个我认为可能有效的方法。
- 以实时模式启动 Fedora 20 并运行安装程序
- 安装费多拉没有引导加载程序
chroot
从实时会话进入已安装的 Fedora(将 EFS 安装到/boot
)并...- 复制 Fedora
vmlinuz-linux
并initramfs-linux.img
复制到 EFS(一旦我找到从哪里获取它) - 创造
/boot/loader/entries/fedora-20.conf
- 添加一个条目
/etc/fstab
以/boot
在启动时挂载 EFS
- 复制 Fedora
- 重新启动(祈祷它不会妨碍启动设置)
注意:我efibootmgr -v
在 Arch 中做了一个,条目是Boot0000* Linux Boot Manager
(我认为是gummiboot
)和Boot0001* Hard Drive
。所以我认为使用efibootmgr
是没有必要的,但我可能是错的。
上述做法可能工作,但我不确定它是最佳的,即如果 Fedora 20 进行内核升级,那么我可能必须将新的vmlinuz-linux
和initramfs-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 相互检测并为您提供引导路径)。