如何将 grub-bios 更改为 grub-efi

如何将 grub-bios 更改为 grub-efi

不久前,我在 MacBook 上安装了 Ubuntu。我不得不重新安装它,因为更新管理器中出现了问题。对此并不担心,但由于某种原因,安装后 Ubuntu 无法启动。

后来我发现 Apple 硬件使用 EFI 作为其固件(BIOS 是错误的术语)。每次我尝试安装它时,我都会创建一个交换空间和根文件来进行安装。我注意到当我创建启动文件时,它在 grub-bios 中。我需要将其更改为 grub-efi。我发现了,但没有选项可以更改它。但它仍然无法启动。当我安装它时,我没有收到任何错误,但做了一点研究后,我发现启动文件可能是问题所在。

如何解决这个问题?

答案1

使用apt-get或 GUI 工具安装grub-efi软件包应该会导致软件包系统用 EFI 模式 GRUB 替换grub-pc(BIOS/旧版 GRUB)。除此之外,我不清楚你问题中的几条评论是什么意思:

  • “当我安装它时,我没有收到任何错误”(你说的“它”是什么意思?包grub-efi?)
  • “但它仍然无法启动”(什么无法启动,GRUB、Linux、OS X 还是其他什么?您会遇到什么样的错误情况——空白屏幕、错误消息、永不消失的启动徽标等?)
  • “问题可能出在启动文件上”(您指的是哪个“启动文件”?)

回顾一下,Ubuntu 和 OS X 最流行的双启动配置使用改装作为引导管理器来选择要引导的操作系统以及用于启动 Linux 的 BIOS 版本的 GRUB。在我看来,用 EFI 版本的 GRUB 代替是可取的。更好的方法是使用内核自己的 EFI 存根加载器,至少对于 3.3.0 及更高版本的内核(包含在 Ubuntu 12.10 中)。这可以通过使用重新索引作为引导管理器。rEFInd 是 rEFIt 的一个分支(两年多来一直没有更新);rEFInd 修复了错误并添加了新功能,特别是与引导 Linux 相关的功能。rEFInd 网页包含有关使用它来引导 Linux 的详细文档。您可以像 rEFIt 一样使用它(以链式加载 BIOS 模式或 EFI 模式 GRUB),也可以使用它来启动具有 EFI 存根加载器支持的 Linux 内核,从而绕过 GRUB。

相关内容