WindowsでUSBデバイスにドライブ文字を恒久的に割り当てるにはどうすればよいですか?


7

私は異なるPC(Windows XP、Windows Vista、Windows 7)を持っている何人かの顧客を持っています。

実行中のWindowsのバージョンに応じて、ドライブ文字の指定を恒久的に割り当てることができるDOS 6.22とは異なり(たとえば、ドライブC:=ハードディスク起動パーティション、ドライブD:= CDドライブ、またはFDISKで作成したい追加パーティション)。 Windows XPでUSBフラッシュドライブを接続すると、ドライブE:が割り当てられ、Windows VistaではドライブF:が割り当てられます。

DOS 6.22では、 LASTDRIVE=Z: CONFIG.SYSファイルで、接続しているかどうかにかかわらず、永続的な論理ドライブの指定を任意のデバイスに静的に割り当てることができます。

なぜこれがWindowsでできないのですか?標準化されたバックアップPowerShellまたはバッチファイルスクリプトを作成する方法はありません。


これまで見てきたすべての答えに基づいて、Windowsの外部デバイス用に論理ドライブ文字を恒久的に予約する方法はありません。
Frank R.

1
ドライブ文字は、デバイスではなくWindowsレジストリに格納され、WindowsはデバイスIDを調べてWindowsレジストリを確認し、それに基づいてドライブ文字を割り当てます。事前に割り当てられた文字がない場合は最初の未使用ドライブ文字を割り当てます。 。そのため、各PC上の各デバイスに同じドライブ文字を割り当てる以外は、PCからPCに必要なことをすることはできません。与えられたPC上ですでに占有されているドライブ文字と衝突しないように、アルファベットのさらに下に文字を割り当てる方が常に良いです。
Moab

@ Moab:X:Y:やZ:を割り当てるためにあなたの提案を使うつもりですが、ボリュームラベル名で接続されたデバイスを識別するためのスキームを工夫することもできます。 MicrosoftがWindowsを見逃したのはこれだと思います!..彼らはDOSで使われていたのと同じ方法でデバイスを識別しましたが、UNIXではすべてのデバイスはファイルシステム内のファイルです。 / dev / hd0 = logical hard disk 0 ..現在、Windowsには、UNIXベースのシステムでは問題にならなかったセキュリティ問題を含む、DOSとの類似点以外にも浮動(可変)論理デバイスがあります。
Frank R.

うん、Windowsは吸う、私たちは方法を数えてみましょう...
Moab

回答:


12

ドライブに割り当てたドライブ名を記憶するようにWindowsをセットアップできますが、デバイスを接続して最初にセットアップする必要があります。これは コントロールパネル>管理ツール>コンピューター管理 (または実行 compmgmt.msc あなたが私のように怠け者なら)。下 ストレージ>ディスク管理 設定したいドライブを右クリックして選択します。 ドライブ文字とパスを変更してください... 。そこで、ドライブに割り当てられているドライブ文字を変更できます。

これが行われた後、ドライブが再び差し込まれる時はいつでも、この手紙は使用されるでしょう 利用可能な場合 。これがあまりにも危険な場合は、代わりに(同じインタフェースを介して)ファイルシステム上の任意の場所にある空のフォルダにドライブをマウントすることができます。これはWindowsが使用可能な場合にのみ使用するという意味でドライブ文字と同じように機能しますが、明示的に使用するように設定されていない限り、使用することはありません。


これが最善の方法だと思います。他のリムーバブルデバイスが次に使用可能なドライバ文字を盗み、競合を引き起こさないように、必ずより大きなドライブ文字を使用してください。
Chris Thompson

@マーチン:なるほど? Windowsでは、他のデバイスがそれを受け取った場合にその文字が使用可能になることを保証する方法はありません。これは、実際には頻繁に発生します。
Frank R.

4
@Frank Computer:それから、空のディレクトリを使ってデバイスをマウントすることができます。手動でそのように設定されていない限り、他のドライブによって使用されることはありません。
Martin Larente

@Frank Computer:これが、「静的な」ドライブレターの割り当てをで始める理由です。 Z:。あなたが20以上の異なるUSBデバイスを持っているならば、あなたはあなたが何をしても問題を抱えています。 USBDLM @Mike Renfroが以下に述べるように、かなりうまく動作します。
Bacon Bits

USBドライブにドライブ文字を強制的に割り当てる場合でも、Windows 7では、マウント解除した後にそのドライブ文字の割り当てを取得して使用することがよくあります。私は通常仕事でG:に私の携帯用ドライブを割り当てたいと思う。ドライブをアンマウントし、翌日に接続し直すと、Windows 7がG:への再割り当てを拒否することがよくあります。代わりにH:に代入します。さらに悪いことに、Windows 7にはG:が割り当てられていません。再起動するまで、使用可能なリストに論理ドライブ名が表示されません。それから強制的に割り当てをG:に戻すことができます。
John C

4

スクリプトの標準ドライブ文字を定義するのではなく、各システムに設定してUSBドライブを指定する環境変数を定義します。


それとも、ボリューム名とドライブ文字のどちらを使用するのが良いでしょうか。
Frank R.

3

一言: USBDLM

  • USBドライブと、現在ログオンしているユーザーのネットワークドライブまたは代替ドライブとの競合を自動的に解決します。
  • すべてのUSBドライブに対して新しいデフォルトの文字を定義できます
  • あなたはあなたの19-in-1カードリーダーにメディアが挿入されているスロットのためのドライブレターだけを割り当てるようにすることができます
  • に基づいてデフォルトのドライブ文字を割り当てることができます。
    • バスの種類
    • USBポート番号
    • ドライブの種類(CD、リムーバブル、固定)
    • ドライブサイズ
    • デバイスID
    • ファイル/フォルダの存在
    • ボリュームラベル
    • ボリューム通し番号
    • ...

32ビット版と64ビット版があります。これは私がインストールするすべてのWindowsシステムにインストールされます。レジストリハッカーやディスク管理ツールは不要です。永続的なサービスとして機能します。これはあまりお勧めできません。


3

ドライブ文字とコロンとして%〜d0を使用してバッチファイルスクリプトを作成します。 %〜d0はスクリプトを含むドライブに置き換えられます。したがって、あるマシンでサムドライブがF%〜d0の場合、Fと同じになります。別のマシンで、サムドライブがW%〜d0の場合、Wと同じになります。

私の親指ドライブを何百ものマシンで使用しているので、私のスクリプトはすべてこの方法です


1

ディスク管理(コンピュータの管理の一部)を使用して、ボリュームに特定のドライブ文字を付けることもできます。


1

Windowsは、ドライブ自体から取得したIDに基づいてドライブを記憶します。最初に割り当てた元のドライブ文字を割り当てようとしますが、それが使用中の場合は別のドライブ文字を割り当てます。あなたはそれらのWindowsのメモリを見ることができます HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices (このキーの下の値を編集したことがある場合は、細心の注意を払ってください)。

[コンピュータの管理]([コントロールパネル]> [管理ツール]> [コンピュータの管理])の順にクリックするか、単に[実行]をクリックします。 compmgmt.msc )をクリックして[ディスクの管理]を選択すると、ドライブを右クリックして[ドライブ文字とパスの変更...]を選択して、ドライブ文字を設定できます。いったん変更すると、認識されたデバイスが再接続されたときにWindowsがそのドライブ文字を再利用しようとします。これを使用して、それが使用される各マシンのデバイスに同じドライブ文字を設定することができます。


0

あなたが使ってみることができます USBDeview

enter image description here

リストからデバイスを見つけて右クリックし、[割り当てられたドライブ文字の変更]を選択してから希望の文字に設定します。私が正しく覚えていれば、それは永続的です。


Windowsが以前のドライブ割り当てを使用して使用している場合(上記のコメントを参照)、管理者として実行している場合でも、うまくいきません。 Windowsが私の以前のG:文字を「取った」と判断した場合、私のドライブはH:のままです。再起動と強制割り当てのみが私のために働きます。再起動すると「予約済み」のG:が解放され(私の場合)、ミニツールでドライブをリセットして(管理者権限で)Gに戻すことができます。
John C
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.