MacBookPro 外部 Ubuntu 启动问题

MacBookPro 外部 Ubuntu 启动问题

在我的 Mac 上,我想要从 SD 卡 (64gb) 启动到 Ubuntu 的选项,所以我使用 syslinux/unebootin 制作了一个 Ubuntu 16.04.2 实时 USB。成功启动后,Ubuntu 安装在 SD 卡上,有 4gb 交换空间,其余空间用于操作系统,引导加载程序也安装在 SD 卡上。(重新启动后,只插入了 SD 卡 [不是实时 USB])然后我重新启动到 OSx(Ubuntu 没有出现,也没有引导加载程序,但我觉得这是意料之中的),所以我安装了 rEFInd。重新启动后,EFI 屏幕出现,选项是从 grub 和标准启动 Mac 启动 Ubuntu。

现在,当我选择 Ubuntu 选项时,它会直接带我进入 grub 提示符(而不是恢复)。快速谷歌搜索后,我ls输入了两个 hd 条目,但只有 hd0,hd1 还有其他几个(hd1,*something*)。之后,它给出了以下消息:failure reading sector 0x0 from hd0。通过一些搜索没有找到任何具体信息后,我决定继续尝试其他东西。

一时兴起,我决定启动到 Live USB(使用alt启动时的按键),这会将我带入正常的 Live 环境。再次重新启动 USB 以检查其他选项,这时我点击了esc。这会将我带到另一个 grub 菜单,但这个菜单是全屏的,并且文本大小正确(另一个就在屏幕中间)。这里没有问题ls。SD 卡已列出,其内容与 Ubuntu 驱动器上的内容相匹配。然后我输入内容,exit不可思议的事情发生了:它正确启动到了 Ubuntu!我安装了一些驱动程序/调整了一些设置来测试持久性(更多的是好奇),并且感到满意。然后我尝试通过那里安装 rEFInd,这会为 Ubuntu 创建条目(当通过 rEFInd 启动时,不使用 Live USB)并将我带到 MokManager(据我所知,它处理 Windows 安全启动?)。

因此,从我目前的情况来看,似乎我启动 Ubuntu SD 卡的唯一方法是插入 Live USB,启动它,然后退出 grub。我该如何解决这个问题,这样我就不需要 Live USB 而只需要 SD 卡了?

感谢您的帮助!

答案1

如果您已将 Ubuntu 正确安装到 SD 卡上,则必须在 macOS 中执行以下步骤才能完成安装。在这里,我假设安装了 64 位版本的 Ubuntu 以使用 EFI 启动方法。

以下步骤将 grub 的启动文件复制到 EFI 分区中的正确位置。这不仅是 Mac 启动管理器的要求,也是 UEFI 规范中的定义。

  1. 输入命令diskutil list来确定 SD 卡上 EFI 分区的标识符。在下面给出的步骤中,此标识符假定为disk1s1。如果您确定了差异标识符,则进行适当的替换。
  2. 在终端应用程序窗口中输入命令diskutil mount disk1s1。代表此分区的新设备应出现在 Finder 应用程序中。
  3. 使用 Finder 应用程序导航到此设备。
  4. boot在文件夹中创建一个标有的文件夹EFI
  5. grubx64.efi将在文件夹中找到的文件复制EFI/ubuntuEFI/boot文件夹中。
  6. grubx64.efi将文件夹中的文件重命名 EFI/bootbootx64.efi
  7. 在终端应用程序窗口中输入命令diskutil unmount disk1s1

如果您可以启动正确安装的 Ubuntu 操作系统,则上述步骤可以用下面给出的命令代替。这些命令需要在 Ubuntu 终端窗口中输入。

注意:要输入这些命令,您必须知道 root 用户的密码。

su
mkdir  /boot/efi/efi/boot
cp  /boot/efi/efi/ubuntu/grubx64.efi  /boot/efi/efi/boot/bootx64.efi
exit

一旦完成更改,您可以执行以下操作来选择操作系统。

  1. 启动或重新启动 Mac,然后立即按住该option键直到出现启动管理器。
  2. 选择所需操作系统的图标。Ubuntu 将以标签出现EFI Boot
  3. 要启动所需的操作系统,请选择所选图标下方的箭头。

    注意:如果在选择箭头时按住control键,则所选的操作系统将成为默认操作系统。

相关内容