Mac Book 上的三重启动 [即将完成];启动加载程序问题

Mac Book 上的三重启动 [即将完成];启动加载程序问题

这是我当前的 GPT/MBR 分区表:

Current GPT partition table:
 #      Start LBA      End LBA  Type
 1             40       409639  EFI System (FAT)
 2         409640    663646255  Mac OS X HFS+
 3      663646256    664915791  Mac OS X Boot
 4      664915968   1164914687  Basic Data
 5     1164914688   1169649663  Linux Swap
 6     1169649664   1465149134  Unknown

Current MBR partition table:
 # A    Start LBA      End LBA  Type
 1              1       409639  ee  EFI Protective
 2         409640    663646255  af  Mac OS X HFS+
 3      663646256    664915791  ab  Mac OS X Boot
 4 *    664915968   1164914687  07  NTFS/HPFS

以上是我从 Mac OS X 上的“分区检查器”获得的信息。情况如下:

分区 2:我安装了 Mac OS X 10.7 分区 4:我安装了 Windows 8 Release Preview 分区 6:我安装了 Arch(无引导加载程序)

我已经安装了 rEFIt。

这是我能做的:

  1. 使用 rEFIt 启动 Mac 和 Windows。
  2. 启动我的 USB 驱动器上的 Arch 设置并 chroot 到已安装的系统。

这是我无法做到的:

  1. 启动已安装的 Arch 系统和/或安装引导加载程序。

所以我基本上需要安装一个引导加载程序。我按照 Arch 手册中的说明进行操作,但安装 grub-bios 和 grub-efi-x86_64 不起作用。

  1. 安装 grub-bios 时出现错误“无法识别 /dev/sda 上的文件系统”,而 grub-efi-x86_64 出现错误“严重错误:无法打开 sysfs 或 procfs 目录来访问 EFI 变量。请尝试以 root 身份运行‘modprobe efivars’”。我试过了mod probe efivars,但无济于事。当我运行以下命令时,出现上述错误:

    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck

我的基本问题是我有哪些选项可以设置我的三重启动...因为我快完成了。

附言 我是否可以直接从 rEFIt 启动?就像我通过指定 root、kernel 和 initrd 参数从 grub 启动一样?

答案1

您不需要在这里为 Arch 安装引导程序。EFISTUB已经在内核中存在很长时间了。您可以直接从 rEFIt 启动它,尽管您确实应该使用 rEFInd。另外,请停止使用 GRUB 2,尤其是盲目使用。

  1. 将 Linux 内核映像和 initramfs(假设您正在进行 initramfs 启动,但如果您真的知道自己在做什么,可能就不是这样了)放在 ESP 上。
  2. 配置您最终选择的任何 EFI 启动管理器,以便您选择启动 Arch Linux。在我的/EFI/archlinux/archlinux.conf(从 Mac 上看,没有单独的 ESP,文件包含在内/EFI/refind/refind.conf)中,我有一些喜欢下列。

    menuentry "Arch Linux custom kernel" {
        icon EFI/refind/icons/os_arch.png
        loader EFI/archlinux/vmlinuz-linux
        initrd EFI/archlinux/initramfs-linux.img
        options "root=/dev/mapper/fastvg-rootlv ro"
    
        submenuentry "fallback" {
            initrd EFI/archlinux/initramfs-linux-fallback.img
        }
    }
    

进行相应调整。

在盲目遵循说明之前,请先了解什么是引导加载程序和引导管理器。以下是一些关于 EFI 的建议阅读材料

efivarsArch Linux 已经很久没有使用它了。它甚至不在原有的内核配置中。efivarfs无论如何都应该已经安装好了。

相关内容