我知道这是一个非常常见的问题,但如果我在这里,这意味着我已经搜索并尝试了很多道路:但没有成功。我正在尝试在 MacBookPro 13" 2019 上安装 Ubuntu,运行 MacOS BigSur,分区(也不是 VM 也不是 bootcamp)。
我是如何准备 Ubuntu live USB 的
我此时已经下载了Ubuntu的最新稳定版本:Ubuntu 20.04.2.0 LTS。
然后我插入一个 4GB USB 并使用磁盘工具将其格式化为 MS-DOS (FAT)。
终于安装了蚀刻机并将 ISO 映像刻录到我的 USB 中。
按住选项键重新启动我的 Mac 并启动到我的 USB(EFI 启动)。
我是如何安装Ubuntu的
- 从第一个菜单中我选择了“尝试 Ubuntu”
- 一旦进入桌面,触摸板和键盘都不起作用,所以我插入了外部鼠标并启用屏幕键盘完成安装
打开活动概述并开始输入设置。
单击“设置”。
单击侧栏中的辅助功能以打开面板。
在“打字”部分打开屏幕键盘。
我点击桌面上的 Ubuntu 安装程序图标
所选语言
选择正常安装并勾选“安装第三方软件”
当询问要安装 Ubuntu 的分区时,选择了其他选项/else
然后我从可用空间创建了 2 个分区
- 之一512MB,”电喷“(来自下拉菜单)
- 之一30GB,外部4(从下拉菜单),安装到/(来自其他下拉菜单)
然后我确保安装引导加载程序的磁盘已设置为磁盘而不是具体的EFI分割我制作了(即 /dev/nvme0n1 而不是 /dev/nvme0n1p3)
点击立即安装
在grub2步骤安装失败
笔记
- 我已经尝试取消选中“安装第三方软件”
- 我已经尝试选择“最小安装”而不是“正常”
- WiFi 也无法工作,所以我后来尝试了以太网电缆,网络连接现在可以工作了
- 我完全擦除了磁盘并重新安装了 MacOS(当然我有文件的备份)
安装过程视频
最后错误消息的屏幕截图
答案1
我在使用 macOS Big Sur 版本 11.1、配备 2 GHz 四核 Intel Core i5 处理器的 2020 MacBook Pro 上安装 Ubuntu 20.04.2.0 LTS 时遇到了完全相同的问题。经过两天的努力,我终于找到了解决方案。请注意,这是一个漫长的过程。
根据我的研究,我发现问题是由于 Mac 引导加载程序期望 EFI 分区格式化为 HFS+,而 Ubuntu 安装程序将其格式化为 VFAT(如 Rohith Madhavan 所述)这里)。
为了解决这个问题,我找到了三种可能的解决方案:
选项一是七年前发布的,需要在我的 Ubuntu 安装中添加一个未签名的存储库(出于安全原因我不愿意这样做)。我不明白从 GRUB 交换到 rEFInd 的全部含义,因此我不习惯使用选项二,最后,我不希望使用外部 SSD 来降低内存访问速度,所以我不想使用选项三。
我的最终解决方案是使用选项一和选项三的一部分来将我自己的 GRUB 配置文件格式化为 HFS+,以便我可以从内部 SSD 上的分区启动 Ubuntu。
备份
虽然该过程不会给您带来任何问题,但如果发生错误,可能会擦除您的驱动器。因此,在继续操作之前备份所有内容始终是最安全的。
安装Ubuntu
- 打开 Mac 上的“磁盘工具”。
- 选择您的
Apple SSD
驱动器(确保选择父驱动器而不是容器)。 - 选择“分区”。
- 点击加号按钮并创建一个名为
Ubuntu Boot Loader
格式Mac OS Extended (Journaled)
和大小为 128MB 的新分区。稍后这将作为 Ubuntu 引导加载程序的位置。 - 再次点击加号按钮,创建另一个名为
Ubuntu
with format 的新分区MS-DOS (FAT)
,并为其分配您希望 Ubuntu 安装具有的内存大小(我建议不小于 50GB)。 - 从 下载 Ubuntu这里。
- 插入 USB 并转到“磁盘工具”。从这里找到 USB,点击
Erase
,选择格式MS-DOS (FAT)
并选择方案,GUID Partition Map
然后点击Erase
。 - 使用蚀刻机将该 ISO 文件闪存到 USB 上。请注意,这将擦除整个 USB(请参阅这更多细节)。
- 重新启动计算机,点击
Cmd+R
重新启动。这将使您进入恢复模式。 - 登录您的帐户,进入菜单位置
Utilities
,选择下拉菜单中的第一项,然后将设置更改为No Security
和Allow booting from external drive
。 - 关闭你的电脑。
- 插入可启动 USB 驱动器,然后按住 键打开计算机
Option
。 - 选择 EFI 启动驱动器(应为黄色)。它可能会向您显示一条警告语
Update Required
。点击Update
选项。这将重新启动您的计算机。确保Option
在它重新打开时按住。然后再次点击EFI启动。 - 按照步骤一到五进行操作这里。
- 在
Installation Type
页面上选择Something Else
。 - 找到
MS-DOS (FAT)
您创建的分区并点击减号。 - 选择
Free Space
并点击加号。 - 通过选择您想要的 GB 数来创建您的 Linux 内存空间,选择
Ext4 Journaling File System
、检查Format the partition
并将安装点设置为/
。 - 选择
Free Space
并点击加号。 - 创建 Linux 交换空间,使用剩余内存并选择
swap
格式。 - 在下面
Device for boot loader installation
选择格式化内存所在的分区ext4
。 - 打
Install Now
。 - 继续安装过程。您将再次看到
grub-install /dev/nvme****
失败的警告,但不用担心。只需点击重新启动即可。系统会要求您移除 USB,然后点击Enter
。
现在,您的计算机上将安装 Ubuntu,但如果没有帮助,您的 GRUB 引导加载程序将无法打开它。
进入Ubuntu
- 重新启动计算机并
Option
在启动时按该键。 - 选择 EFI 启动驱动器(这是您的 Ubuntu 安装)。
- 您应该会看到一个 GRUB 终端。
- 请按照以下步骤操作罗希斯·马达万概述:
在 grub 控制台中输入 ls
grub> ls
(memdisk) (hd0) (hd0,msdos) (hd1) (hd2) (hd2,gpt3) (hd2,gpt2) (hd2,gpt1)
您可能不会得到与此完全相同的结果,但您将有一些类似的选项。
现在,找到包含用户主目录的分区。
grub> ls (hd2,gpt2)/home
rohith/
继续尝试,直到找到为止。
最后一步的结果有两部分:(hdX,gptY)。您需要保留 hdX 部分,但浏览所有 gptY 选项以查找 /boot/grub 目录。
grub> ls (hd2,gpt2)/boot/grub
unicode.pf2 [...] grub.cfg
现在您想将其设置为您的根目录以执行进一步的命令。
grub> set root=(hd2,gpt2)
正确启动的唯一方法是使用驱动器的 UUID。为拿到它,为实现它 -
grub> ls -l (hd2,gpt2)
记下 UUID。您必须在下一步中手动输入。
grub> linux /boot/vmlinuz .efi.signed root=UUID=〈the UUID from above〉
GRUB 控制台可以完成制表符补全,因此如果您只需键入 vmlinuz 部分并按 Tab,然后按 。再次按 Tab 键,您将不必键入整个文件名。确保 efi.signed 部分存在。
现在,设置初始 RAM 磁盘
grub> initrd /boot/initrd〈...tab here!...〉
您应该能够使用命令启动
grub> boot
您现在将进入 Ubuntu 安装状态,就好像一切都已正确安装一样。但每次重新启动时都必须重复此过程。要解决此问题,您可以执行以下操作。
如果您遇到问题:
确认您之前收到的 UUID 位于发行版的 grub.cfg 中 /boot/efi/EFI/ 下(例如 /boot/efi/EFI/ubuntu/grub.cfg)中的行search.fs_uuid SYSTEM-PARTITION-UUID-HERE root
。如果不,复制粘贴包含当前值的行并在前面添加注释行 (#),然后在新行上将 替换SYSTEM-PARTITION-UUID-HERE
为 ubuntu 分区的 UUID。
永久修复 GRUB 问题
在这里,您需要将 Ubuntu 安装默认创建的 VFAT 引导加载程序重新格式化为 HFS+。这可以通过使用 GRUB 创建您自己的引导加载程序配置来完成。我使用的方法与 Floris van Breugel 所做的相同(但在我的内部 SSD 而不是外部 SSD 上)。
- 按照从标题开始的说明进行操作
Making Ubuntu bootable part 1
操作这一路走到尽头Turn SIP back on (for security)
。唯一的变化是您应该引用的磁盘是您的内部Ubuntu Boot Loader
分区(您不需要带有此分区的外部驱动器。 Option
在启动过程中按住 键重新启动计算机。您现在将拥有两个 EFI 启动驱动器。进入最左边的那个。它应该说你需要安装更新才能工作。点击Update
。- 重新启动期间再次按住该
Option
键,然后选择中间的 EFI 启动驱动器。这将再次带您进入 GRUB 屏幕。等待一两分钟,然后它应该会带您进入 Ubuntu 加载屏幕。
你们都完成了。您现在应该能够启动 Ubuntu 和 MacOS。
希望这对你有用。
答案2
长话短说...
这可能是也可能不是一个“答案”——我将把它留给你来决定。你应该知道我没有尝试在配备 T2 的 Mac 上安装 Ubuntu,但我相信这是可以完成的。我不会尝试与您讨论所有细节。我将尽力为您指明正确的方向并尝试澄清任何困惑点。作为回报,我会问一件事:如果这个“答案”帮助您在 2019 MBP 上成功安装 Ubuntu,我希望您能够针对我的 GitHub 页面提交拉取请求与您的安装过程。
这基础因为我的安装过程是Ubuntu SE 上的这个答案。请注意,它引用了rEFInd
SourceForge 网站您可以在其中找到下载、安装说明和支持论坛。
我的 Mac 与众不同,而且我在 GitHub 上记录的安装过程反映了 2018 年 Mac Mini 和我的 2011 年 MBP 之间的一些差异。你的 2019 MBP、我的 2011 MBP 和 2018 Mac Mini 之间还会有其他差异。希望您能在所有这些来源之间找到足够的共同点来实现您的目标。
新型 Mac 中的 T2 芯片可以支持在基于 Intel 的新型 Mac 上安装 Linux1,2。唯一的美中不足据我所知,对于最新型号的 Mac,目前有没有适用于专有 PCIe SSD 芯片的 Linux 驱动程序苹果使用。详细信息在这里。
这意味着什么?这意味着 Linux 必须安装在外部驱动器上。这可以通过USBC 转 SATA 适配器。该适配器宣传为 10 Gbps;我发现它比 PCIe SSD 慢,但并不令人反感。
对我来说,安装过程很艰难。由于每年操作系统升级,Apple 的文档永远过时,Ubuntu 的文档具有误导性,我不想这样做砖我的MBP。作为“保险”,我买了一个新的 SSD 来安装,以防出现问题。我相信如果你决定放弃这个任务,会有恢复程序,但你需要在其他地方找到该指导。在开始之前,您绝对应该进行良好且完整的备份 - 并知道如何进行恢复。
如果所有这些听起来令人沮丧,也许您应该重新考虑。就我而言,我觉得这个风险值得冒。根据苹果最近的历史和 Mac 的当前趋势,我的评估是,苹果将在不久的将来使我的硬件不再适合用途,因此没有什么可失去的。他们似乎非常热衷于进行彻底的改革,但我们不知道这会给我们作为用户带来什么。
希望这有用。
答案3
您的安装介质似乎未在 efi 模式下启动,您可以运行此命令来验证它是否在 efi 模式下启动。
[ -d /sys/firmware/efi ] && echo "UEFI mode" || echo "Legacy mode
如果您在传统模式下尝试使用不同的工具创建 USB 介质,有几个创建 uefi 启用安装介质的教程,然后在安装之前再次验证启动模式。
您可以使用以下命令来检查是否比上面的命令更容易阅读。
test -d /sys/firmware/efi && echo efi || echo legacy
或更长但更容易理解
if test -d /sys/firmware/efi;then echo efi;else echo legacy;fi