升级指定新版本的 macOS 非常简单,只需要在 app store 中下载并安装即可,这样也不会抹掉原来的数据。但是安装低版本 macOS,要想恢复数据会存在麻烦,因为 低版本的 macOS 可能不兼容高版本的数据,本文仅尝试恢复数据。
注意事项
- 为了防止降级失败,我们不能将原来的操作系统抹掉。
- 使用时间机器备份数据。
- 将低版本的 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 可以使用高版本的数据副本。