Time Machine バックアップイメージの修復

Time Machineは便利なんで愛用しているのですが時々
バックアップイメージがおかしくなるという問題が。

一旦イメージが壊れると、新しいバックアップができなくなり
「Time Machine でのバックアップの検証が完了しました。
信頼性を向上させるには、Time Machine によって新しい
バックアップが作成される必要があります。」
というダイアログが出ますが、
新しいバックアップを作ってしまうとこれまでの古いバックアップが
まるまる削除されるというおそろしいことに。
http://support.apple.com/kb/HT4076?viewlocale=ja_JP
結局そのままバックアップを延期して放置するしかないかと思っていたのですが
修復方法が判明しました。
オリジナルの記事はこちら

注:ある程度ターミナルとunixコマンドの知識がある方向けです。
注2:バックアップのサイズにもよりますが数時間はかかります。作業中Macがスリープしないように設定して下さい。
注3:普段Time Capsuleに無線で繋いでいる場合は、可能なら有線で繋ぎ直したほうが速く終わると思います。

1。Time machineのバックアップに使っているドライブをファイル共有でマウント。
2。sparsebundleのアイコンに鍵がかかっている場合、まず変更不可フラグを解除

 sudo chflags -R nouchg /Volumes/{ドライブ名}/{マシン名}.sparsebundle

3。バックアップイメージを接続

 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はその数字に置き換える。

4。fsckコマンドでファイルシステムを修復
 fsck_hfs -drfy /dev/diskxs2
(何時間かかかるので放置)

数度のチェックと修復の後、
 ** The volume Time Machine バックアップ was repaired successfully.
のようなメッセージが出たならば無事修復できている。

5。バックアップイメージを接続解除
 hdiutil detach /dev/diskxs2


6。TimeMachineのフラグを訂正
/Volumes/{ドライブ名}/{マシン名}.sparsebundle/com.apple.TimeMachine.MachineID.plist
を、テキストエディタかplistエディタで以下のように編集。

 RecoveryBackupDeclinedDate
 {日付}
の二行を削除

 VerificationState
 2

 VerificationState
 0

うまくいっていればこれで再びバックアップとして認識されるはずです。