と思っていろいろ書いたものの、壊れていないみたいな気がする。もうしばらく様子を見よう。
MacBookを開いたら、「Time Machine でのバックアップの検証が完了しました。信頼性を向上させるには、Time Machine によって新しいバックアップが作成される必要があります。」というダイアログボックスが出ていた。後でと今すぐの2択。とりあえずググって公式サイトを確認。
つまり、後でやるか今すぐやるか、どっちにしろ作り直さないとだめだ、みたいな雰囲気。役に立たない。
続いてサポートコミュミティ。
「新規バックアップが必要」というメッセージがでてくる | コミュニティ
英語で書かれてるけど、このとおりやったら治るよ、と。
Fix Time Machine Sparsebundle NAS Based Backup Errors | Garth Gillespie
訳してみることにした。
最後にあった注意点。ギガビットイーサで接続して実行する事。無線LAN、Wi-Fiでやらないこと。実行中にスリープにならないようにすること。
では本文。
NASにsparsebundleバックアップがある場合に合わせて記事を修正した。NASというのはNetgearとかSynologyとかBuffaloとかQNapが出しているような製品とかFreeNASで作ったやつのこと。
このエラーは次の手順で治せるよ。Macからsparsebundleのある場所に接続して、ここで決してダブルクリックとかディスクユーティリティで修復とかはやらないこと。
ターミナルを開いて
sudo su -
とやってルートになる。これはパスワードが必要。
sparsebunldeは不正と記録されてしまっているので、まずは通常に戻す。
chflags -R nouchg /Volumes/{name of your network share}/{name of}.sparsebundle
これにはしばらく時間がかかる。次に
hdiutil attach -nomount -noverify -noautofsck /Volumes/{name of your network share/{name of}.sparsebundle
とやると、こんな感じのが表示されるはず。
/dev/diskx Apple_partition_scheme /dev/diskxs1 Apple_partition_map /dev/diskxs2 Apple_HFSX
xの部分は外部ディスクのディスクID。Apple_HFSX か Apple_HFSとなっているのがそれのはず。
ここで、ファイルシステムチェック中なことに気づいた。tailコマンドでログをみて確認しよう。
tail -f /var/log/fsck_hfs.log
もしfsckが動いていたら、経験で言うとsparsebunldeは修復できる。何時間かぶらぶらしてこよう。
チェックが終わったら、どちらかのメッセージが表示されているのでは。
The Volume was repaired successfully The Volume could not be repaired
後者なら、このコマンドでもう一度修復をかけよう。
fsck_hfs -drfy /dev/diskxs2
ただし、xの部分は上で確認した対象のドライブを示す数字に変更する事。指定しているdrfyは、dがShow DebugでrがRebuildCatalog TreeでfがForceでyが自動Yesの意味。
ここでまた数時間でかけて、帰ってきたら
tail -f /var/log/fsck_hfs.log
もしうまくいっていたら、最後の行はこうなってるはず。
The Volume was repaired successfully
次に
hdiutil detach /dev/diskxs2
以上は、どのマシンからでも実行可能。
最後。ここまで完了したら、plistファイルを編集して、状態を正常にもどす。com.apple.TimeMachine.MachineID.plist の最上位で次の部分を消去。
RecoveryBackupDeclinedDate {whatever-the-date}
次の部分を変更。
VerificationState 2
こうなっているところを次のようにする。
VerificationState 0
これで、ネットワークドライブをイジェクトしてTime Macineを動かしたら、長い検証のあとふたたびバックアップが動き出す。
というわけで、けっこう長い手順だったし、途中数時間待つっていうのがあった。やったら治るのかね。で、Time Machineを開いてみたら、普通に開けたけど、これは何かの間違いでエラーメッセージが表示されただけと思っていいんだろうか。