通过EFI在Mac上的Grub(Linux:/ dev / sda1达尔文:/ dev / disk0s1)(如果重要的话,MacBook Pro 2011年初)


0

我在旧的Bootcamp分区(Windows 8.1)上的MacBook Pro上安装了Debian Jessie 8.5。我在Debian Installer中使用分区管理器删除了bootcamp分区,并创建了两个新分区,rootfs和swap。我以前对硬盘进行了分区,如下所示:

  • disk0s1:EFI(当前已安装GRUB的位置。稍后将对此进行详细说明)
  • disk0s2:OS X
  • disk0s3:恢复高清
  • disk0s4:Windows 8.1安装了Bootcamp Assistant,我稍后将其删除以安装Debian。

我当前的分区布局:

  • disk0s1:与以前相同,但是在以下位置安装了Grub :(挂载点)/EFI/debian/grubx64.efi
  • disk0s2:与以前相同
  • disk0s3:与以前相同
  • disk0s4:带有Debian的ext4分区/
  • disk0s5:Debian的交换分区

我能够安装GRUB(我不完全记得我所做的,我尝试重现它,但是没有成功,这就是为什么我在这里询问的原因)。

在清除NVRAM之前,它一直有效(不要问为什么清除NVRAM,这对我来说是非常愚蠢的动作)。在清除nvram之前,我在没有保持Alt的情况下启动时得到了GRUB菜单,但是在保持Alt并选择Debian主分区的情况下启动时,它会显示“ Missing Operating System”,与从Startup Disk prefrence中选择它的方法相同,或手动进行设置bless(因为GRUB是安装在EFI分区上,而不是Debian根分区上。如果我错了,请纠正我)。

因此,我假设在清除NVRAM而不拿着Alt之前,系统尝试从EFI引导,现在它正在尝试从disk0s2引导OS X(没有与OS X根目录相关的设置变量,因此我猜想系统会自动引导第一个可引导的HFS分区(如果没有有关引导的变量)。(为澄清起见,我的问题是,引导Debian的唯一方法是引导Grub,并且引导Grub的唯一方法是,如果它是系统启动时的默认启动盘,则无法从显示的引导菜单中引导Grub。按住Alt进行引导,并且当我执行重置NVRAM的愚蠢操作时,默认的启动磁盘又回到了OS X分区。)

那么如何将启动磁盘改回EFI / Grub(disk0s1 / efi / debian / grubx64.efi)?


基本上,您想使用OS X Terminal应用程序命令bless将Debian Linux设置为默认的启动操作系统。作为替代方案,我建议您设置Mac,以便可以从“启动管理器”中选择默认操作系统。
David Anderson

1
我建议您阅读这里发布的答案。这个答案可以帮助您了解如何使Debian出现在启动管理器中。另外,此其他答案说明了如何从“启动管理器”中设置默认启动卷。
大卫·安德森

Answers:


1

我正在发布对我有用的解决方案,以防遇到任何其他人遇到此问题。我将grub EFI可执行文件的路径从/efi/debian/grubx64.efi更改为/efi/boot/bootx64.efi。现在,它在启动选择器中显示为启动设备,但默认情况下仍未启动。因此,默认情况下,要使grub引导,我运行了以下命令(从Linux,而不是OS X)efibootmgr -d /dev/DRIVE -p PARTITION NUMBER -c -L "Grub" -l /efi/boot/bootx64.efi:,其中“ DRIVE”是我的内部硬盘驱动器,安装了GRUB,OS X和Debian,“ PARTITION NUMBER”是EFI分区ID,对我而言efibootmgr -d /dev/sda -p 1 -c -L "Grub" -l /efi/boot/bootx64.efi

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.