WindowsはUSBドライブを使用しているものを教えてくれますか?


100

私は善良な市民であるため、タスクバーの[ハードウェアの安全な取り外し]アイコンを左クリックし、マウント解除するUSB​​ドライブを選択します。

次に、メッセージが表示されます。

Windowsは、使用中のGenericボリュームデバイスを停止できません。デバイスを使用している可能性のあるプログラムまたはウィンドウをすべて閉じてから、後で再試行してください。

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

または、私が見つけることができる方法はありますか?


1
私はVistaで何度もそれを理解することができず、再起動/シャットダウンするまでUSBを「リリース」しませんでした。Win7にアップグレードし、その問題は発生していなかったので、少なくとも私のPCでは、システムドライバーの問題だと考えました。
BBlake 09

回答:


57

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


4
問題のあるプロセスを強制終了しても、WindowsはUSBドライブを解放しません。図を移動します....
Grantly

2
エクスプローラーでドライブを探索しただけです。次に、cmd.exeシェルから、そのドライブでバックアップスクリプトを実行し、終了しました。cmd.exeウィンドウを閉じました。TaskmgrでExplorer.exeを強制終了して再起動しました。それでも、ドライブは使用中であり、排出されません。
カズ

3
Process Explorerはを何も検出しませんM:
カズ

2
Process Explorerに何も表示されない場合は、NirsoftのOpenedFilesViewソフトウェアを使用できます。どのプログラムがドライブを使用しているかはわかりません(または、Process Explorerでも見つかりました)が、ハンドル、使用されたファイルが表示され、それらを閉じる可能性があります(リスクを感じる場合)
LeFauve

4
Windowsエクスプローラー自体がドライブをロックすることがあります。Windows 10のタスクマネージャーでWindowsエクスプローラーを再起動できます(検索するには、下にスクロールします)。古いバージョンのWindowsでは、explorer.exeを終了し、[ファイル]メニューからexplorer.exeを明示的に実行する必要があります。
クリストファー人質

113

より簡単な方法:Windows(少なくとも10、AFAIK)は、リムーバブルドライブをイジェクトしようとするとイベントログにエントリを作成しますが、プロセスがロックされているためにできません。2つのイベントID 225には、プロセスIDとロックを担当するプロセスの名前が表示されます。

ステップバイステップ:

1)イベントビューアーを開始する

2)「Windowsログ」、「システム」の順に開きます

3)[システム]を右クリックし、[現在のログをフィルター]を選択します

4)表示されるダイアログで、「すべてのイベントID」と表示されている「225」(引用符なし)を入力します

5)その後、プロセスがドライブをロックしたためにイジェクトでき​​ないことに関連するすべてのイベントが表示されます。

6)これらすべてのエントリのタイムスタンプを見て、ドライブを取り出しようとしたときの実際の時間に関連するエントリを見つけます。

7)適切なアクションを実行します。ほとんどの場合、タスクを正常に終了する(ロックされているプログラムを閉じる)のは問題ありません。Windows Searchサービスを停止することも可能です。ウイルス対策スキャンの停止は問題ないはずです(その時点でウイルスに感染している疑いがない場合)。タスクマネージャに移動してプロセスを強制終了することは問題になる場合があります。これに対処する方法は、この質問の範囲外です。

8)(ビューを保存...)[アクション]パネル(右フレーム)で[カスタムビューにフィルターを保存...]を選択すると、[カスタムビュー](左フレームの[ Windowsログ」)

プロセスID: イベントビューアーエントリ

プロセス名: イベントビューアーエントリ

8)プロセス名を持つ別のエントリがない場合、システムプロセス(プロセスID 4)がドライブを保持しています。これを回避するには、ディスク管理に移動して、取り出したいドライブをオフラインにする必要があります。ファイルがブートドライブにある場合、オフラインにすることはできません。この場合、以下の注を参照してください。

アップデート2018システムプロセスを介してChrome Canaryのハンドルを保持するWhatsApp Desktopなどのアプリケーションを見てきました。(使用中のため)ブートディスクを取り出すことができないため、解決策はHandleと呼ばれる別の気の利いたSysinternalsユーティリティを使用することでした。ロックされたファイルを持つプログラムを閉じた後、ハンドルを起動して実行し(例として)、ハンドルがPID 4ロックを持つファイルにまだ存在するかどうかを確認します。試行錯誤を経て、ロックされたファイルにハンドルがなくなるまで、実行中の各プログラムを閉じます。handle64 "Chrome SxS\Application\chrome.exe"

最良の方法(有料)

SafelyRemoveをダウンロードして実行します。ドライブを取り出すのに役立ち、実行できない場合は、どのプロセスがロックされているかを表示します。

ここに画像の説明を入力してください


1
225番について教えてください。どうやって手に入れたの?
Ajeeb.KP

3
The application System with process id 4 stopped the removal or ejection for the device ...まあ...私は無効にDistributed Link Tracking Clientしてみて、それが役立つかどうかを確認します。
Tithen-Firion

17
Windows 10タスクマネージャーも削除を防ぐことができます!誰が新しい。
アレックスチェ

3
win7でもうまく機能します。おそらくwin8でも正常に動作します。この方法をありがとう。問題は腹立たしいことがあります。
18

2
役に立つヒント。ありがとう。このフィルタービューにすばやくアクセスできるように、カスタムビュー「ロックされたデバイス」を保存しました。
スティーブクレーン

6

また、コマンドラインを使用して、Windows Kernel-PnPがイベントID 225を使用してシステムをログに記録する(常にプロセスID 4を持つ)ことを削除して、wevtutil.exe(Windows 7以降)でWindowsログを照会することもできますデバイスUSB \ VID _ ####&PID _ ############(#は16進数を表します)。

wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
  • qeシステム:システムログからのイベントのクエリ
  • / q:XPathを使用したクエリ
  • EventID=225 システムが取り出し要求を拒否したことを意味します
  • / c:5:取得するエントリの数(ここでは5)
  • / f:text:format(デフォルトはxml)
  • / rd:true:逆順(新しい順)

バッチスクリプトで使用します。


5

私(Windows 7)の場合。

  1. ヒットのWindowsキーを
  2. 「プログラムとファイルの検索:タイプ:diskmgmt.msc
  3. 検索リストでエントリを見つけて右クリック- 管理者として実行を選択
  4. 管理者の資格情報を入力して「ディスクの管理」を実行します(必要な場合)
  5. ディスクリストからイジェクトされない問題のUSBドライブを見つける
  6. 左側のパネルで、右クリックして「取り出し」を選択します
  7. "should" closeを処理します-sys internalsプロセスエクスプローラーでいつでもダブルチェックできます

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

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

4
Windows 7のディスクの管理には、左側のパネルや取り出しコマンドはありません。(ヘルプ/バージョン情報によると、バージョン1.00)。縮小、削除、アクティブとしてマーク、フォーマット、...イジェクトはできません。
カズ

1
Ejectも見つかりませんでしたが、Offlineオプションがジョブを実行しました。また、ストレージデバイスを再接続するときは、再度オンラインに設定することを忘れないでください。
アドリアーノP

2
最近、「オフライン」を使用して、おそらく「安全な取り外し」が機能した後、おそらくシステム(Win 10)で使用された外付けUSB-SSDディスクを停止しました。しばらくして、そのディスクを再接続し、「RAW」パーティションのあるディスクを取得しました。chkdsk /f f:ファイルシステムの実行により何らかの形で再設計されましたが、すべてが「found.000」に上陸しました。だから...その方法は本当に安全ではないようです。幸いなことに、私はそのディスク上に本当に重要なものを持っていませんでした...
Xtra Coder

5

次に、イベントログをクエリし、ドライブの取り出しをブロックしているアプリケーションを表示する簡単な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.

3

resmon.exeを(WIN + Rを介して)起動し、ディスク>ディスクアクティビティ>ファイルで並べ替えにアクセスできます。システムがアクセスしているすべてのファイルと、ファイルにアクセスしているプロセスを、ファイルパス(btwドライブ文字付き)。すべてのケースで機能するとは限りませんが、簡単なアプローチです。

コンピュータを再起動すると、デバイスの使用が「解放」されたように見えます。また、より高速に削除するために、デバイスのハードウェアセクションでウィンドウキャッシュを無効にすることができます。ウィンドウがキャッシュを外部ディスクにフラッシュするのに予想以上に時間がかかり、デバイスが使用中であるというメッセージが表示されることがあります( Windows自体)


これに似ています:resmon.exeの[CPU]タブ。[関連付けられたハンドル]ボックスまでスクロールします。ロックされたドライブの文字を入力できる検索ハンドル検索ボックスがあります。
アンドリュー

2

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

この場合、「コンピューターの管理」を開き、「ディスクの管理」に進みます。デバイスのパーティションごとに、パーティションを右クリックし、「ドライブ文字とパスの変更」を選択して、そのパーティションに割り当てられているドライブ文字を削除します。そうすると、「安全に排出」機能が期待どおりに機能することがわかります。


1
これは、Windows 7 Home Premiumを実行しているラップトップで説明したとおりに機能しました。Windowsのボタンが「削除」ではなく「アンマウント」という単語を使用することを願っています(これは私の頭の中の「削除」に似ています)。
steveOw

0

Windowsが使用中であると報告されたUSBがありました...ここの他の全員と同じです。

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

スクロールして検索-Windowsエクスプローラー。そしてハイライト。

右下には、「Restart Process」という便利なボタンがあります

「Windows Explorer」のみが強調表示されていることをダブルトリプルチェックします。

フレンドリーボタン「プロセスの再起動」をマウスで左クリックします。

エクスプローラーは1つしか持っていませんでしたが、2つ持っていることもありました。どれが戻ってくるかに注意してください。USBを閉じてから取り出します。私はうまく働いた、USBを閉じます。

あなたのものがイジェクト/クローズしない場合、おそらく他のExplorerでした。もう一度やり直して、もう一度やり直してください。幸運を。


4
スーパーユーザーへようこそ:質問を注意深くお読みください。あなたの答えは、元の質問に答えていない「Windowsが私のUSBドライブを使用しているものを教えてもらえます?」数分かかるし、お読みください: - 。superuser.com/help .Answering:superuser.com/help/how-to-答え、再びsuperuser.Thankyou
mic84
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.