美文网首页
误删 Recovery HD 的恢复方法

误删 Recovery HD 的恢复方法

作者: Jesse_Zhu | 来源:发表于2017-05-28 02:39 被阅读0次

某次用 TimeMachine 回滚系统时误删了 Recovery HD,导致 FileVault 无法正常开启,以及按 Command + R 需要联网启动恢复系统等问题。

image.png

于是将恢复方法记录下来,方便以后 手贱

首先需要下载恢复分区的镜像

Lion 恢复更新
其实只需要这个,并不需要任何系统镜像。

然后确认下是不是真的删除了 Recovery HD

$ diskutil list
image.png

是真的不见了。

挂载刚刚下载的dmg

$ hdiutil attach ~/Downloads/RecoveryHDUpdate.dmg

释放文件

$ pkgutil --expand /Volumes/Mac\ OS\ X\ Lion\ Recovery\ HD\ Update/RecoveryHDUpdate.pkg ~/Desktop/RecoveryHD

挂载 RecoveryHDMeta.dmg

$ hdiutil attach ~/Desktop/RecoveryHD/RecoveryHDUpdate.pkg/RecoveryHDMeta.dmg

运行并且创建分区

$ ~/Desktop/RecoveryHD/RecoveryHDUpdate.pkg/Scripts/Tools/dmtest ensureRecoveryPartition / /Volumes/Recovery\ HD\ Update/BaseSystem.dmg 0 0 /Volumes/Recovery\ HD\ Update/BaseSystem.chunklist
Creating recovery partition: finished  

检查是否创建成功

$ diskutil list

但是这样恢复的是 Lion 的版本啊

于是依旧没有逃脱下载安装盘的命运。
从安装盘中提取出 InstallESD.dmg 文件,放在下载文件夹。
RecoveryHDUpdate.dmg 也同样放在下载文件夹。
创建一个脚本,保存为 recoveryhd.sh

echo "确定RecoveryHDUpdate.dmg和InstallESD.dmg都已经放在了“下载”文件夹里!"  
read -p "Ensure "RecoveryHDUpdate.dmg" and "InstallESD.dmg" are in your Downloads folder and press [Enter]"  
echo "如果这货最后提示你文件找不到,请手动编辑脚本来修改下安装盘的名字!!!"  
read -p "Please edit the name of ESD by your self if this sh do not work while!!![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  
echo "ejecting RecoveryHDUpdate.dmg"  
hdiutil eject /Volumes/Mac\ OS\ X\ Lion\ Recovery\ HD\ Update

echo "Expanding BaseSystem"  
hdiutil attach -nobrowse ~/Downloads/InstallESD.dmg  
#Move BaseSystem to tmp,please edit the name of ESD by your self if this sh do not work while!!!
#就是修改下面的”Mac\ OS\ X\ Install\ ESD“,根据实际情况去掉Mac这个单词~
cp /Volumes/Mac\ OS\ X\ Install\ ESD/BaseSystem.dmg /tmp/BaseSystem.dmg  
cp /Volumes/Mac\ OS\ X\ Install\ ESD/BaseSystem.chunklist /tmp/BaseSystem.chunklist  
echo "ejecting InstallESD.dmg"  
hdiutil eject /Volumes/Mac\ OS\ X\ Install\ ESD/


read -p "一切都已经准备就绪,按回车就可以开始了![Enter]"  
#build Recovery partition
echo "Building Recovery Partition. Please Wait"  
/tmp/RecoveryHDUpdate/RecoveryHDUpdate.pkg/Scripts/Tools/dmtest ensureRecoveryPartition / /tmp/BaseSystem.dmg 0 0 /tmp/BaseSystem.chunklist

clear  
diskutil list  
read -p " Apple_Boot Recovery HD 是不是已经存在了?重启按住option试试,看看recovery HD是不是已经回来了![Enter]"

exit 0  

添加执行权限 chmod +x recoveryhd.sh

然后运行 ./recoveryhd.sh

相关文章

  • 误删 Recovery HD 的恢复方法

    某次用 TimeMachine 回滚系统时误删了 Recovery HD,导致 FileVault 无法正常开启,...

  • 删除Recovery HD

    1.找到的分区id:diskutil list # diskutil list /dev/disk0 #: ...

  • 2018-11-23

    短信误删了怎么恢复,超级简单的恢复方法 短信误删了怎么恢复?随着时代的发展,越来越多的人都使用上手机了,以前家里只...

  • 误删pycharm如何恢复

    最简单的方法:在Show History里面恢复 根据时间,选择误删的版本,点击revert

  • 使用Dell OS Recovery Tool制作Windows

    使用Dell OS Recovery Tool制作Windows恢复U盘 什么是DELL OS Recovery ...

  • flink recovery

    恢复的过程 Recovery involves restarting the cluster, restoring...

  • 恢复被删除的Git stash记录

    场景: 使用Git stash命令或者SourceTree暂存了工作现场,之后误删了这个stash 恢复方法: 第...

  • git 误删分支恢复方法

    git 误删分支恢复方法 在使用git的过程中,因为人为因素造成分支(commit)被删除,可以使用以下步骤进行恢...

  • git 误删分支恢复方法

    git brand -D xxxx可以删除某个本地分支。不小心误删除了怎么办? 1.使用git log -g 找回...

  • Linux误删rpm恢复方法

    Linux误删rpm恢复方法 在卸载rpm安装的软件的时候,误把rpm也删除了,现在不能使用rpm指令安装其他的软...

网友评论

      本文标题:误删 Recovery HD 的恢复方法

      本文链接:https://www.haomeiwen.com/subject/ihucfxtx.html