回答:
Windows用のUSBドライブレターマネージャーはあなたの友人です。
USBDLMは、USBドライブに対するWindowsのドライブ文字の割り当てを制御するWindowsサービスです。サービスとして実行すると、ログオンしたユーザーの特権に依存しなくなるため、ユーザーにドライブ文字を変更する特権を与える必要はありません。USBドライブと、現在ログオンしているユーザーのネットワークまたはサブドライブ間の競合を自動的に解決します。さらに、USBドライブなどの新しいデフォルト文字を定義できます。
主な機能:
ドライブ文字は、そのドライブに新しいドライブを割り当てると「忘れられて」しまいます。複数のドライブ(たとえば、バックアップドライブ)に同じ記憶された文字を持たせたい場合は苦痛ですが、ランダムウェアではない方法があります。
インターネットを精査して、ローテーションしたい複数のドライブの解決策を見つけようとして、これを投稿する必要性を感じました。すべてがスクリプト作成の喜びのために同じドライブ文字を保持しています。時々、ウェアウェア(USBDLM)は、ドメインコントローラー、デリケートなキオスクなどに十分なソリューションではないため、これを困難な方法で行います。
データが多くないか、ゼロから始める場合、最も簡単な方法は、Clonezillaを使用して、割り当てられた文字でデバイスをディスク間でクローンすることです。ただし、ドライブに既にデータがあり、そのデータをバックアップ/復元できない場合、またはデータをボリュームGUIDに関連付けられているように見えるハードな方法と同じように、その方法を見つける必要がある場合それらがすべて一致するように既存のボリュームで変更してから、テストを実行します。私はそれをClonezillaの方法でやりました。試したことはありませんが、パーティションクローンも機能すると思います。
確認できるのは、ディスクIDから取得したものではないため、diskpartを使用してこれを変更しても役に立たないこと、およびPowerShellを使用してボリュームGUIDを取得できることです。
GWMI -namespace root\cimv2 -class win32_volume
私よりも賢い人がボリュームGUIDを変更または指定してテストするか、少なくともreg値の由来であるかどうかを判断する方法を見つけて、ドライブ全体を複製せずにこれを動的に行えることを願っています。
使い方:
ドライブにドライブ文字を割り当てると、Windowsはこれをレジストリのキーhklm \ system \ mounteddevicesの下に保存します。新しいドライブを割り当てると、X文字(たとえば)reg_binaryのデータ部分(この場合は\ dosdevices \ x :)が新しいドライブで上書きされ、異なる値を持つ複数のエントリを作成できないことがわかります。 、そのため、その古いドライブを次に差し込むと、Xはもうなくなります。
reg_binary値自体を見ると、dmio idで始まり、その後にGUIDが続きます。これは実際にはディスクの一意のIDに由来します。ディスクの一意のIDに由来するということを除いて、実際にはバイナリreg vlaueへの関係/翻訳を理解していません。これは、レタリングはすべてドライブの一意のIDに由来するため、ここではボリュームGUIDについて心配する必要がないことを示すためだけに言っています。これはMBR /ベーシックディスクには当てはまらないかもしれませんが、ここではGPTダイナミックディスクのみを使用しています(そしておそらくあなたもそうです)。
さらに読む/見つけたもの:
マウントされたデバイスのボリュームGUIDおよびその他のもの https://morgansimonsen.com/2009/01/26/displaying-the-volume-guid-of-a-volume-2/