在 OS X El Capitan 中更新恢复分区

Pat*_*ski 5 osx-el-capitan macos recovery-partition

故事

我使用的是 2012 年的 MacBook Pro。默认情况下,恢复分区是 OS X Lion (10.7)。在进行任何重新安装时,恢复到 Lion 然后恢复到 El Capitan 非常麻烦,所以我的问题来了......

问题

如何将恢复分区更新到当前操作系统 (El Capitan)?

小智 6

这也适用于 OS X Sierra。每次我更新操作系统时,恢复分区都保持不变,或者至少看起来是这样。很久以前,我搜索了一个解决方案,找到了解决这个问题的帖子。阅读该主题中的第一篇文章,由 'tywebb13' 撰写。

http://forums.macrumors.com/threads/yosemite-recovery-update-1-0-bug.1756752/

此说明涉及下载 Lion Recovery Update 1.0 和 shell 脚本(您可以使用从下面复制粘贴的内容创建自己的脚本),以及最新 OS X 的图像(在我的情况下为 OS X Sierra 10.12.2)和从下载的图像中复制文件。将所有内容保存在 ~/Downloads 文件夹中。

从源代码中引用的详细说明以及我自己的小修改:(为了完整起见,步骤 2 中的脚本文件也复制并粘贴在此引用下方)

  1. http://support.apple.com/kb/dl1464下载 Lion 恢复更新。(在你问之前,是的。我的意思是 LION 恢复更新!)确保它在你的下载文件夹中。从 AppStore 下载 OS X Sierra 或任何最新版本。在 Finder 中,转到应用程序并查找 Sierra 安装应用程序。右键单击“安装 Sierra.app”或 Finder 中的任何名称,转到 Contents/SharedSupport/Copy 或将 InstallESD.dmg 文件移动到您的 ~/Downloads 文件夹中。

  2. 从 LINK 4unitmaths.com/recovery.sh.zip 下载并解压缩文件 recovery.sh.zip 并将 recovery.sh 移动到您的下载文件夹中。这个文件也可以通过从下面的源复制粘贴来创建。

  3. 打开终端并输入以下两个命令:

    chmod +x ~/Downloads/recovery.sh
    sudo ~/Downloads/recovery.sh
    
    Run Code Online (Sandbox Code Playgroud)
  4. 等待几分钟让它完成并返回到提示。按住选项键重新启动以测试您的 10.xx.x 恢复分区。

这是来自源链接的 recovery.sh 文件的内容(再次归功于“tywebb13”):

read -p "Ensure "RecoveryHDUpdate.dmg" and "InstallESD.dmg" are in your Downloads folder and press [Enter]"

#access dmtest from RecoveryHDUpdate.pkg
rm -rf /private/tmp/RecoveryHDUpdate
echo "Expanding RecoveryHDUpdate.pkg"
hdiutil attach -nobrowse ~/Downloads/RecoveryHDUpdate.dmg
pkgutil --expand /Volumes/Mac\ OS\ X\ Lion\ Recovery\ HD\ Update/RecoveryHDUpdate.pkg /tmp/RecoveryHDUpdate

#access BaseSystem.dmg and BaseSystem.chunklist
echo "Expanding InstallESD.dmg"
hdiutil attach -nobrowse ~/Downloads/InstallESD.dmg

#build Recovery partition
echo "Building Recovery Partition. Please Wait"
/tmp/RecoveryHDUpdate/RecoveryHDUpdate.pkg/Scripts/Tools/dmtest ensureRecoveryPartition / /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg 0 0 /Volumes/OS\ X\ Install\ ESD/BaseSystem.chunklist

#cleanup
echo "Cleaning up"
hdiutil eject /Volumes/Mac\ OS\ X\ Lion\ Recovery\ HD\ Update
hdiutil eject /Volumes/OS\ X\ Install\ ESD/
sudo touch /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
sudo kextcache -f -u /
exit 0
Run Code Online (Sandbox Code Playgroud)

2016 年 12 月 22 日使用 Sierra 10.12.2 进行测试。


Kru*_*lur 1

你不需要这样做。您可以在恢复期间从 App Store 重新下载操作系统,而不是从分区中恢复。为此,只需选择一个网络作为恢复过程的第一步,然后准备使用您的 Apple ID 登录即可。

在极少数情况下,您实际上需要为 OSX 创建离线安装程序,您可以使用createinstallmediaOSX 安装程序应用程序中的命令来完成此操作。简而言之:

sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia \
   --volume /Volumes/MyUSBStick \
   --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app
Run Code Online (Sandbox Code Playgroud)

替换/Volumes/MyUSBStick您的 USB 记忆棒的名称。当您想要恢复 Mac 时,只需插入 USB 记忆棒并按下选项键重新启动,然后选择 USB 记忆棒作为启动设备。