2009-12-24 17:00:39 +0000 2009-12-24 17:00:39 +0000
107
107

WindowsはUSBドライブを使っていることを教えてくれますか?

善良な市民である私は、タスクバーの「ハードウェアの安全な取り外し」アイコンを左クリックして、USBドライブを選択して取り外しました。

するとメッセージが表示されました。

Genericボリュームデバイスが使用中のため、WindowsはあなたのGenericボリュームデバイスを停止することができません。デバイスを使用している可能性のあるプログラムやウィンドウを閉じてから、後でもう一度試してみてください。

もちろん、オペレーティングシステムであるWindowsは、デバイスを使用しているアプリケーションを正確に把握しています。ではなぜ教えてくれないのでしょうか?

それとも私が知ることができる方法はありますか?

回答 (8)

119
119
119
2016-07-18 01:20:26 +0000

もっとシンプルな方法 。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をダウンロードして実行してください。ドライブのイジェクトができるようになり、できない場合はどのプロセスがロックされているかを表示してくれます。

60
60
60
2009-12-24 17:03:57 +0000

Sysinternals Process Explorer](http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)を使用して、開いているファイルのハンドルを見つけることができます。`Find`メニューを選択し、`Find Handle or DLL`を選択するだけです。開いたダイアログで、検索ボックスにドライブ文字を入力します。検索結果には、ドライブから開いているすべてのファイルと、それらを開いているプロセスが表示されるはずです。

6
6
6
2018-03-09 07:36:41 +0000

Windows Kernel-PnP uses Event ID 225 ](https://msdn.microsoft.com/en-us/library/windows/desktop/dd996929%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396) to log system (常にプロセスID 4を持つ) refusal to remove or eject the device USBをログに記録するためにwevtutil.exe(Windows 7以降)を使用して、 コマンドラインでWindowsログを問い合わせる を使用することもできます(#は16進数)。

wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
  • qe System : query events from System log
  • /q : query with XPath
  • EventID=225 means the system refused an ejection request
  • /c:5 : number of entries to retrieve (ここでは5)
  • /f:text : format (default is xml)
  • /rd:true : reverse order (new first)

私はバッチスクリプトで使っています。

6
6
6
2018-09-07 16:15:11 +0000

イベントログを照会して、どのアプリケーションがドライブのイジェクトをブロックしているかを表示するための簡単な PowerShell コマンドは以下の通りです(私は Windows 10 で動作します。Message_列には、イジェクトをブロックしたプロセスが表示されます。以下の私の例では、実際にはタスクマネージャーが原因で、タスクマネージャーを閉じた後にイジェクトすることができました。

Get-EventLog -LogName System -after (Get-Date).AddHours(-1) | Where-Object {$_.EventID -eq 225} | Sort-Object TimeGenerated | Format-Table -Wrap
5
5
5
2016-01-12 12:44:42 +0000

私の場合(Windows 7)。

  1. Windowsキー
  2. 2. “プログラムとファイルの検索:"にタイプしてください。diskmgmt.msc
  3. 検索リストでエントリを見つけて右クリック - select run as administrator
  4. ディスク管理 "を実行するために管理者の資格情報を入力します(必要な場合)
  5. ディスクリストからイジェクトされない問題のあるUSBドライブを探す。左側のパネルで右クリックして” Eject“を選択
  6. ハンドルが「閉じる」はずです - sys internals process explorer で常にダブルチェックできます

注意:"ハードウェアを安全に取り外し、メディアを取り出す”_ タスクバーアイコンに usb ドライブが表示されなくなりました - 3 つのドットだけ

1.ドライブを物理的に取り外します。

3
3
3
2016-12-21 17:48:21 +0000

resmon.exeを起動して(WIN+Rで)、disk > Disk Activity ¶> Sort by File これで、システムがアクセスしている全てのファイルと、どのプロセスがアクセスしているかを、ファイルパス(ドライブレターで始まる)の順に見ることができます。全てのケースに対応できるわけではありませんが、簡単な方法です。

コンピュータを再起動すると、デバイスの使用量が「解放」されるようです。また、より速く削除するためには、デバイスのハードウェアセクションのwindowsのキャッシュを無効にすることができます。

2
2
2
2016-12-03 20:50:45 +0000

マイコンピュータ」を開いても「リムーバブルストレージ」ヘッダーの下にドライブが表示されていない場合は、Windowsが何らかの理由で固定システムリソースとして表示していることになります。ドライブ上のパーティションをアンマウントする必要があります。

このような場合は、「コンピュータの管理」を開き、「ディスクの管理」に進みます。デバイス上の各パーティションについて、パーティションを右クリックし、"Change Drive Letters and Paths “を選択し、そのパーティションに割り当てられているドライブレターを削除します。そうすれば、"安全にイジェクト "機能が期待通りに動作することが分かるはずです。

0
0
0
2018-03-26 07:53:55 +0000

Windowsが使用中であると報告したUSBを持っていました…ここにいる他の人と同じです。

Windows 10ではCtrl+Alt+Delでタスクマネージャーに移動。

スクロールして探す - Windowsエクスプローラ。

右下には「プロセスの再起動」という親切なボタンがある

「Windows Explorer」が唯一ハイライトされていることを二重三重に確認してください。

「プロセスの再起動」というフレンドリーなボタンをマウスで左クリック。

私はエクスプローラーが1つしかありませんでしたが、他の人は2つ持っていることもあります。他の人は2つのエクスプローラーを持っていることもあります。USBを閉じたり取り出したりしてみてください。私の場合は問題なく動作しましたが、USBを閉じてみてください。

USBを閉じても出てこない場合は、他のエクスプローラーに原因があるかもしれません。もう一度試してみて、そちらを再設定してみてください。幸運を祈ります。