backupbundleファイルを削除する

またまた前回の続きで、Time Machine バックアップから復旧すれば良かったんじゃないか?という意見を甘んじて受けるなら、ディスク自体バックアップしていたのだけど、photoslibraryが含まれていなかった経緯があります。初め、Time Machineに入るコマンドを使うと外付けSSDのバックアップファイルが見えなかったどころか、次のような問題がありました。

そこでphotoslibraryが正しくバックアップされているか確認しようとTime Capsuleのディスクをマウントしたところ、High Sierraが動く機種のバックアップファイルであるsparsebundleはあるのですが、同様にCatalinaが動く子供のMacBookなどはbackupbundleというファイル名になっていることが分かりました。

https://hkitago.tumblr.com/post/614425451178459136

従来のbackupbundleを開いてディスクをマウントする方法がMojave以降Catalinaでも不可能になってしまったようで、安易にメルカリ行きにしなくて良かったと思いました。

ここで、前述した外付けSSDのディスクはバックアップされていたのだけど、photoslibraryが含まれていないという事実が判明したのでした。

macOS macOS CatalinaのTime Machineバックアップで問題が発生した場合は、オフにして、古いバックアップをアーカイブしてから、再度オンにして新しいバックアップセットを使用します

macOS CatalinaでのTime Machineとバックアップ | 酔いどれオヤジのブログwp

ということで、バックアップファイルから取り出したいものはないので古いバックアップを捨てて、新たにバックアップセットを開始することに決めてから本題です。バックアップディスクをマウントしFinderからゴミ箱に入れる、あるいはOPTキーの組み合わせで直接削除しようとしても次のようなエラーを返して進みません。

一部の項目をスキップする必要があったため、操作を完了できません。各項目につき、“ファイル”>“情報を見る”と選択し、“ロック”が選択解除されていることを確認してください。次に、“共有とアクセス権”セクションを確認してください。項目がロックされていないこと、および“読み出しのみ”または“アクセス不可”に指定されていないことを確認したら、やり直してください。

毎度ながらおぐぐりなさると、素晴らしい記事を見つけました。
Easy Way to Delete a Sparsebundle from Time Machine | explorers’ club

肝心なのは sparsebundle の中にある消去できないファイルを find ./bands -print -delete コマンドを使って削除していくことです。半年分ほどのバックアップ内容でおよそ3万ほどのファイル名がターミナルにズラズラと表示されていくのをコーヒーを飲んだりゲームでもしながら待ち、その後はGUIでもCLIでも sparsebundle を削除ができますがこの処理も容量によっては待機が長いのでCLIの方が良いかもしれません。参照記事には sparsebundle とありますが、backupbundle の扱いでも同じです。

毎度ながら林檎鳥籠の中で翻弄している感は拭えないのですが、ファイルシステムの変更を含めて、ARM移行に期待しつつバックアップの完了を待ちます。

最後に、そもそも外付けSSDのAPFSコンテナが破損したのはiPhoneから写真データの読み込み中だったということから察するにphotoslibraryの損傷は元からあったと考えられます。余談ですが、昔のデジカメで撮影したMPEGファイルを写真アプリで開こうとしてリソース不足のエラーとなったような時は要注意です。また、今のところバックアップに問題がなくとも、Catalinaから新たなバックアップセットを開始した方が安全かと思います。

投稿者: hkitago

個人事業主でウェブと iOS, Android アプリの開発者で一児の父親。JavaScript, ActionScript, AppleScript, PHP, SQL, ObjC, Swift, Java の読書実行試験運用管理を生業とし、Bind, Postfix, Apache を MacOS で使い、エディタは Vi, mi, Kod, Smultron, TextWrangler を経て Coda, Xcode, Android Studio といった IDE と CotEditor を重用しています。