我有一台 2006 年左右的 Macbook (1,1),我想把它改造成一台 Linux 机器。我不再想要也不需要 OS X,所以我想在这台机器上安装 Arch 作为唯一的操作系统。我试过几次安装 Arch Linux,但每次在安装引导加载程序时都会卡住。我甚至安装了 Grub2,但我无法安装并启动它。我尝试过按照ArchLinux Macbook 指南对于 EFI,以及新手指南. 我读过很多关于UEFI,但我似乎仍然不知道将引导加载程序放在哪里。
从我安装时收到的错误来看,似乎笔记本电脑未在 UEFI 模式下启动,因此所有 UEFI 引导加载程序指令均不起作用。我被以下命令挂断了:
grub-install --target=i386-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
它告诉我在 chrooting 之前运行modprobe efivars
,但我照做了,什么也没发生。我的理解是,我的 Macbook 是 EFI 而不是 BIOS,但如果它没有启动到 UEFI 模式,我就无法安装 UEFI 引导加载程序。
我需要做什么才能使引导加载程序 (1) 安装并 (2) 工作。如上所述,我不需要 OS X,并且希望 Arch 成为这台计算机上唯一的操作系统。
答案1
将 Macbook 引导至 Linux 需要将 Refit 安装到 /efi 中的 HFS 分区(这将是第二个分区 - 通常是 MAC OS 分区)。在这种情况下,Refit 必须通过 MacOS 安装。MacOS X 是必需的,至少在开始时是这样,因为必须执行“bless”命令 - Linux 中不存在此功能。
遗憾的是,您需要至少安装 MacOS 的最小安装才能拥有自给自足的 Linux 安装。将 MacOS 分区设置为您喜欢的(或可以的)小。OSX 运行后,安装 refit 并继续进行 Linux 安装。此外,如果您以后遇到问题,您可能需要启动到 MacOS 并通过运行“sudo /efi/refit/enable-always.sh”重新祝福驱动器。
替代方案包括每次启动到 CD 或 USB 记忆棒,然后指示它从硬盘启动。一种有时有效的奇怪方法是启动到 Windows CD - 在提示符“按任意键从 CD 启动”时,等待超时。有时,尽管没有安装 OSX,系统也会从第一个硬盘启动。
答案2
我刚刚成功地完成了你想要做的事情,我似乎遵循了相同的步骤,遇到了完全相同的问题,直到 T。
该modprobe
命令不执行任何操作,因为它已加载,但 EFI 相关命令仅在以 EFI 模式启动时才有效。这是UEFI 变量支持的要求。
ArchLinux 安装介质可以根据需要/可能性自动启动到 EFI 模式或 BIOS 模式(这是在向您显示安装程序引导加载程序菜单之前的步骤),但它似乎并不能始终如一地做出这个选择。我通过按住 键从 CD 启动C,大多数情况下它会启动到 BIOS 模式,大概是因为 MacBook 实际上使用混合 BIOS-EFI 系统。事实证明,如果按住Alt,您会看到一个菜单,您可以在其中明确选择 BIOS 或 EFI。在 EFI 模式下,您的 grub 命令应该可以正常工作,无需执行modprobe
任何操作。如果列出 EFI 变量而没有错误,您就知道您处于正确的模式efivar -l
。对我来说,解决方案很简单,只需按下不同的键即可启动到 EFI 模式,如果您从 USB 记忆棒启动,我读到您可能需要从以 EFI 模式启动的计算机将映像写入记忆棒。
最后要说的是,在你的情况下,你不会保留 OS X 并且只启动到 arch,像 GRUB 这样的花哨的引导加载程序是没有必要的;你可以使用efibootmgr
让电脑直接使用EFI系统启动ArchLinux!