Windows 7 環境で。USB接続のHDDを付けて使うことがある。用が済んだら取り外す。「ハードウェアの安全な取り外し」メニューから、USB接続HDDを選ぶ。そのとき「エラーが発生しました」「デバイスを使用中のため、停止できません」などと出る。いやいや使用していませんし。メッセージが不案内である。デバイスを使用しているプロセス名など列挙してくれればいくらでも対処のしようもあるのに。使われていますだけではどうにもできない。一体何のプロセスがデバイスをつかんで離さないのだろう。
こんなとき。
Sysinternals の Handle が便利。 管理者権限で実行したコマンドプロンプトにて Handle.exe を実行すると
C:\TEMP>handle.exe Handle v3.5 Copyright (C) 1997-2012 Mark Russinovich Sysinternals - www.sysinternals.com ------------------------------------------------------------------------------ System pid: 4 \54: File (---) \Device\Mup 60: File (R--) Q:\$Extend\$RmMetadata\$TxfLog\$TxfLogContainer00000000000000000001 70: File (R-D) C:\Windows\System32\LogFiles\WMI\RtBackup\EtwRTDiagLog.etl ~以下省略~
こんな風に、プロセス名とそれがオープンしているファイルを列挙してくれる。なんて便利。表示された中から、USB接続HDDのドライブレターを検索してみると。 YahooDesktop.exe がガッツリとオープンしている。これはアレだ、Yhaoo! ボックスのクライアントだ。いや、いいんですよオープンしてても。取り外しの時にキチンと開放してくれれば。ところが開放する気配無し。そもそも指定した共有フォルダ以外の場所をなぜ開いておるのだ。意味がわからない。気味が悪いので Yahoo! ボックスのクライアントは停止した。そしたら取り外しもすぐに動作した。