症状: - 停電やケーブルの突然の抜け(不正取り外し)の後、Macを起動・再起動しても外付けストレージ(HDD/SSD)が自動的にマウント(認識)されなくなる。
現象詳細:- ディスクユーティリティにはドライブ名が表示されるが、グレーアウトしたまま「マウントされていません」となる。
- 手動でマウントしようとしてもエラー(SUIS premount dissented や failed to unmount など)が出て拒否される。
- 一方で、ターミナルの低レベルコマンド(mount_apfs や mount_hfs)を使うと正常にマウントでき、内部データも完全に無傷である。
原因:(なぜ起きるのか?)
1. macOSの過剰なデータ保護機能(DiskArbitration / StorageKit)
macOSはデータの破損を防ぐため、予期せぬ電源断を検知するとシステム内部(diskarbitrationd や storagekitd)に「このドライブは安全に取り外されなかった(Dirty Flag / 不正終了状態)」という安全拒否フラグを保持します。
2.
「MacBook(バッテリー駆動)+ 外付けAC電源ストレージ」の非対称性- Mac本体はバッテリーで動作し続けているため、OSは「通信中に突然ドライブが応答を絶った」と認識します。
- これにより、OSは「データ保護のための拒否ロック」をより強力にキャッシュとして固定してしまい、以降の起動時にも自動マウントをブロックし続けます。
対策と解決手順:1. 応急処置・暫定回避策(手動マウントの自動化)OSの上層(Finder)がマウントをブロックしているため、カーネルレベルで直接マウント命令を出すシェルスクリプトを作成します。
【手順】[1] テキストエディタで以下のスクリプトを作成し、mount_all.command として保存します。
--------
#!/bin/bash
sudo mkdir -p /Volumes/Drive1
sudo mkdir -p /Volumes/Drive2
# ドライブ名からdiskIDを自動取得してマウント
ID1=$(diskutil list | grep "ドライブ名1" | awk '{print $NF}')
ID2=$(diskutil list | grep "ドライブ名2" | awk '{print $NF}')
[ -n "$ID1" ] && sudo mount_apfs /dev/$ID1 /Volumes/Drive1
[ -n "$ID2" ] && sudo mount_hfs /dev/$ID2 /Volumes/Drive2
--------
[2] ターミナルで実行権限を付与します。
--------
chmod +x ~/Desktop/mount_all.command
--------
[3] 以降は、起動時にこのファイルをダブルクリック(またはログイン項目に登録)することで、1秒で確実にマウントできます。
2. OS側キャッシュと不揃いフラグのリセット(修復コマンド)ターミナルでファイルシステムの強制チェックとマウント管理キャッシュの消去を行います。
--------
# 1. 各ドライブの強制チェック(フォーマットに合わせて実行)
sudo fsck_apfs -y -f /dev/diskXsY # APFSの場合
sudo fsck_hfs -fy /dev/diskXsY # HFS+の場合
# 2. マウント拒否キャッシュの消去と管理サービスの初期化
sudo rm -f /etc/fstab /var/db/diskarbitrationd.cache
sudo automount -vc
sudo killall -9 diskarbitrationd storagekitd Finder
--------
3. 根本予防策(UPS / 無停電電源装置の導入)MacBook+外付けドッキングステーション/AC電源型HDDの環境では、タップ型UPS(例: CyberPower ST425JP や APC BE425M-JP 等)の導入が最も有効な根本対策となります。
- ドッキングステーションや外付けHDDの電源をUPSの「停電バックアップ側コンセント」に接続しておきます。
- 停電時やブレーカー落ちの際も給電が維持されるため、不正取り外しによるOSの拒否ロック発動を100%防ぐことができます。
【補足として】
Q. Techtool Pro などのサードパーティ製ディスク修復ソフトで直らないのはなぜ?A. そもそも、ドライブ側の問題ではありません。問題が「ドライブ」ではなく「macOSのシステム内部」にあるためです。 Techtool Pro 等のツールはドライブの物理構造やファイルシステムを診断・修復します。このケースではドライブ自体はすでに正常であり、
macOSのセキュリティデーモン(diskarbitrationd)が内部キャッシュにマウント拒否フラグを保持し続けていることが原因です。
サードパーティ製アプリはOSカーネルレベルの保護キャッシュを直接リセットする権限を持たないため、サードパーティツールでの解決は不可能です。ターミナルでのキャッシュクリア(rm / killall)または低レベルマウントコマンドが必要となります。