ESETで外付けSSDがマウントできない—デバイスコントロールを切り分ける


ESETで外付けSSDがマウントできない—デバイスコントロールを切り分ける

Mac上で動かしているHermes Agentが、突然プロジェクトフォルダを読めなくなった。表示されたのは`Operation not permitted`。さらにOSを再起動すると、作業用SSDだけでなくTime Machine用ドライブも自動マウントされなくなった。

当初はmacOSのプライバシー制御やファイルシステム障害も疑ったが、実際の主因はESET Cyber Security 9のデバイスコントロールだった。全リムーバブルデバイスをブロックするルールが、信頼して使っていた外付けドライブにも適用されていた。

この記事では、セキュリティ機能を丸ごと無効にせず、どの層で拒否されているかを切り分け、必要なドライブだけを許可した手順を整理する。実在するシリアル番号、ユーザー名、内部パスは公開用に省略している。

起きた症状

最初に見えた症状は、AIエージェントからプロジェクト配下へアクセスできないことだった。ホームディレクトリ側のパスは存在していたが、実体は外付けSSD上のフォルダを指すシンボリックリンクだった。

確認すると次の状態だった。

  • 外付けSSD上のファイル列挙が`Operation not permitted`になる
  • `.env`やPython仮想環境の設定ファイルを読めない
  • OS再起動後、作業用SSDとTime Machine用ドライブが未マウントになる
  • `diskutil`では物理ディスクとAPFSボリュームを認識している
  • APFSの検査は正常で、読み取り専用や暗号化ロックが原因ではないドライブもある

重要なのは、`Operation not permitted`だけで原因を決めないことだ。同じ文言でも、ESET、macOSのTCC、実行サンドボックス、ボリュームの暗号化など複数の原因があり得る。

ESETのログと実機情報を突き合わせる

決め手になったのは、ESETのデバイスコントロールログだった。アクセスを再現した時刻に「ディスクストレージ/ブロック」が連続して記録されていた。

次に、ESETログのベンダー・モデル・シリアル番号と、macOSが認識している物理ディスク情報を照合した。これにより、一般的なマルウェア検出ではなく、外付けSSDそのものがデバイス制御ルールで拒否されていると確認できた。

ESETのルール一覧には、すべてのユーザーを対象に、すべてのリムーバブルデバイスをブロックするルールがあった。ESETの公式ヘルプでは、デバイスコントロールのルールは上にあるものほど優先度が高い。個別の許可ルールが全体ブロックより下にあると、条件が正しくても先にブロックされる。

再起動後にマウントできなかった流れ

システムログを時系列で確認すると、次の流れだった。

1. OS再起動時に、接続中の外付けドライブが正常にアンマウントされた。
2. ログイン後、ESETのデバイス制御サービスが起動した。
3. 全リムーバブルデバイスをブロックするルールが読み込まれた。
4. macOSが外付けドライブの自動マウントを試みた。
5. 作業用SSDとTime Machine用ドライブが同じ系統のエラーで失敗した。

ディスクユーティリティのFirst Aidは正常で、`/etc/fstab`による自動マウント禁止もなかった。ドライブ故障ではなく、再起動後にESETルールが有効な状態で自動マウントが走ったことが原因だった。

全体ブロックを残し、信頼するドライブだけ許可する

解決のために全体ブロックを無効化すると、未登録のUSBメモリまで利用できるようになる。そこで、全体ブロックは残し、日常的に使うドライブだけを許可した。

ESETの「設定 → 保護 → デバイスコントロール → ルール」で、ドライブごとに次の条件を設定する。

  • アクション:デバイスへの無制限アクセスを許可
  • 種類:ディスクストレージ
  • 条件:ベンダー、モデル、シリアル番号
  • ユーザー:実際に利用するmacOSユーザー
  • ログ:少なくとも警告とエラーを残す

ベンダー名やモデル名を手入力すると、ボリューム名と機器メーカー名を取り違えやすい。接続中の機器を一覧する「入力」またはPopulate機能から選ぶ方が安全だった。

作成した許可ルールは、全リムーバブルデバイスのブロックルールより上へ移動する。保存後にドライブを抜き差しし、必要ならディスクユーティリティまたは`diskutil mount`でマウントする。

“`bash
diskutil list external physical
diskutil apfs list
diskutil info diskXsY
diskutil mount diskXsY
“`

`diskXsY`は再起動や再接続で変わることがある。以前の番号を固定で使わず、毎回対象のボリューム名と容量を確認する。

Time MachineはmacOS側の許可も別に必要

ESETで個別許可した後、作業用SSDはHermes Agentから読めるようになった。一方、Time Machine用ドライブはマウント済みでも、特定のPythonプロセスからは`Operation not permitted`が続いた。

この段階の拒否元はESETではなくmacOSのフルディスクアクセスだった。Appleの案内でも、フルディスクアクセスはTime Machineバックアップを含むファイルへのアクセスを管理すると説明されている。

つまり、次の二つは別の制御である。

  • ESET:外付けデバイス自体を接続・利用できるか
  • macOS:特定のアプリやプロセスが保護領域を読めるか

ESETで許可しただけで、AIエージェントにTime Machineバックアップ全体を読ませる必要はない。用途を確認し、必要な実行ファイルだけにフルディスクアクセスを付与する。バックアップ領域は原則として読み取り用途に限定する。

パスワードを求めるSanDiskは別の問題だった

同日に接続した別のSanDisk SSDは、ESETのブロックとは別に、APFS暗号化されたボリュームがロックされていた。約半分の容量に既存データがあり、パスワードを忘れた状態でアクセスするには初期化が必要だった。

データ消去を了承したうえで、ESETにSanDiskの個別許可ルールを追加し、ディスクユーティリティで物理ディスクを選んで再初期化した。

1. 「表示 → すべてのデバイスを表示」を選ぶ。
2. ボリュームやAPFSコンテナではなく、最上位の物理ディスクを選ぶ。
3. 「消去」を選ぶ。
4. フォーマットをAPFS、方式をGUIDパーティションマップにする。
5. 暗号化が不要なら「APFS(暗号化)」を選ばない。

初期化後は暗号化なしのAPFSとして自動マウントされ、容量とマウント先を確認できた。消去は復元困難な操作なので、対象のメーカー、容量、シリアル番号を直前に照合し、必要なデータが残っていないことを確認する。

切り分けは四つの層で考える

今回の経験から、外付けディスク障害は次の順で分けると早い。

1. ESETデバイスコントロール:物理デバイス単位の許可・ブロック
2. macOSプライバシー制御:アプリやプロセス単位のFiles & Folders/フルディスクアクセス
3. APFS暗号化:ボリュームのロックとパスワード
4. ファイルシステム:First Aidで確認する論理障害や物理障害

ある層を直した後に別のエラーが見えることもある。作業用SSDが復旧してもTime Machineだけ読めない場合、同じ原因が残ったと決めつけず、次の層へ進む。

再発防止チェックリスト

  • [ ] `Operation not permitted`だけでESETと断定しない
  • [ ] ESETログの時刻とアクセス再現時刻を照合する
  • [ ] ベンダー、モデル、シリアル番号で対象を特定する
  • [ ] 全体ブロックを残し、信頼する機器だけ許可する
  • [ ] 個別許可ルールを全体ブロックより上に置く
  • [ ] 再接続後に読み取りと最小限の書き込みを確認する
  • [ ] Time MachineはmacOSのフルディスクアクセスも確認する
  • [ ] 暗号化とデバイスブロックを混同しない
  • [ ] 初期化前に物理ディスク、容量、データ消失を再確認する

セキュリティ製品を止めれば一時的に動くかもしれない。しかし、原因を記録し、信頼する機器だけを例外化した方が、AIエージェントと外付けストレージを安全に共存させられる。

公式一次情報

  • [ESET Cyber Security 9—Device Control](https://help.eset.com/ecs_mac/9/en-US/device_control.html)
  • [ESET Cyber Security 9—What’s new in version 9](https://help.eset.com/ecs_mac/9/en-US/whats_new.html)
  • [Apple—Change Privacy & Security settings on Mac](https://support.apple.com/guide/mac-help/change-privacy-security-settings-on-mac-mchl211c911f/26/mac/26)
  • [Apple—Repair a storage device in Disk Utility on Mac](https://support.apple.com/guide/disk-utility/repair-a-storage-device-dskutl1040/mac)
  • [Apple—Erase and reformat a storage device in Disk Utility on Mac](https://support.apple.com/guide/disk-utility/erase-and-reformat-a-storage-device-dskutl14079/mac)

Back to top