升级指定新版本的 macOS 非常简单,只需要在 app store 中下载并安装即可,这样也不会抹掉原来的数据。但是安装低版本 macOS,要想恢复数据会存在麻烦,因为 低版本的 macOS 可能不兼容高版本的数据,本文仅尝试恢复数据。

注意事项

  1. 为了防止降级失败,我们不能将原来的操作系统抹掉。
  2. 使用时间机器备份数据。
  3. 将低版本的 macOS 安装在磁盘新分区或外部存储设备中。

我们的总体思路是:安装低版本的 macOS,并使用迁移助手,从时间机器中恢复数据。

下载 macOS 安装包

下载地址:https://support.apple.com/zh-cn/102662.
下载完成后,会得到一个应用程序包,我们会发现点击不了它,因为不能安装低版本 macOS,在 xxx.app/Contents/Resources/ 目录下存在两个工具:

  • createinstallmedia:制作 macOS 引导程序
  • startosinstall:安装 macOS 操作系统

macOS 引导程序和 macOS 操作系统是两个东西,前者是用来安装操作系统的。

startosinstall 是无法使用的,因为 startosinstall 的 license 中规定,要安装的 macOS 不能低于当前启动宗卷的 macOS。

我们可以使用 createinstallmedia 来将 macOS 引导程序安装在某个磁盘分区或者外部存储设备中,这样子在恢复模式中就可以使用该引导程序了。

mac中的 device、partition、container 和 volume 的概念

参考:https://zhuanlan.zhihu.com/p/596119469

device 是指存储设备:ssd固态硬盘和U盘等

device 可以进行分区,即获得 partition,相当于将存储设备一分为二,获得两个存储设备。我们需要在分区中安装文件系统,不然无法使用。

文件系统有:

  • APFS:apple file system,只有 macOS 可以识别的文件系统

  • Mac OS extended(又称为 HFS+):早期的苹果文件系统,目前仅用于存放 macOS 引导程序

  • NTFS、FAT、EXFAT 等。其中 EXFAT 是 macOS 和 Windows 都可以识别的文件系统。

container(即 APFS container)是一个逻辑概念,用来容纳 APFS volumes 的。
volume 又称宗卷,对应真正的文件系统,volume 可以挂载到路径上,例如 Macintosh HD 挂载在/中,constainer 下的所有 volumes 共享存储空间。所以一个 container 下,可以放各自独立的文件系统,每个文件系统都可以挂载到不同的路径上。

我们需要明白:macOS 引导程序只能安装在 HFS+ 文件系统,macOS 操作系统(新版)只能安装在 APFS 文件系统

安装 macOS 引导程序

参考:https://support.apple.com/zh-cn/101578

我们需要将磁盘分区或者U盘格式化为 macos扩展(日志式) + GUID。

然后使用 createinstallmedia 工具:

sudo ./createinstallmedia --volume /Volumes/MyVolume

上面的Volumes/MyVolume表示u盘或者分区中 宗卷的装载点,其实就是把 macOS 引导程序安装到Volumes/MyVolume中.

安装 macOS 操作系统

intel芯片的Mac,启动时长按option,m芯片的mac,启动时长按电源键就可以进行恢复模式,此时我们可以看到 macOS 引导程序。

我们需要使用一个新的磁盘分区(新的 APFS 宗卷),然后使用 macOS 引导程序将 macOS 操作系统安装到这个宗卷中。

恢复数据

macOS 安装完成后,会重启,然后以这个新的 APFS 宗卷作为启动盘来运行激活程序,在迁移助手中,选择从时间机器中恢复数据,则我们会看到时间机器中的数据副本,一般来说,这里的数据副本是高版本 macOS 的数据,我们期望用低版本 macOS 可以使用高版本的数据副本。