M1 MacBook Pro 系统恢复指南

MacBook Pro

背景描述

之前为了研究如何在 Linux Shell 下运行 Unreal Engine,给 MacBook Pro 安装了原生的 Ubuntu,并在安装系统时创建了一个 ext4 分区。

最近想恢复 macOS,于是按照以往使用 Intel 处理器 MacBook Pro 的陈年经验,不加思索地进入 Recovery,尝试删除整个磁盘并重新分区。结果毫无意外的,悲剧发生了……

因为 Apple 自带的磁盘处理工具无法删除 ext4 分区,于是用命令行删除了 ext4 和 APFS 分区,想着反正都是要重装,最后删掉其它分区一起重装就好了。结果发现有 2 个分区无法删除!

只要尝试抹除整个磁盘,就会报如下错误:

1
The volume on disk0 couldn't be unmounted because it is in use by process 0 (kernel)

通过命令行查看磁盘状况如下:

1
2
3
4
5
6
7
-bash-3.2# diskutil list disk0
/dev/disk0 (internal, physical):
  #:             TYPE NAME           SIZE     IDENTIFIER
  0:    GUID_partition_scheme              *500.3 GB   disk0
  1:        Apple_APFS_ISC Container disk1          524.3 MB   disk0s1
           (free space)              494.4 GB   -
  2:     Apple_APFS_Recovery Container disk2          5.4 GB    disk0s2

查了一圈资料发现,Apple Silicon 处理器的启动代码和 Firmware 也是存储在 NVMe 里面的!而不是像 Intel 处理器那样有 UEFI,也就是说要想正常启动,就无法删除这 2 个分区,否则系统就启动不起来,Recovery 也无法进入。

既然删不掉,那我们就换个思路,尝试从 U 盘引导系统(Intel 时代也是可以的)然后再重新分区。结果因为安全限制,Apple 完全不允许从外部设备引导,也就是说无法使用 U 盘重装系统。整一个大无语……🤦‍♂️

最后找到了 How to revive or restore Mac firmware 这篇文章,才终于解决了系统的问题,不然就得亲自跑一趟苹果商店了。

而本文就是基于 Apple 官方支持文档,对如何恢复 M1 MacBook Pro 固件和操作系统所做的一个详细记录,方便跟我一样搞坏了系统的小伙伴恢复 macOS。


准备工作

在开始恢复操作之前,我们需要确保有以下设备和工具:

设备要求

  1. 需要恢复的 Mac(受影响的 Mac)
  2. 另一台 Mac(辅助 Mac)
    • 需要运行 macOS Sonoma 14 或更新版本
    • 该 Mac 用于执行恢复或复活操作。
    • 可通过 “关于本机”( 菜单 > 关于本机)查看当前 macOS 版本。
    • 我这里使用的是 M3 处理器的 14 寸 MacBook Pro,系统版本是 Sequoia 15.3。

连接线

  • 需要一根 USB-C to USB-C 数据线,必须同时支持 数据传输和充电
  • 推荐使用 Apple 附带的 USB-C 充电线(如部分 Mac 和 iPad 包装内的线)。
  • 请勿使用 Thunderbolt 3 线缆,因其可能导致连接失败。

DFU 模式

USB-C 连接

  1. 确保两台 Mac 都连接到电源
    • 我这里只给辅助 Mac 连接了电源,辅助 Mac 可以通过 USB-C 线直接给受影响的 Mac 供电。
  2. 在受影响的 Mac 上
    • USB-C 数据线插入 DFU 端口(请参考DFU 端口识别指南)。
    • 根据官方说明,我的 Mac 需要使用左侧最靠近屏幕的 USB-C 接口作为 DFU 端口。
  3. 在另一台 Mac 上
    • 将 USB-C 数据线的另一端插入任何一个 USB-C 端口。
    • 确保该 Mac 已开机并连接到互联网。

进入 DFU 模式

  1. 按住电源键(Touch ID) 最多 10 秒钟,直到 Mac 关闭。如果 Mac 开机了,请重试此步骤。
  2. 按下并释放电源键,然后立即按住以下四个键 ( 必须用内置键盘)
    • Control(⌃) 键(左侧)
    • Option(⌥) 键(左侧)
    • Shift(⇧) 键(右侧)
    • 电源键
      MacBook Pro 键盘
  3. Apple Silicon 设备(例如 M1、M2 芯片的 Mac):
    • 持续按住这四个键 约 10 秒钟,然后释放所有按键,除了电源键。
    • 继续按住电源键,最长 10 秒钟,直到另一台 Mac 在 Finder 中显示 DFU 窗口。如果出现提示要求允许连接配件,释放电源键并点击 “允许”
  4. 带 T2 芯片的 Mac(例如某些 Intel 设备):
    • 持续按住这四个键 约 3 秒钟,直到另一台 Mac 在 Finder 中显示 DFU 窗口。如果出现提示要求允许连接配件,释放所有按键并点击 “允许”

进入 DFU 模式后的状态

受影响的 Mac 此时应显示一个空白屏幕,表示已成功进入 DFU 模式。接下来,按照后续步骤进行恢复或复活操作。


复活或恢复操作

在按照上述步骤准备好两台 Mac 后,另一台 Mac 的 Finder 中应该会显示 DFU 窗口,左侧边栏选中 Mac,右侧会显示 “Mac DFU Mode”。如果看不到此窗口,请检查连接是否正确。

Mac DFU Mode

复活(Revive)与恢复(Restore)的区别

在 Mac 设备维修过程中,ReviveRestore 是两种不同的操作方式:

  • Revive(复活):刷新设备的固件(Firmware),不会影响磁盘数据。如果 macOS 出现问题但磁盘仍然完整,可以尝试此方法。
  • Restore(恢复):除了刷新固件外,还会完全擦除内置存储设备,并重新安装最新版本的 macOS。因此,此操作会删除所有数据,请确保提前备份重要信息。

当磁盘结构损坏、macOS 无法安装或 Mac 无法正常启动时,Restore(恢复) 是最直接且可靠的解决方案。

而我现在的情况正是如此,因此 Restore 是唯一的选择。

复活(Revive)操作

建议首先尝试复活,因为这比恢复(Restore)速度快,且不会擦除 Mac 上的数据。

  1. 在 Finder 中的 DFU 窗口中,点击 复活 Mac(Revive Mac),然后点击 继续(Continue) 确认操作。
  2. 进度条会显示复活过程。当复活完成后,受影响的 Mac 会自动重启。如果自动关机,请按下电源键重新开机。
  3. 选择要恢复的卷(例如 Macintosh HD),然后点击 下一步(Next)
  4. 选择用户,并输入登录密码,点击 下一步(Next),然后点击 重启(Restart)
  5. 如果是带 Apple Silicon(M1、M2 芯片) 的 Mac,复活后的 Mac 可能会加载启动选项,显示你的启动磁盘(例如 Macintosh HD)以及带齿轮图标的 选项(Options)。选择你的启动磁盘,然后点击下方出现的 继续(Continue) 按钮。
  6. 复活完成后,Mac 将完成启动,整个过程结束。

恢复(Restore)操作

如果复活操作无法修复你的 Mac,请按照以下步骤进行恢复。恢复操作将擦除所有数据并将 Mac 恢复到出厂设置。

  1. 在 Finder 中的 DFU 窗口中,点击 恢复 Mac(Restore Mac),然后点击 恢复并更新(Restore and Update) 确认操作。
    Restore and Update
  2. 进度条会显示恢复过程。当恢复完成后,受影响的 Mac 会自动重启。如果它关机了,请按下电源键重新开机。
    Preparing Mac for restore ...
    Mac has been restored
  3. 适用于 Apple Silicon 的 Mac:
    a. 登录你之前用于此 Mac 的 Apple ID
    b. 设置助手启动后,按照提示完成设置。
  4. 适用于带 T2 芯片的 Mac:
    a. 恢复后的 Mac 启动时会显示旋转的地球图标,表示它通过互联网进入 macOS 恢复模式。选择语言后点击 下一步
    b. 登录你之前用于此 Mac 的 Apple ID,然后点击 退出到恢复(Exit to Recovery)
    c. 在恢复模式中选择安装或重新安装 macOS。
    d. 安装完成后,Mac 会重启并启动设置助手。使用设置助手完成 Mac 的初始化配置。

注意:恢复操作需要从网上下载 macOS 固件,请确保辅助 Mac 可以联网。


结论

恢复(Restore)是修复 M1 MacBook Pro 重大系统故障的最可靠方法。

当你电脑坏到完全不能用的时候,可以本着「死马当活马医」的精神,参考本文,说不定就能恢复如初。

如果尝试后,问题仍然无法解决,那么还是建议联系 Apple 支持或前往 Apple Store 进行维修。

最后,没事儿不要手欠研究新东西,因为凡事都有代价……不作死就不会死,🐶


参考资料