错误:分区表需要一个单独的分区用于引导加载程序代码(EFI 问题)

jer*_*emy 12 installation mac uefi boot-partition macbook-pro

问题

我正在尝试在我的 13" MacBook Pro (型号 7,1。2010 年中上安装Ubuntu 12.04(64 位,Mac 替代版本)。MacBook Pro 运行的是 OSX 10.8.3,我正在努力实现它双启动(即,我可以启动到 Ubuntu 或 OSX)。当从 live CD 启动并选择“Try Ubuntu”时,我制作了据称必要的分区表并准备安装。通过安装过程,我选择了我的新创建的“ext4”分区,(在安装程序中)将其更改为“用作 ext4 日志文件系统”,然后按继续。但是,弹出以下窗口:

磁盘上使用的分区表格式通常要求您为引导加载程序代码创建一个单独的分区。 此分区应标记为用作“保留的 BIOS 引导区”,并且大小应至少为 1 MB。 请注意,这与在 /boot 上启动的分区不同。 如果您不返回分区菜单并更正此错误,则引导加载程序安装可能会在稍后失败,尽管仍有可能将引导加载程序安装到分区。

下面是我在 GParted 中的分区表的快照。

GParted 分区表设置

下面是安装窗口的快照。

安装窗口


假设

@Seth和我倾向于认为这是 Ubuntu 没有检测到我的计算机正在使用 EFI 而不是 BIOS 的问题。我认为,如果我们以某种方式让 Ubuntu 识别出我正在运行使用 EFI 的计算机,那么安装将运行得更顺畅。但是,因为我在 MacBook Pro 上运行,所以在 Windows 上遇到类似问题的用户不会有相同的解决方案供我(或其他未来的问题解决者)使用。


尝试和调查的事情

以下是我尝试过和研究过的事情。随着这个问题的进展,我会更新它。

  1. 我试过研究这个问题,也遇到了这个线程。但是,在与聊天室中的人讨论过这个问题之后,我 -我们- 非常确定这是一个硬件问题。
  2. 此外,我尝试了这个 wiki,但 wiki 看起来是面向 Windows 的,而且,我很确定这是一个特定于硬件的问题。更新:我继续尝试链接到的部分,但它并没有完全锻炼。按照说明操作时,我无法单击“GRUB 位置”选项卡,因为它已被禁用:grub 位置已禁用
  3. @Seth和我过去的另一个未尝试的选项是绕过错误,然后运行上面列出的引导修复程序。不过,有人担心这很危险,所以我很高兴听到另一种意见。
  4. 我已经尝试过@rod-smith提供的解决方案。然而,正如对他的回答的评论中所明显的,我遇到了一些问题。在尝试第 10 步下的备用步骤时,启动只是让我出现了一个不会消失的空白屏幕(我在该屏幕上花费的最近时间约为 40 分钟,直到我重新启动)。继续按照说明操作,在第 18 步出现之前(它从未出现),我收到以下错误:

    警告:没有控制台可用于操作系统
    错误:找不到合适的视频模式。
    (见图)

  5. 在将分区/所有设置保持为我在第四项(以上)中的解释中设置的同时,我尝试了上面第二项中的链接,因为安装了 GRUB。我可以访问菜单并完成所有需要完成的工作。但是,重新启动后,我遇到了相同的无限期空白屏幕。

  6. 根据@TheMysteriousMan 的帖子,我也尝试选择/dev/sda1安装引导加载程序,但收到了同样的错误。

  7. 也尝试了 Ubuntu 13.04(64 位,Mac 替代),但再次收到相同的错误。

  8. 我注意到的一点是,当双击一个分区(在这篇文章的第三张照片中看到的安装过程中)并调出“编辑分区”窗口时,在“用作:”下拉菜单下(其中选项如“Ext4 日志文件系统”出现),我有“保留的 BIOS 引导区”选项。我想知道错误是否要求我对选项做一些事情。如果它要求我使用此选项,我是否应该创建一个新分区并在其上设置此选项?分区应该有多大?还是我把它放在现有的分区上?


TLDR 和问题

这里的主要问题是:我如何获得此错误消息?是否有一些我还没有做的配置?或者这是绕过的安全错误消息?

jer*_*emy 11

按照以下说明操作之前,请阅读整个答案。

为了解决这个问题,您需要创建一个额外的分区。

  1. 在 Ubuntu 中安装rEFItrEFInd 1
  2. 启动 Mac OS X。
  3. 启动操作系统磁盘工具应用程序。
  4. 确保已经调整了“Macintosh HD”分区的大小,以便为新分区留出空间(我选择了 ~50 GiB)。
  5. 使用 Ubuntu Live CD 重新启动。
  6. 选择“试用 Ubuntu”。
  7. 启动名为 GParted 的应用程序。
  8. 使用文件系统 ReiserFS 创建一个名为“bootloader”的新分区。我将此分区设为 500 MiB。我不确定文件系统或大小是否重要。根据维基百科 BIOS 启动分区页面,这个分区可以小到只有 1 MiB。
  9. 创建一个大约 1 GiB 的新 linux-swap 分区。我称之为“交换”。
  10. 使用剩余的未分配空间创建一个名为“primary”的 ext4 分区。

按照上述说明操作后,GParted 应类似于下图。请记住,我是在安装后使用的。我的 linux-swap 和 ext4 分区的标签消失了,并且在 Ubuntu 安装后添加了键/感叹号图标。此外,无需bios_grub为 ResiserFS 分区设置标志,这也是在安装后(或期间)自动添加的。 GParted

现在分区已经设置好了,回到桌面,点击“安装 Ubuntu 12.04”(如果它不在桌面上,它也应该出现在左侧的菜单栏中),然后按照下面的操作

  1. 浏览选项(根据您的喜好对它们进行个性化设置),直到您进入“安装类型”屏幕,该屏幕询问您希望如何安装 Ubuntu。
  2. 在“安装类型”屏幕上,选择“其他”并继续(按“立即安装”)。
  3. 您现在将到达一个窗口,其中列出了您拥有的所有分区。识别“引导加载程序”分区(如果标签未显示,请通过设备、类型或大小列进行识别)并双击它。
  4. 应弹出一个显示“编辑分区”的窗口。选择“用作:”旁边的选项字段,然后单击“保留的 BIOS 引导区域”值(下图)。按“确定”。 选择“保留的BIOS引导区”
  5. 确定您刚刚创建的 ext4 分区并调出“编辑分区”窗口。
  6. 将“用作:”值设置为“Ext4 日志文件系统”,检查格式选项。确保还将安装字段设置为/. 按“确定”。
  7. 继续并继续该过程,根据需要个性化结果。

从这里开始,一切正常。确保安装了 rEFIt 或 rEFInd,以便稍后可以启动到 Ubuntu 1

1. 事实证明,如果你在启动时卡住了,而不是使用像 rEFIt 和它的前身这样的程序,你只需按住alt/option钥匙就可以启动到一个分区/磁盘/任何东西。


Rod*_*ith 5

我上次检查时(两三个版本之前),Ubuntu 的“Mac 替代”版本基本上只是普通的 Ubuntu,但没有 EFI 引导选项。这可能看起来很奇怪,因为 Mac 使用 EFI,但问题是 Mac 的 EFI 很奇怪,而标准的 Ubuntu 安装程序在 Mac 的 EFI 上有问题。(不过,我不记得问题的确切性质。)由于 Mac 提供了 BIOS 兼容层,因此以这种方式启动是有意义的;当使用 BIOS 引导模式将 GRUB 安装到 GPT 磁盘时,需要使用BIOS 引导分区(Ubuntu 对话框将其称为“保留的 BIOS 引导区域”)。因此,对话框要求该区域。

如何继续的一种选择是默认创建 BIOS 引导分区的请求。如果一切顺利,Ubuntu 将在 BIOS 模式下启动。您随后可以通过安装 EFI 模式引导加载程序来更改 Linux 引导模式。有关如何执行此操作的示例,请参阅我在 Mac 上的 EFI-Booting Ubuntu,特别是标题为“修复安装”的部分

另一种选择是尝试使用标准的 Ubuntu 安装程序而不是 Mac 版本。您可能需要一些帮助才能启动它;rEFInd可能会对此有所帮助,尽管我不能做出任何承诺。安装程序启动后,您应该通过查找名为/sys/firmware/efi. 如果它存在,则您已在 EFI 模式下启动,如果它不存在,则您可能已在 BIOS 模式下启动并应重试。