我经常遇到这个问题,并测试了一些解决方案,希望这会有所帮助。最初,我的目标是在 Macbook Pro 上双启动 MacOS 和 Ubuntu,经过几次尝试后成功了,但它存在重大缺陷:
- 通过 Mac 启动菜单通过 USB 闪存驱动器安装 Ubuntu 时,Ubuntu 安装程序有一个令人讨厌的习惯,即用 Ubuntu EFI 设置* 替换原始 Mac EFI 设置*。
*EFI 设置 - 简单来说 - 允许您的设备在特定操作系统上启动。如果您删除 EFI 设置(= 硬盘上的 EFI 分区),您的设备将无法在此操作系统上启动,并且通常会导致启动时出现黑屏或类似情况。
- 通过 Ubuntu(例如通过 GParted)格式化硬盘以使其与 Mac 兼容(HFS、HFS+)并非易事,因为 Mac 软件包不可用:您必须搜索并安装它们。
基本上,我想尝试建立双启动系统(MacOS 和 Ubuntu)而不影响我的 EFI 设置。
换句话说:当我打开 Mac 时,我希望我的默认操作系统是 MacOS。如果我想切换到 Ubuntu,我想从启动菜单中选择它。
最终目标:通过在 BootCamp 上添加 Windows 进行试启动。
有任何想法吗?
我将在下面发布我的成功尝试。
答案1
默认情况下,可以通过选择标有 的图标从 Mac 启动管理器访问 Ubuntu EFI Boot
。(在启动时按住option键即可访问 Mac 启动管理器。)启动管理器指示固件中的引导加载程序使用 EFI 分区中 FAT32 格式卷中的文件 file 进行引导/EFI/BOOT/BOOX64.EFI
。此文件是存储在同一卷中的文件的精确副本。当文件执行/EFI/ubuntu/shimx64.efi
时,BOOX64.EFI
该软件更改 EFI 设置,使 Ubuntu 成为默认启动操作系统。 根据罗德·史密斯(rEFInd 启动管理器的当前维护者),该文件随后将执行转移到文件/EFI/ubuntu/grub64.efi
(GRUB),该文件可用于启动 Ubuntu。
在 Mac 上安装 macOS/Windows/Ubuntu 三重启动确实会产生冲突,因为 Ubuntu 和 Windows 都会在原始 EFI 分区中安装一个文件/EFI/Boot/bootx64.efi
。可以通过设置两个 EFI 分区来解决此冲突。
安装 macOS(OS X)和 Ubuntu 双启动的典型步骤如下。
- 安装 macOS。
- 如果需要,使用 Boot Camp 助手安装 Windows 10。
- 使用 macOS
diskutil
命令缩小现有的 macOS 分区,为 Ubuntu 创建可用空间。可用空间是不属于分区的空间。 - 使用 Ubuntu 安装程序(通常是闪存驱动器)在可用空间中安装 Ubuntu。创建新分区时,请包含新的 EFI 分区。安装 Ubuntu 将覆盖原始 EFI 分区中的 Microsoft 文件。注意:覆盖的文件与原始 EFI 分区中的文件
/EFI/Boot/bootx64.efi
相同。/EFI/Microsoft/bootmgfw.efi
- 启动到 macOS,然后将
/EFI/BOOT
和/EFI/ubuntu
文件夹从原始 EFI 分区移动到新的 EFI 分区。之后,将文件复制/EFI/Microsoft/bootmgfw.efi
到/EFI/Boot/bootx64.efi
原始 EFI 分区中。 - 启动到 Ubuntu,然后更新文件
/etc/fstab
以反映 Ubuntu 启动文件的 EFI 分区中的变化。
删除 Ubuntu 并保留 macOS(和 Windows)的典型步骤如下。
- 启动到 Ubuntu 的实时版本(通常是闪存驱动器)。
- 使用 Ubuntu live 自带的工具删除 Ubuntu 相关分区。该
gdisk
命令是一个典型的工具。 - 启动到 macOS,然后使用
diskutil
命令扩展现有的 macOS 分区以包含删除 Ubuntu 创建的可用空间。
使用 macOS 删除 Ubuntu 通常会导致无法启动 macOS。这可能是一个错误,也可能是 Apple 的一个小玩意。
答案2
第一次成功的尝试:
- 已下载Ubuntu 桌面(20.04 LTS)
- 使用适当的工具将 ISO 挂载到 USB 闪存驱动器上(balena蚀刻机就我而言)
- 关掉了我的 Mac。
- 插入我的 USB
- 打开我的 Mac,同时按住 Option/alt (⌥) 键以访问启动菜单。
- 手动安装 Ubuntu(默认选项建议擦除整个磁盘):在我的可用空间上为 Ubuntu 添加了一个 ext4 分区。
- 勾选“添加用于Wifi和图形的第三方软件”选项。
注意:关于如何使用 USB 闪存盘安装 Ubuntu 的教程有很多。这里有一个很好的教程:在 MacOS 上创建可启动的 USB 记忆棒
- 安装完成并重新启动了我的 Mac。
默认操作系统变成了 Ubuntu,而不是 Mac。要切换回 Mac,我必须进入启动菜单(开机时按住 Option/alt (⌥) 键)并选择 Macintosh。
答案3
第二次尝试。上下文:尝试通过添加 Windows新兵训练营尝试启动系统。它不起作用,并导致我的启动设置崩溃。
如何使用 Ubuntu 在 Mac 上创建 HFS+ 分区:
- 关掉我的 Mac
- 插入相同的闪存驱动器,但上面安装了 Ubuntu 21.10(稍后我会解释原因)。
- 按住 Option/alt (⌥) 键打开我的 Mac。
- 进入启动菜单时,显示的唯一选项是“EFI 启动”:
- 选择安装 Ubuntu 选项,但只能访问磁盘分区选项。
- 选择并删除所有剩余分区(甚至包含约 200Mb 的 EFI)以仅保留两行:磁盘名称和下面的“空白空间”分区)。
- 退出安装菜单(点击“退出”而不是“继续”)。该软件将带您进入便携式 Ubuntu 操作系统。
- 启动终端(或按控制键+替代+电视键)。
- 输入
sudo passwd
以设置下一步的系统密码。 - 然后
su - root
将提示输入相同的密码并直接进入根系统。 - (选修的)
sudo apt install gparted
(或sudo apt-get install gparted
)确保您已安装 GParted。 - 启动 GParted。
- 选择您的空磁盘,右键单击它并单击“新建”。
- 在文件系统下拉菜单中,您应该会发现其中有不少可用的,但与 Mac 兼容的可能会显示为灰色(HFS、HFS+)。
- 返回终端。
sudo apt-get install hfsprogs hfsutils hfsplus
安装缺少的软件包。- 您可能会收到以下错误:“无法找到 hfsprogs”(在 20.04 LTS 上安装缺失的包几次尝试后,我尝试使用 21.10 版本进行安装)。
- 键入
sudo add-apt-repository universe
允许您的操作系统安装非官方软件包。 - 清除
sudo apt-get update
缓存并更新您的包。 - 再次尝试以下命令:
sudo apt-get install hfsprogs
。 - (选修的)
apt search hfs
您可以通过输入并安装所需的软件包来找到其他与 HFS 相关的可用软件包。 - 返回 GParted 并使用 HFS+ 文件系统创建主分区。
预期成绩
现在我有一个与 Mac 兼容的 HFS+ 分区,我希望可以通过 Internet 恢复模式重新安装 MacOS。
编辑1
在 Internet 恢复模式下重新启动 Mac 后,磁盘实用程序不显示我的 HFS+ 分区。它只显示 Apple 磁盘映像。
奇怪,我以前使用 MacOS 时没有使用 FileVault(加密或设置加密的 APFS 分区)。
编辑2
我按住命令+选项+R当我打开 Mac 时,它确实下载了最新版本的 MacOS 磁盘实用程序,显示了我的 HFS+ 分区。
并不理想,没有解决问题(HFS +分区应该由旧版本的磁盘实用程序读取和操作)但这是一个很好的临时解决方法。