web-dev-qa-db-ja.com

「このデバイスは現在使用中です」が表示されたときにUSBドライブをどのように切断しますか?

娘の親指ドライブをデスクトップに差し込んで、仕事をしていました。彼女は終了し、自分のアカウントからログオフし、私は私のものにログインしました。私は彼女がUSBドライブにサムドライブを残したことに気付いたので、安全にイジェクトしようとしましたが、次のメッセージが表示されました。

USB大容量記憶装置の取り出しに関する問題

このデバイスは現在使用中です。デバイスを使用している可能性のあるプログラムまたはウィンドウをすべて閉じてから、再試行してください。

はい、あきらめます。私は自分のアカウントにログインしたところ、最初に行ったのは、彼女の親指ドライブをイジェクトしようとすることでした。一体何を現在使用していますか?そのメッセージが表示されたとき、他に何も開いたり実行したりしていません。そのUSBドライブに対して、どのプログラムが実行されていて、何をしているのかをどのように判断しますか?安全に切断できるように、停止するにはどうすればよいですか?

19
Rod

nlocker を使用して、どのプログラムが開いているかを確認し、そのプログラムを閉じることができます。プログラムを終了できない場合は、Unlockerを使用してハンドルを強制的に閉じることができます。

Unlocker showing processes with open handles


Windowsエクスプローラーの場合は、再起動できます。簡単な方法は保持することです ControlShift スタートメニューの空白の領域を右クリックします。

Restarting Explorer in Windows 7

12
Synetech

重要なのは、アンマウントする必要があるデバイスでディレクトリが開いているプロセスを特定することです(私はWindows 7で以下を使用しました)。

  • Windowsログ/システムログファイルでKernel-PnPからの警告イベントID 225を検索すると、「(何か)がデバイス(何か)の削除または取り出しを停止しました」という形式のメッセージが見つかります。

これはすでに post で説明されています:

「コンピューターの管理」にアクセスします(「コンピューター」を右クリック/「管理」)

システムツール->イベントビューア-> Windowsログ->システム

「検索」を使用してイベントIDを検索します。

  • Process Explorer をインストールして、プロセスまたはアプリケーションの検索を実行することもできます。

そのユーティリティを使用して、ターゲットドライブ文字(例:f:)を含むハンドルを検索します。これは、[検索/検索ハンドル]またはDLL ...で利用できます...これは、問題のプロセス/ PIDを特定するのに役立ちます。 (Linuxでの「lsof」コマンドの使用と同様)、プロセスは手動で停止できます(たとえば、タスクマネージャーまたはプロセスエクスプローラーを使用)。プロセスの所有者でない場合は、管理者としてプロセスエクスプローラーを実行する必要がある場合があります。

ファイルを保存して閉じた後でも、一部のアプリがディレクトリを開いたままにしていることがわかりました。アプリの「現在の」ディレクトリをリセットするには、C:ドライブから別のファイルを開くだけで十分な場合があります。また、ウィンドウが閉じられた後もアプリが実行されている可能性があります。上記の検索は、停止する必要があるアプリを特定するのに役立ちます。

3
asl_marc

Microsoftには、独自のユーティリティ Devcon.exe があります。

サイトから:

デバイスコンソールであるDevCon(Devcon.exe)は、Windowsを実行しているコンピューター上のデバイスに関する詳細情報を表示するコマンドラインツールです。 DevConを使用して、デバイスを有効化、無効化、インストール、構成、および削除できます。

DevConは、Microsoft Windows 2000以降のバージョンのWindowsで動作します。

0
zundarz