※一番最悪の場合ですが、データ全ロスの可能性があります。状況的には結構ヤバいです。少々長くなりますが、順を追って最後まで読んでみることをお勧めします。
どうも!マッキン正宗です。
結論から言うと、なんとかバックアップを取った上でOSのクリーンインストール→データ復元という流れになりました。
どうしてそんな大ごとになってしまったのか?
Time Machineでバックアップを失敗したところから語ります。
■いきさつ
先日、Time MachineでMacのデータをバックアップしようとしたら、エラーが出て失敗してしまったんですよ。
USBによる有線で外付けHDDと接続していたので、『あれ?USBコネクタの接触が悪かったかな〜』とか思いながら再度接続を確認してバックアップを取ろうとしたのですが、バックアップはやっぱり失敗する。
外付けHDD自体はちゃんと認識してるし、別にUSBコネクタに衝撃を与えた訳でもない。
なのにその後も何度試してみてもバックアップを失敗してしまう。
なんじゃコリャ?と思って何気なくディスクユーティリティでFirst Aidをかけてみたところ、、、
う〜ん、特に問題ないな、、、
おぉ!?よく見るとおかしいやんけコレ!!
緑のレ点チェックが出てるのでうっかり見逃しそうになってしまいましたが、よく見ると『スナップショットが無効です。』と出ています。
エラーの詳細は『error: (oid 0x3b973) apfs_root: btn: dev_read_finish(1389474, 1): Input/output error』とのことですが、これを読んだだけでは正直意味がわかりません。
取り敢えず今は一番下の階層でファーストエイドをかけたので、一段ずつ上に上がって各階層をチェックすることにしました。
下から二段目、問題なし。
下から三段目、問題なし。
下から四段目はスナップショット無効。
一番上、問題なし。
という訳で、この結果↑を見るに『保存されたスナップショットが壊れてるのかな?』と私は思ったんですよ。
スナップショットとは、内蔵ストレージ(SSDやHDD)に保存されたバックアップデータです。
外部ストレージを使用していないだけで、スナップショットはTime Machineバックアップとほぼ同等のバックアップデータとなります。(『元データ+その時点での状態』という、差分バックアップの形で保存してます)
とは言え、無くてはならない必須のデータというものでもないので、取り敢えずターミナルを使ってスナップショットを消去してみました。
スナップショットはデリートされました
そして『壊れたスナップショットが無ければエラーも出ないだろう』と思ってもう一度ファーストエイドをかけてみると、、、
、、、。
■fsrootツリーが無効です
『fsrootツリーが無効です。』とはどういう状況なのか?
・fsとはファイルシステム=データの管理機能のことです。
・rootとは(今回の場合は)ファイルシステムの基幹部分のことです。
・ツリーとはファイルの階層構造のことです。
これらが無効だと言われています。
まとめると、『データ管理機能の基幹部分のファイル構造がおかしくなってますよ』という意味になります。
こいつぁヤベェぞ、、、
■問題点は何か?
問題点1:
『データ管理機能の基幹部分のファイル構造がおかしくなってますよ』と言われても、これだけではどの程度おかしくなってるのかがよく分からないことです。
OSのアップデートなどによって、本来は削除されてるはずの不要になったシステムファイル(OSの動作に必須のファイル)がなぜか残ってしまっている、とかなら大した問題にはならないかもしれません。
しかし、絶対に読み込まなければならないシステムファイルが失われてる、とかだと非常にマズいことになります。
もしOSを起動するために必須のファイルが失われてたりしたら、最悪の場合突然起動不可になるかもしれません。
万が一APFS(Apple File System)のフォーマット自体になんらかのダメージがあるということなら、いつデータが全ロスしてもおかしくありません。
問題点2:
にも関わらずバックアップが取れないことです。
■どうにかしてバックアップを取るための対策
対策1:
重要なデータを手動でバックアップする。
外付けのバックアップ用ストレージが認識できているなら、今のうちにバックアップが取れていないデータ、重要なデータを手動でバックアップしておきます。
最悪、データが全ロスしても多くのものを取り戻せます。
対策2:
セーフモードで起動してTime Machineバックアップを試みる。
実は私は次項の対策3『OnyXでメンテナンスを試みる。』を最初に実行してそのまま助かってしまったのですが、正直これはお勧めできません。
なぜなら、ファイルシステムに問題があるまま下手に強力なメンテナンスをしてしまうと、場合によっては取り返しがつかないほど状況が悪化してしまう恐れがあるからです。
私がOnyXのメンテナンスで助かったのはたまたまかもしれません。
再起動の瞬間が一番の博打となる(そのまま起動しなくなるかもしれないので)訳ですが、対策2でも対策3でも、どちらも結局再起動はすることになります。
ならばもっともリスクが少ないのは、まず対策2『セーフモードで起動してTime Machineバックアップを試みる』を実行し、もしそれが出来なければ対策3『OnyXでメンテナンスを試みる』という順番での対処となります。
セーフモードの起動の仕方はMチップMacとIntel Macとで微妙に違います。
“Appleシリコンを搭載したMacをセーフモードで起動する
Macで、アップルメニュー >「システム終了」と選択します。
Macが完全にシステム終了するまで待ちます。Macが完全にシステム終了すると画面が黒くなり、すべてのランプ(Touch Barのランプを含む)が消えます。
「起動オプションを読み込み中」と表示されるまで、Macの電源ボタンを押したままにします。
ボリュームを選択します。
Shiftキーを押したまま、「セーフモードで続ける」をクリックします。
コンピュータは自動的に再起動します。ログインウインドウが表示されたら、メニューバーに「セーフブート」と表示されます。
Intelプロセッサを搭載したMacをセーフモードで起動する
Macを起動または再起動したらすぐにShiftキーを押したままにして、ログインウインドウが表示されたら放します。
Macにログインします。
もう一度ログインするように求められる場合があります。
最初または2番目のログインウインドウのいずれかで、メニューバーに「セーフブート」と表示されます。”
対策3:
OnyXでメンテナンスを試みる。
OnyXとは、Macの老舗メンテナンスアプリです。
完全無料で使えるドネーションウェア(自由寄付制アプリ)です。
OnyXのダウンロードは公式サイトのTitanium Softwareからどうぞ
ダウンロードしたら、『システム環境設定>セキュリティーとプライバシー>プライバシー>フルディスクアクセス』にてOnyXにチェックを入れる必要があります。
OnyXのメンテナンス設定画面
↑この設定でメンテナンスを実行しました。
OnyXでのメンテナンス後、写真を撮り忘れてしまったようですがTime Machineでのバックアップは成功しました。
状況が緊迫していたからか、バックアップが始まるまでにいつもより長く時間が掛かったように思います。
ただし、バックアップが取れるようになったと言っても、元凶であるfsrootツリーのエラーが修正された訳ではないんですよコレ。
根本的な原因への対処法が見つからないので、『ストレージの再フォーマットからのOSクリーンインストール→バックアップからのデータ復元』という手段を取る以外ありませんでした。
無念じゃ。
■バックアップが取れたらOSの再インストール→データ復元
『Option + Command + R』でネットワーク起動(インターネットリカバリモード)します。
内蔵のmacOS復旧システムからの起動で良ければ『Command + R』で。
・macOS を再インストールする方法
フォーマット前に、ワンチャン狙いでファーストエイドしてみた。
ローカルディスク外からなら修正できるかも、と思って。
やっぱ無理でした。
怒涛のOS再インストール。
怒涛のバックアップデータ復元。
ふぅ〜、ようやくファーストエイドでも正常動作するようになりました。
もちろんタイムマシンでも問題なくバックアップできます。
スナップショットの生成を中断するために、バックアップ自動作成をひとまずオフにしました。
■もしタイムマシンでのバックアップが何度やっても失敗するなら、、、
まずは手動で重要なデータをバックアップした後、セーフモードで起動してタイムマシンでのバックアップが取れるかどうかを試してみましょう。
タイムマシンでのバックアップが成功しても失敗しても、問題の元凶を探るために、その後再び通常モードで再起動してファーストエイドを使ってみることをお勧めします。
私の場合と同様、スナップショット/fsrootツリーに関するエラーが出ているかもしれません。
記事内で書いた通り、パッと見では問題なくファーストエイドが終了してるように見えるので、騙されないよう気をつけください。
パッと見は問題ないですが、実はエラーが出てます
ファーストエイドはOnyXと同じくディスクのメンテナンスツールではありますが、良くも悪くも状況は何も変わりませんでした。
タイムマシンでのバックアップが失敗し続けているのに何の対策も取らない訳にはいかないと思いますので、他に打つ手が思いつかなければ、意を決してファーストエイドを使ってみることをお勧めします。バックアップが取れてなくても。(もちろんスーパー自己責任となります)
■原因は不明
という訳で一応問題は解決したのですが、こうなってしまった原因が不明なのが一番の懸念事項です。
今後続報あればまた追記します。