誤刪 Recovery HD 的恢復方法

某次用 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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容