Answers:
Windows的USB驱动器盘符管理器是您的朋友。
USBDLM是Windows服务,可控制Windows为USB驱动器分配的驱动器号。作为服务运行使它独立于已登录用户的特权,因此无需赋予用户更改驱动器号的特权。它可以自动解决USB驱动器与当前登录用户的网络或辅助驱动器之间的冲突。此外,您可以为USB驱动器等定义新的默认字母。
一些主要功能:
将新驱动器分配给驱动器号后,该驱动器号将被“忘记”。如果您希望多个驱动器(例如,备份驱动器)具有相同的记住字母,这很痛苦,但是有一种非随机软件的方式。
在搜寻Internet试图为多个要旋转的驱动器找到解决方案之后,我感到有必要发布此消息,所有这些驱动器号都保留相同的驱动器号,以使我的脚本编写更加快乐。有时,对于您的域控制器,敏感信息亭等而言,无论哪种软件(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。我真的不理解与二进制reg vlaue的关系/翻译,只是说它来自磁盘的唯一ID。我只说这是为了说明,我们在这里不必担心卷GUID,因为字母全都来自驱动器的唯一ID。在MBR / Basic磁盘上可能不是这种情况,我在这里仅使用GPT动态磁盘(您可能也是)。
我发现的进一步阅读资料:
挂载设备中的卷GUID和其他内容 https://morgansimonsen.com/2009/01/26/displaying-the-volume-guid-of-a-volume-2/