マウントできなくなったSSDのデータを救出

以前、macOSの写真アプリのライブラリで起きた問題を取り扱った際に疑っていたハード的な懸念が、com.apple.DiskManagement.disenter error -119930868 というエラーで現実になってしまいました。

よくよく調べると、com.apple.DiskManagement.disenter のエラーには他にも 49153 の番号があったりするのですが、ディスク形式の違いではないかという気もしたり、あるフォーラムでは20年分のデータを失いそうになっている方がいたりして気の毒に思いながらも、APFS形式のUSB外付けSSDという条件でデータを不完全ながらも取り出すことができたので経緯と併せて記しておきます。

ディスクユーティリティを使うと AppleAPFSMedia というディスクが初期化前の状態で表示されるようになっていて、First Aid をすると上記のようにエラーとなります。マウントできないコンテナ自体は First Aid では問題がないと完了しますが、fsck コマンドで確認すると “Space manager is invalid” と返すのでコンテナが破損したのだと予想ができました。

サルベージの経験はあるので慌てず TestDisk を…と思いきや、何とAPFSは未対応だと(1日掛けて Analyze した後に)分かりました。

大昔HomebrewができたWiiのWBFSがいじれるのはすごいと思ったが、今回課題のAPFSには非対応…ということで、他のサイトでよく行われているAnalyzeではなく、「Image Creation」を行いました。

BootCampで破壊してしまったMacBookのデータを救出した話 – ○○PC(仮)

そこでこの内容から、ディスクユーティリティでマウントできていないコンテナを副クリックしコンテキストメニューからイメージを作成し保存することで、元々600GBくらいあった写真ライブラリが400GBになってしまいましたが、大方のデータを取り出す用意ができました。

最後にイメージディスクをマウントし、photoslibraryのパッケージの内容を開き originals フォルダにある元写真/動画のデータをコピーするのですが、GUI操作の場合は破損ファイルに直面するとエラーで終了してしまうので、cp -Rp 複製元 複製先 コマンドでズラズラと読み込んでいきます。途中、Illegal byte sequenceNo such file or directory といったログを眺めながら断捨離気分を味わうことになります涙。

と言っても必要な写真は iCloud 共有してあったり、動画素材は iMovie でまとめて既に共有してあるので良しとするのですが、肝心なところは今回の問題がファイルシステムにあるのか、格安だった外付け SSD にあるのか判定し難い状況にあるということです。どちらも避けるべく対応としては、Mac mini 2012 の上段が空いているので内蔵することにしました。

投稿者: 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 を重用しています。