OpenCore从Recovery的DMG安装macOS各种版本

和白苹果的开机按花键+R重启到恢复模式一样

 

github:https://github.com/acidanthera/OpenCorePkg/tree/master/Utilities/macrecovery

 

优点

  • 无需从App Store下载macOS安装文件
  • 对操作平台没有要求, 只要能运行 python 命令就可以, 所以可以在Linux/Windows/macOS 甚至在Linux服务器上操作.
  • 下载量非常小, Recovery只有400~500M, 所以 1GB 的 U盘
  • 支持各种版本的macOS的安装,解决了旧版本macOS很难获取的问题

缺点

  • 需要知道如何配置OpenCore, 要提前配置好. 其实不算缺点, 因为就算是用制作启动盘的方法, 依然是要配置好OpenCore才可以启动电脑.
  • 进入到了安装界面之后, 需要联网, 后面的安装过程需要从Apple的服务器获取所需文件, 通常都会跑满你的带宽, 所以其实并不算一个缺点.

步骤

  1. 配置好OpenCore的EFI
  2. 修改你的EFI-OC-config.plist文件中的:
    Misc-Boot-HideAuxiliary 取消勾选/NO
    Misc-Boot-ShowPicker 勾选/YES
    Misc-Boot-Timeout 设置为5
    重启设置BIOS,改为UEFI模式从U盘启动,选择recovery即可进入恢复安装模式。
    最近有部分坛友反馈在用此U盘恢复引导时,看不到U盘的recovery恢复选项,可以通过修改EFI/OC/config.plist配置文件解决:
    Misc --> Security --> ScanPolicy 修改为0 保存退出,重启后重置NVRAM后即可。
  3.  下载Recovery的DMG
    1. 获取 python 脚本:
      curl -OL https://raw.githubusercontent.com/acidanthera/OpenCorePkg/master/Utilities/macrecovery/macrecovery.py
      

      下载最新的 macOS Recovery:

      /usr/bin/python macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 download
    2. 下载其他 macOS 版本的 Recovery 的命令请参考 recovery_urls.txt, 命令最后需要加一个 download, 如上.
    3. 更多的控制参数请参考 /usr/bin/python macrecovery.py --help
    4. 会下载2个文件, 分别为 BaseSystem.chunklist 和 BaseSystem.dmg
  4. 准备好一个容量1GB以上的U盘, 格式化成 Fat32 格式.
  5. 将OpenCore的EFI复制到U盘的 根目录
  6. 在U盘的 根目录 创建一个文件夹名字叫做: com.apple.recovery.boot
  7. 将 BaseSystem.chunklist 和 BaseSystem.dmg 复制到 com.apple.recovery.boot 里面
  8. 给启动文件命名
    1. 在文件夹 com.apple.recovery.boot 下面新建一个隐藏文件 .contentDetails
    2. 内容可以随便写, 比如 Mojave Boot From Recovery, 这个名字会出现在OpenCore的启动菜单上.
  9. 最终U盘上的文件结构看起来像这样 ( 注意 EFI文件夹与com.apple.recovery.boot文件夹是并列关系 ):
    EFI
        ├── BOOT
        ├── OC
    com.apple.recovery.boot
        ├── BaseSystem.chunklist
        └── BaseSystem.dmg
        └── .contentDetails
    
  10. 用U盘启动电脑选择 Mojave Boot From Recovery, 接下来就进入正常的安装界面

部分下载代码

Lion
./macrecovery.py -b Mac-2E6FAB96566FE58C -m 00000000000F25Y00
./macrecovery.py -b Mac-C3EC7CD22292981F -m 00000000000F0HM00

Mountain Lion:
./macrecovery.py -b Mac-7DF2A3B5E5D671ED -m 00000000000F65100

Mavericks
./macrecovery.py -b Mac-F60DEB81FF30ACF6 -m 00000000000FNN100

Yosemite:
./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000GDVW00

El Capitan
./macrecovery.py -b Mac-FFE5EF870D7BA81A -m 00000000000GQRX00

Sierra
./macrecovery.py -b Mac-77F17D7DA9285301 -m 00000000000J0DX00

High Sierra
./macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300
./macrecovery.py -b Mac-BE088AF8C5EB4FA2 -m 00000000000J80300

Mojave
./macrecovery.py -b Mac-7BA5B2DFE22DDD8C -m 00000000000KXPG00

Diagnostics
./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 -diag
./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000GDVQ00 -diag
./macrecovery.py -b Mac-E43C1C25D4880AD6 <real MLB> -diag

Default version
./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000GDVQ00       (oldest)
./macrecovery.py -b Mac-E43C1C25D4880AD6 -m <real MLB> -os default  (newer)

Latest version
./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000
./macrecovery.py -b Mac-E43C1C25D4880AD6 -m <real MLB> -os latest

 

懒人版:https://www.mfpud.com/macos/macrecovery/