もっとシンプルな方法 。Windows (少なくとも10では、AFAIK) は、リムーバブルドライブをイジェクトしようとしたときに、プロセスがロックしているためにイジェクトできない場合に、イベントログにエントリを作成します。2つのイベントID 225には、プロセスIDとロックの原因となったプロセスの名前が表示されます。
ステップバイステップ:
1) イベントビューアを起動
2) “Windows Logs "を開き、"System "を開く
3) "System "を右クリックし、"Filter Current Log "を選択する
4) 表示されるダイアログで、"All Event IDs "と書かれた "225 "と入力します(引用符なし)
5) すると、プロセスがドライブをロックしたためにイジェクトできなかったことに関連するすべてのイベントが表示されます。
6) これらすべてのエントリのタイムスタンプを見て、ドライブをイジェクトしようとした実際の時間に関連するものを見つけてください。
7) 適切な対処をしてください。潔くタスクを終了させる(ロックがかかっているプログラムを終了させる)ことで、ほとんどの場合は問題ありません。Windowsの検索サービスを停止しても問題ありません。ウィルス対策スキャンを停止しても問題ないはずです(その時点でウィルスに感染していないと思われるのであれば)。タスクマネージャに入ってプロセスを終了させてもダメかもしれません。対処法はこの質問の範囲を超えています。
8) (ビューを保存… ) アクションパネル(右枠内)で「カスタムビューにフィルタを保存…」ができるので、「カスタムビュー」(「Windowsログ」の上の左枠内)
プロセスID:
プロセス名:
8) **プロセス名を持つ別のエントリがない場合は、システムプロセス(プロセスID 4)がドライブを保持しています。これを回避するには、ディスク管理に行ってイジェクトしたいドライブをオフラインにするを選択する必要があります。ファイルがブートドライブにある場合は、オフラインにすることはできません。この場合は下の注意書きを参照してください。
UPDATE 2018 . WhatsApp Desktopがシステムプロセス経由でChrome Canaryにハンドルを保持している](https://bugs.chromium.org/p/chromium/issues/detail?id=842578)などのアプリケーションを見たことがあります。ブートディスクを取り出すことができないので(使用中のため)、解決策としては、[ Handle ](https://docs.microsoft.com/en-us/sysinternals/)というもう一つの便利な Sysinternals ユーティリティを使用することでした。ロックされたファイルを持つプログラムを閉じた後、ハンドルを起動して(例として)handle64 "Chrome SxS\Application\chrome.exe"
を実行し、PID 4ロックされたファイルにハンドルがまだ存在するかどうかを確認します。試行錯誤しながら、ロックされたファイルにハンドルがなくなるまで、実行中の各プログラムを閉じてください。
ベストな方法(有料)
SafelyRemoveをダウンロードして実行してください。ドライブのイジェクトができるようになり、できない場合はどのプロセスがロックされているかを表示してくれます。