Inspiron 640mに入っているVista Business SP2のバックアップ用に使っている320GBのTranscend製のUSB外付け2.5インチHDD StoreJet。いつからか「安全に取り外す」を選択すると「'汎用ボリューム'デバイスを使用中のため、停止できません」のメッセージが表示されるようになってしまいました。 これでは電源を入れている間は取り外せないままで、リムーバブルとはもはや呼べないものになっています。
けれどデバイスをつかんでいるプロセスは思いつかず、電源を止めたり再起動したタイミングで外していました。しかし、どういう理由か納得していないけれど、現象としては無事に「安全に取り外す」が行なえるようになりました。
変更したデバイスのプロパティ
変更したのは「ポリシー」タブの設定で、「クイック削除のために最適化する」から「パフォーマンスのために最適化する」にチェックを移しました。この状態では、どういう理由か無事に「安全に取り外す」が行なえます。
元々の設定であれば「安全に取り外す」を選択する必要がほぼなかったわけですが、それであれば選択できないか、「安全に取り外せます」ぐらいのメッセージが欲しいところ。 間違いかと思って手元で設定を戻してみたけれど、1回目は再現して取り外せなくなりました。
ただし次から何回か設定を戻したり繰り返している内に、どちらの設定でも安全に取り外せるようになりました。 時間の経過が解決したのであれば、Diskeeperが分析でもしていたのかなぁ…。 というわけで原因はなぞのままです。
UNIXやらLinuxであれば"lsof"で解決したいところですが、Windows XP以降では"openfiles"で似たような動きをするとのこと。ただし使うためには再起動が必要で、今回はうまく使う事ができませんでした。
Vistaの嫌いなところ、はまるところ
今回は「デバイス・マネージャ」の「ディスクドライブ」に一覧される「StoreJet Transcend USB Device」のように表示されるデバイスのプロパティを変更しました。
デバイスマネージャの代りにExplorerに表示される"C:"やら"F:"やらのプロパティ経由でも「ハードウェア」タブに一覧表示されているデバイスのリストがあって同じウィンドウが開きます。 けれどもプロパティの「ポリシー」タブ内は灰色の表示で変更できません。 これは管理者権限でExplorerを起動しても同じ。
この他の方法としては、管理ツールにある「コンピュータの管理」を起動してディスクの管理の中からプロパティを開く事でもポリシーの変更は可能です。 こっちは見た目はExplorerと同じなのに、ちゃんとポリシーの変更ができました。
なんでかなぁ。UACのせいだと思うんだけど、Explorerを管理者権限で起動しても見れないって変だよなぁ…。もしExplorerの問題だとしたらUACの動きが実装に依存する事になっておかしいよね。フェイルセーフではあるけれど。