Windows7で特定のドライブ文字を使われないように予約しておく方法

WindowsにはHDDやUSBメモリなどを識別するためにドライブ文字(あるいはドライブレター)というものがあります。

私のパソコンには常に大量のHDDが接続しており、HDD毎に決まったドライブ文字があるため何かの拍子に横取りされると大変困るわけです。

HDDはすべてVeraCryptという暗号化仮想ディスクソフトを使っているので、HDD本体+仮想ドライブの2個分ドライブ名が必要になります。

VeraCrypt - Free Open source disk encryption with strong security for the Paranoid
VeraCrypt is free open-source disk encryption software for Windows, Mac OS X and Linux. In case an attacker forces you to reveal the password, VeraCrypt provide...

ところが、ある時から困ったことが起きてしまいました…。

ドライブが増殖する

恐らくTrueCryptからVeraCryptへ乗り換えたとき、あるいはVeraCryptをアップデートしたときだったと思うんですが、気づいたら同じドライブが複数に増えるという現象が起きるようになりました。

どういうことかというと、マイコンピューターに表示されるハードディスクドライブを確認するといつの間にかEドライブのHDDがRにもWにもある、みたいな感じです。

この場合、RをクリックしてもWをクリックしても表示されるのはEドライブ内のデータです。

調べてみても原因不明で同様の現象にあっている人もいませんでした。

奪われるなら、先に奪えばいい

最終的に解決しなかった(というか諦めた)ため、対処療法でなんとかすることにしました。

いつの間にかドライブが増えている…つまりパソコンを起動したときは増殖していないわけです。

だったら、予めドライブ文字を予約しておいて増えないようにすればいいのではないか、という考えに至り「subst」コマンドを使うことにしました。

substコマンドについて

substは指定したディレクトリをドライブとして認識させることができるコマンドです。

コマンドは簡単で、下記のように使うドライブ文字とディレクトリパスを指定してコマンドプロンプトに入力するだけです。

subst ドライブ文字 "ディレクトリパス"
subst E: "C:\directory"

解除する場合はディレクトリパスの部分を/Dにします。

subst E: /D

毎回コマンドプロンプトに入力するのは大変なので、コマンドをメモ帳に保存したあと拡張子を.batに変更することにより、バッチファイルとしてワンクリックで処理できるようにしました。

さいごに

以上がドライブ文字を予約する方法になります。

substコマンドを使うことで無事ドライブの増殖を防ぐことができました。

どうやらWindows8.1以降ではsubstコマンドを使うことができないようですが、まぁ新しい環境ではこんな謎増殖は起きないと思うので問題ないでしょう。

もし同様の現象が起きて困っている人がいたらぜひ試してみてください。(そんな人いないと思いますが…)

コメント

タイトルとURLをコピーしました