Total Pageviews

Friday 2 July 2021

使用官方工具创建独立的 Mac OS X的恢复模式引导盘

 发现了苹果官方给的 recovery disk assistant,参见 https://support.apple.com/zh-cn/HT202294 可以用来制作恢复模式的引导盘,用了一下似乎原理就是从本机的 recovery hd 里解压磁盘镜像的内容到U盘里:

官网下载地址

这个工具是完全 GUI 的,使用非常简单,插上U盘,打开这个工具,选中U盘,下一步,完事。

顺带一提,diskutil是水果的一个命令行磁盘操作工具,当一个 Linuxer 打开 Mac 的时候会发现fdisk

没有 -l 参数,就会很懵逼,实际上 Mac 上的 fdisk 是针对 DOS MBR 分区的磁盘工具,正确的姿势应该是使用diskutil list列出磁盘分区,就能看到 disk0s3 的 recovery 分区,分区类型标注为 Apple_boot 实际上还是一个普通的 HFS,不过是隐藏的,图形界面的 disk utility 在10.11之后被大幅削减了功能,连这个分区都看不到了:

$ diskutil list /dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *500.3 GB
disk0 1: EFI EFI 209.7 MB
disk0s1 2: Apple_HFS Macintosh HD 429.4 GB
disk0s2 3: Apple_Boot Recovery HD 650.0 MB
disk0s3 4: Microsoft Basic Data BOOTCAMP 70.0 GB disk0s4

事后也整理了一下 base system/recovery disk 的关系:Mac 在系统分区的末尾有一个恢复分区,里面有压缩的 OS X base system 的磁盘镜像(/com.apple.recovery.boot/BaseSystem.dmg),在进入恢复模式的时候读取这个镜像(如果分区或镜像不存在,则进入网络恢复模式下载一个镜像),挂载 RAM disk,在 OS X 正常启动的时候,/dev/disk0s3 这个分区是不被挂载的。

通过以下命令可以在正常启动的 OS X 下挂载 recovery disk:diskutil mount /dev/disk0s3

从磁盘镜像中挂载 base system, hdiutil mount /Volumes/Recovery\ HD/com.apple.recovery.boot/BaseSystem.dmg -noverify

参考链接:

https://apple.stackexchange.com/questions/22941/what-is-the-mac-os-x-base-system-disk-image-on-my-2011-macbook-air/

http://superuser.com/questions/671725/what-is-the-equivalent-of-the-linux-command-sudo-fdisk-l-in-macos

No comments:

Post a Comment