
【2021年 exFATを改めて検証】 その3「Macのファイルシステムチェック挙動はややこしい」
こんにちは。RapidCopyプログラマのサワツです。
前回の記事でexFATの速攻破損はとりあえず無くなってそうということがわかりました。
OSごとのファイルシステムチェック(fsck)挙動について
exFATとは厳密には関係ない話ですが、いざという時に慌てやすいので解説しておきます。
弊社ではMacに外付けディスクを読み込むときのよくある相談として
「お客さんが持ってきたHDD/SSD/USBメモリをMacに繋いだけど、デスクトップにアイコンが出てこない!壊れちゃってるか見てくれる?」
があります。

すぐにアイコンがでてこない原因は
「ディスクを外す際に不適切なアンマウントを行なった*1」せいです。
*1:ほとんどの場合は以下のどっちかです
・アンマウントせずにいきなり電源を切った(ケーブルを抜いた)
・アンマウント成功を見たあと、アクセスランプが明滅してるのに抜いた
(デスクトップアイコンはいなくなったのにデバイスが裏でこっそりデータを書いてた)
なぜディスクが見えなくなるのか?
それは
「MacOSでは最後に正常にアンマウントされていないディスクはチェックが完了するまで絶対マウントさせない」という仕組みがあるからです。
どうしたらいいの?
「チェックが終わるまで待つしかありません、、我慢して待ちましょう」
「待てばちゃんとマウントされるのかどうかわからない場合」はアクティビティモニタで「表示ー>すべてのプロセスを表示」してfsck_xxx(xxxはファイルシステム名)コマンドが実行されているかどうかで待つだけの価値があるか判断することができます。(写真はHFS+の例です)

数10TBを超える大容量HDDに非常に沢山のデータが保存されている場合、fsckのチェック待ちで作業が「数時間」ストップすることもあります。
macOSは接続されたストレージの「ファイルシステム」に応じて各チェックプロセスが自動実行されます。
なかなかマウントしない場合はアクティビティモニタを確認してみましょう。
・FATファイルシステムの場合、fsck_msdos
・exFATファイルシステムの場合、fsck_exfat
・HFSファイルシステムの場合、fsck_hfs
・APFSファイルシステムの場合、fsck_apfs
fsckの自動チェック&修復が終わると自動的にデスクトップにHDDがマウントします。
不適切なアンマウントを絶対に回避するには?
弊社でオフライン業務で使用しているSASストレージをMacから外す場合、必ず電源をOFFにしてからにしています。
重要なデータが入っているストレージを外す場合は
「PCをシャットダウンしてから外す」ことをオススメします。
アンマウント処理の途中でストレージを抜いてしまった場合の破損を防ぐことができます。
余談:Windowsの場合はどうなるのか?
windowsでは最後のアンマウントが正常でなくてもとりあえずマウントして表示してしまいます。
ファイルシステム破損を知らせる通知が出てきます。

「書き込まれたファイルが壊れてないかどうかは、よくわかりません」
ダイアログに従って修復をかけるか、chkdskコマンドなりをかけてからコピーを始めた方が無難です。

ダイアログを見逃してしまった場合はHDDの「プロパティ」から「チェック」を実行することで修復が可能です。
