为什么 Windows 总是将 USB 驱动器安装为最后一个物理驱动器后的下一个驱动器号,即使该字母已被映射驱动器占用,有什么方法可以改善这种行为?
我倾向于在 PC 上使用几个不同的闪存驱动器,同时还拥有一台黑莓手机和一部个人手机,当我插入它们进行充电时,它们会作为 USB 驱动器安装。在公司 PC 上,我还有许多映射的网络驱动器(一些由登录脚本设置,一些在我的个人资料中设置为永久映射)。
当我第一次登录时,我将获得如下驱动器号:
C:- 本地驱动器 D:-DVD 驱动器 G:-登录脚本映射驱动器 J:-登录脚本映射驱动器
当我插入黑莓手机时,它会将两个驱动器(一个用于板载存储,一个用于 SD 卡)安装为 E: 和 F:。如果我随后插入另一个 USB 驱动器,它将安装为 G:,即使该驱动器已被网络映射驱动器占用。这样我就有了以下驱动器:
C:- 本地驱动器 D:-DVD 驱动器 E:- USB 驱动器(黑莓) F:- USB 驱动器(黑莓) G:-登录脚本映射驱动器 [G:- USB 驱动器 - 已安装但在资源管理器或命令提示符中不可见] J:-登录脚本映射驱动器
然后我必须进入磁盘管理,找到安装到 G: 的新 USB 驱动器,并将其重新分配给另一个字母,例如 Z:,完成后自动播放会检测到它并抛出其正常对话框,并且可以在资源管理器中浏览它。
如果您只使用一两个 USB 驱动器并且使用您的登录帐户对您的 PC 具有管理员访问权限,那么这样做是可以的,但如果您经常使用大量不同的 USB 设备,并且公司政策意味着您有一个帐户用于正常登录(仅对工作站具有用户访问权限),但必须使用不同的帐户才能执行任何特权操作,那么这将会非常痛苦。
我意识到造成这种情况的一个可能原因是在系统级别安装并分配驱动器号的硬件与在用户级别完成的映射驱动器之间的差异。对于在登录前已插入的 USB 设备,显然它们是在 Windows 知道可能映射哪些网络驱动器之前安装的。但是,如果您在完全登录后插入 USB 设备并映射驱动器,那么 Windows 必须知道哪些字母可用?
答案1
对于这种问题,USB 驱动器号管理(USBDLM) 创造奇迹。您可以为 USB 驱动器分配驱动器号,确保它不会干扰网络驱动器,...
从他们的入门部分:
首次连接可移动驱动器(USB 闪存驱动器、闪存卡读卡器、便携式硬盘驱动器)时,Windows 会将其安装到第一个可用的“本地”驱动器号。如果此驱动器号上有网络共享,Windows XP 无论如何都会将其用于新的 USB 驱动器,因为 XP 网络共享特定于当前用户,并且在分配了驱动器号的系统环境中不可见。然后 USB 驱动器似乎不可见。在大多数情况下,SP3 会修复此问题。您可以在 Windows 磁盘管理控制台中单击鼠标多次更改驱动器号分配,但您必须为每个新设备重新执行此操作。而且,对于没有序列号的 USB 设备(违反 USB 标准),当您将其连接到不同的 USB 端口时,您也必须执行此操作。USBDLM 可以用于新连接的 USB 驱动器
...
检查该字母是否由当前登录用户的网络共享使用,并分配下一个真正可用的字母
答案2
你可以尝试以下mountvol
命令:
mountvol g: /d
mountvol
要获取正确的 VolumeName:
mountvol h: \\?\Volume{blablabla}\
答案3
Windows 原生的实现方式可能是 DISKPART。对我来说,它很管用。
在 DISKPART> 提示符下使用:
list volume
识别 USB 驱动器,
select volume {number}
然后选择它
assign letter={letter}
设置其驱动器号。
答案4
这是一个巨大的痛苦,我不太清楚为什么微软没有纠正一些额外的代码来使用下一个可用的字母。
您可能会考虑要求 IT 部门更改登录脚本,将网络驱动器映射到字母表的后半部分而不是“G”。根据操作的规模和网络驱动器的使用程度,这可能是一项艰巨的任务。