私は善良な市民である, 私はタスクバーの “ハードウェアを安全に削除する “アイコンを左クリックして, と私のUSBドライブを選択してマウントを解除する
そして、メッセージを受け取る
Genericボリュームデバイスは使用中のため、Windowsでは停止できません。デバイスを使用している可能性のあるプログラムやウィンドウを閉じてから、後でもう一度試してみてください
もちろん、オペレーティングシステムであることは、どのアプリケーションが私のデバイスを使用しているかを正確に知っています。では、なぜ教えてくれないのか?
それとも私が調べる方法があるのでしょうか?
114 PP. 2009-12-24
Sysinternals Process Explorer を使用して、開いているファイルのハンドルを見つけることができます。Find
メニューを選択し、Find Handle or DLL
を選択するだけです。開いたダイアログで、検索ボックスにドライブ文字を入力します。検索結果には、ドライブから開いているファイルとそのファイルを開いているプロセスがすべて表示されるはずです
67 heavyd 2009-12-24
より簡単な方法です。Windows (少なくとも 10、AFAIK) は、リムーバブル ドライブをイジェクトしようとしたときに、プロセスがロックしているためにイジェクトできない場合、イベント ログにエントリを作成します。2つのイベントID 225は、プロセスIDとロックの原因となったプロセスの名前を表示します
一歩一歩
2) “Windowsログ “を開き、”システム “を開きます
3) “システム “を右クリックして、”現在のログをフィルタリング “を選択します
4) 表示されたダイアログで、”All Event IDs “と書かれているところに “225 “と入力します(引用符なし)
5) プロセスがドライブをロックしたためにイジェクトできなかったことに関連するすべてのイベントが表示されます
6) これらすべてのエントリのタイムスタンプを見て、ドライブをイジェクトしようとした実際の時間に関連するものを見つけます
7) 適切な対処をする。潔くタスクを終了させる(ロックがかかっているプログラムを終了させる)のは大抵の場合OKです。Windowsの検索サービスを停止しても問題ありません。ウィルス対策スキャンを停止しても問題ありません (その時点でウィルスの疑いがなければ)。タスクマネージャに入ってプロセスを終了させてもダメかもしれません。対処法はこの質問の範囲を超えています
8) (ビューを保存…) アクションパネル(右の枠内)で「カスタムビューにフィルタを保存…」ができるので、「カスタムビュー」(左の枠内、「Windowsログ」の上)にあります
8) プロセス名を持つ別のエントリがない場合、システムプロセス(プロセスID 4)がドライブを保持しています。これを回避するには、ディスク管理に行き、イジェクトしたいドライブをオフラインにするファイルがブートドライブにある場合は、オフラインにすることはできません。この場合は、以下の注意事項を参照してください
UPDATE 2018です。私は、WhatsApp Desktopがシステムプロセスを介してChrome Canaryにハンドルを保持するようなアプリケーションを見てきました。ブートディスクを取り出すことができないので(使用中のため)、Sysinternals ユーティリティを使用することで解決しました。ロックされたファイルを持つプログラムを閉じた後、ハンドルを起動して(例として)handle64 "Chrome SxS\Application\chrome.exe"
を実行し、PID 4 ロックされたファイルにハンドルがまだ存在するかどうかを確認します。試行錯誤しながら、ロックされたファイルにハンドルがなくなるまで、実行中の各プログラムを閉じてください
ベストメソッド(有料
SafelyRemoveをダウンロードして実行してください。これはドライブの取り出しを助け、それができない場合は、どのプロセスがロックされているかを表示します
133 Gaia 2016-07-18
また、コマンドラインを使ってWindowsのログを問い合わせることもできます。htm” rel=”noreferrer”>Windows Kernel-PnP uses Event ID 225 で、システム (常にプロセス ID 4 を持っている) がデバイス USB を削除またはイジェクトすることを拒否したことをログに記録しています (ここで # は 16 進数を表します)
wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
- qe System : システムログからイベントを問い合わせます
- /q : XPathを用いたクエリ
EventID=225
は、システムが排出要求を拒否したことを意味します- /c:5 : 取得するエントリ数 (ここでは5)
- /f:text : フォーマット (デフォルトは xml)
- /rd:true : 逆順(新しい順)
バッチスクリプトで使っています
11 Tchonialite 2018-03-09
イベントログを照会し、どのアプリケーションがドライブの排出をブロックしているかを表示するための簡単な PowerShell コマンドは以下の通りです (Windows 10 で動作しますが、おそらく 7/8 でも動作します)
Get-EventLog -LogName System -after (Get-Date).AddHours(-1) | Where-Object {$_.EventID -eq 225} | Sort-Object TimeGenerated | Format-Table -Wrap
出力は、システムがディスクドライブをイジェクトできなかった過去1時間のすべてのインスタンスをリストアップします。メッセージ欄には、イジェクトをブロックしたプロセスが表示されます。以下の私の例では、実際にはタスクマネージャーが犯人で、タスクマネージャーを閉じた後にイジェクトすることができました
PS C:\Users\Jonathan> Get-EventLog -LogName System -after (Get-Date).AddHours(-1) | \Where-Object {$_.EventID -eq 225} | Sort-Object TimeGenerated | Format-Table -Wrap
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
14692 Sep 07 10:50 Warning Microsoft-Windows-Ke 225 The application \Device\HarddiskVolume4\Windows\System32\Taskmgr.exe with process id 11972 stopped
rnel-PnP the removal or ejection for the device USB\VID_0781&PID_5575\200445301013C111B1A0.
14693 Sep 07 10:50 Warning Microsoft-Windows-Ke 225 The application \Device\HarddiskVolume4\Windows\System32\Taskmgr.exe with process id 11972 stopped
rnel-PnP the removal or ejection for the device USB\VID_0781&PID_5575\200445301013C111B1A0.
8 Jon 2018-09-07
私(Windows7)の場合
- Windowsキーを押す
- プログラムとファイルの検索: タイプ: diskmgmt.msc」の中で
- 検索リストでエントリを見つけて右クリックし、管理者として実行を選択します
- ディスク管理」を実行するための管理者資格情報を入力します(必要に応じて)
- ディスクリストでイジェクトされない問題のあるUSBドライブを検索します
- 左手パネルで右クリックして “Eject “を選択
- “should” close を処理します – sys internals process explorer で常にダブルチェックできます
注: “ハードウェアを安全に削除し、メディアを取り出す “タスクバーアイコンは、もはやUSBドライブを表示しません – ちょうど3つのドット
- ドライブを物理的に取り外します
5 blakev 2016-01-12
resmon.exeを起動して(WIN+Rで)、disk > Disk Activity > Sort by File これで、システムがアクセスしているすべてのファイルと、どのプロセスがアクセスしているかを、ファイルパス(ドライブレターで始まる)の順に表示することができます。すべてのケースに対応できるわけではありませんが、簡単な方法です
コンピュータを再起動すると、デバイスの使用量が「解放」されるようです。また、より速く削除するためには、デバイスのハードウェアセクションでWindowsのキャッシュを無効にすることができます。時々Windowsは、外部ディスクにキャッシュをフラッシュするために予想以上に時間がかかり、デバイスが使用中であることを示すメッセージが表示されます(なぜなら、それはWindows自体によってそうなるからです)
4 Felype 2016-12-21
マイコンピュータ」を開いても「リムーバブルストレージ」ヘッダーの下にドライブが表示されていない場合は、Windowsが何らかの理由で固定システムリソースとして表示していることになります。ドライブ上のパーティションをアンマウントする必要があります
その場合は、「コンピュータの管理」を開き、「ディスクの管理」に進みます。デバイス上の各パーティションを右クリックし、”Change Drive Letters and Paths “を選択し、そのパーティションに割り当てられているドライブレターを削除します。そうすれば、”安全にイジェクト “機能が期待通りに動作することが分かるはずです
2 user1575326 2016-12-03
windowsが使用中であることを報告したUSBを持っていた…ここにいる他の人と同じです
Windows 10では、Ctrl+Alt+Delでタスクマネージャーに移動します
スクロールして探す – Windowsエクスプローラ
右下のボタンは「プロセスの再起動」と呼ばれる親切なボタンです
Windows Explorer」だけがハイライトされていることを二重三重に確認してください
マウスを左クリックしてフレンドリーなボタン “プロセスの再起動”
エクスプローラーは1台だけだが、他の人は2台持っていることもある。どちらが復帰したかをメモしておきましょう。USBを閉じたり取り出したりしてみてください。私のはうまくいきました、USBを閉じてください
あなたのが出たり閉じたりしない場合は、他のエクスプローラーに原因があるかもしれません。もう一度試してみてください。幸運を祈ります
0 John Henson 2018-03-26
windows10を使って試してみました
リソースマネージャーを開くには、スタートの「ここに入力して検索」で検索するか、タスクマネージャーを経由して(タスクバーを右クリックしてからタスクマネージャーをクリックして開きます)
リソースマネージャの下では、イメージという名前の列はプロセス名を表示するために使用され、ファイルという名前の列はプロセスがあなたのドライブを使用しているかどうかをチェックするために使用することができます。例えば、ファイルのアドレスはF:/foo/bar.tmp
になり、あなたの添付のUSBがドライブ文字F:を持っている場合は、このプロセスを終了することができます
プロセスを kill するには、CMD またはコマンドプロンプト taskkill /F /PID pid_number
と入力します
0 Imran Faruqi 2020-07-14