有没有办法在 Windows 中保留 USB 可移动驱动器的持久设备映射(而不是驱动器号)?

有没有办法在 Windows 中保留 USB 可移动驱动器的持久设备映射(而不是驱动器号)?

这不是重复的有什么方法可以强制 Windows 使用第一个可用的驱动器号映射插入的 USB 驱动器?。我问的不是 USB 驱动器的驱动器号分配,而是设备映射(例如\Device\Harrdisk1\Partition1)。

我每天都会使用两个独立的 USB 驱动器。出于安全原因,每天结束时,我会将它们从 PC 上取下并安全存放,每天早上我都会将它们取出并插入电脑。每个驱动器都包含一个独立的 Veracrypt 卷,插入时会安装该卷。每个卷上都会写入不同的文件,在某些情况下是自动的,因此每个卷都必须安装到特定的驱动器号上。

我遇到的(也许无可否认是小问题)问题是每个 USB 驱动器的设备映射都会随机更改。我们将这两个物理驱动器称为 Alpha 和 Beta。有些时候,Alpha 在 Veracrypt 中显示为\Device\Harrdisk1\Partition1,而其他时候则显示为\Device\Harrdisk2\Partition1。当然,Beta 也是如此。我不知道在 Veracrypt 中安装之前如何区分两者,因此有时 Alpha 最终被安装到 Y:,而它应该被安装到 X:。

当然,我可以检查安装后给定驱动器的内容,以查看我是否将正确的驱动器安装到正确的驱动器号,但每天都这样做有点麻烦。有时我确实会忘记检查,这会导致更多问题。

我想知道的是是否有任何方法可以“修复”每个 USB 驱动器的设备映射,以便它随着时间的推移保持不变,这样每次插入 Alpha 时,它总是会被映射到\Device\Harrdisk1\Partition1(当然 Beta 也是如此)。

如有任何建议,我们将不胜感激。

答案1

卷/分区的路径\Device\Harrdisk1\Partition1并不是寻址分区的唯一方法。这只是简短版本,仅允许枚举所有磁盘和卷。

在内部,Windows 使用唯一的卷 ID,这些 ID 也可以用于路径中,例如\\?\Volume{42ce6dbb-c976-4f28-8472-21a454c6093e8}。您还应该能够使用此方法在 VeraCrypt 或其他允许输入路径的程序中寻址卷。

为了获取正确的路径,您可以打开 PowerShell 终端并执行以下命令:

Get-WmiObject -namespace root\cimv2 -class win32_volume

然后滚动卷列表并识别正确的卷。如果卷没有分配驱动器号,则很难识别正确的卷,为了识别加密卷,您可以尝试过滤未设置文件系统属性的卷:

Get-WmiObject -namespace root\cimv2 -class win32_volume -filter "FileSystem=NULL"

相关内容