Time Machineが壊れた時の復旧方法
2012/01/23
以前、MacのTime Machineが壊れて新規でバックアップするハメになったという記事を書いたんですが、
⇒ Time Machineが新規状態にTime Slipした(2011.12.11)
これに対する解決策を教えて頂きました。
※ トオルさん、ありがとうございます!
この現象は、快調にバックアップを取り続けていたTime Machineがある日突然「Time Machine はバックアップの検証を完了しました。信頼性を向上するために、Time Machine は新規バックアップを作成する必要があります。」というメッセージと共に差分バックアップを放棄し、新規でのバックアップを要求されるというものです。この要求を飲まないとバックアップは実施されません。ひどい。
で、また何時間(いや、何日)も初期バックアップに時間を費やすことになるわけですが、バックアップデータを修復してこの事態を回避する方法がありました!
教えていただいたのはこちらの記事です。
⇒ 2012/01/04 Time Machine バックアップイメージの修復
注:ある程度ターミナルとunixコマンドの知識がある方向けです。
注2:バックアップのサイズにもよりますが数時間はかかります。作業中Macがスリープしないように設定して下さい。
注3:普段Time Capsuleに無線で繋いでいる場合は、可能なら有線で繋ぎ直したほうが速く終わると思います。
うまくいっていればこれで再びバックアップとして認識されるはずです。
- Time machineのバックアップに使っているドライブをファイル共有でマウント。
- sparsebundleのアイコンに鍵がかかっている場合、まず変更不可フラグを解除
sudo chflags -R nouchg /Volumes/{ドライブ名}/{マシン名}.sparsebundle
- バックアップイメージを接続
hdiutil attach -nomount -noverify -noautofsck /Volumes/{ドライブ名}/{マシン名}.sparsebundle
実行すると以下のような
/dev/diskx Apple_partition_scheme
/dev/diskxs1 Apple_partition_map
/dev/diskxs2 Apple_HFSX
メッセージが出る。
diskxのxの所は接続されているディスクの数に応じて一桁の数字が入る。
以下、diskxとあったらxはその数字に置き換える。
- fsckコマンドでファイルシステムを修復
fsck_hfs -drfy /dev/diskxs2
(何時間かかかるので放置)
数度のチェックと修復の後、
** The volume Time Machine バックアップ was repaired successfully.
のようなメッセージが出たならば無事修復できている。
- バックアップイメージを接続解除
hdiutil detach /dev/diskxs2
- TimeMachineのフラグを訂正
/Volumes/{ドライブ名}/{マシン名}.sparsebundle/com.apple.TimeMachine.MachineID.plist
を、テキストエディタかplistエディタで以下のように編集。
<key>RecoveryBackupDeclinedDate</key>
<date>{日付}</date>
の二行を削除
<key>VerificationState</key>
<integer>2</integer>
を
<key>VerificationState</key>
<integer>0</integer>
まだバックアップデータの修復が必要な事態に陥っていないので、この方法を試してはいないんですが。
んで、ちょっと手順が難易度高いんで、それなりに知識のある人向けかなーとは思います。