美文网首页
误删 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 的恢复方法

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