绕过主机时如何使用物理驱动器的 UUID:Win7 上的 VMWare Workstation

绕过主机时如何使用物理驱动器的 UUID:Win7 上的 VMWare Workstation

我在 Win7 VMWare Workstation 主机上有一个 Linux 客户机。我将物理驱动器从主机直接路由到虚拟机。我注意到在这些磁盘的 vmdk 中,vmdk 到物理驱动器的映射是通过驱动器标识(即 0-6 之间的数字)完成的。此数字与您在主机上的磁盘管理器中看到的数字相匹配。

我不想使用驱动器编号,而是使用驱动器的 ID(UUID),这样如果驱动器的顺序发生变化,则可以保持正确的映射。

这种解决方案的动机来自于这篇文章中提出的问题:SATA 驱动器顺序在重启时变得混乱;Windows 7 / Asus P5Q MB

有没有办法编辑 vmdk 文件的这一部分以实现这一点?

# Extent description
RW 1953525168 FLAT "\\.\PhysicalDrive2" 0

我想将 PhysicalDrive2 更改为 PhysicalDrive{UUID},或者 VMWare Workstation 解释为这个意思的内容。

编辑:还在 VMWare 社区上发布了问题:http://communities.vmware.com/message/1986851#1986851

答案1

Windows 设备名称实际上非常灵活:就像 Linux 及其系统一样/dev/disk/by-uuid符号链接,Windows有自己的UUID寻址系统。

获取一份響鳴64并导航到GLOBAL??——这是设备的来源\\.\。1将看到它PhysicalDrive1实际上是指向某个类似 的符号链接\Device\HardDisk1\DR11。如果您查看其他符号链接,您会发现某个Disk{23e4567-e89b-12d3-a456-426614174000}指向同一个位置。那就是A磁盘的 UUID,设备移除并重启后仍会保留。不幸的是,它与所diskpart显示的不同。

但我们不是来讨论使用哪个 UUID 的。我们来这里是为了让东西正常工作。只需将您的范围描述行替换为:2

RW 1953525168 FLAT "\\.\Disk{23e4567-e89b-12d3-a456-426614174000}" 0

并且它应该可以工作。它在我的 VirtualBox 原始磁盘映像中确实可以工作(是的,VBox 使用 VMDK 来访问原始磁盘),值得一试。

1从技术上讲,\\.\指向的是\DosDevices\,它是 的符号链接\??\当地的设备目录。本地目录中的内容可能与全局目录中的内容有所不同,具体取决于您映射的驱动器。\\?\GLOBALROOT是明确的全局位置。

2您可能认为这\\?\Disk{...是正确的位置,但 VirtualBox 拒绝它并告诉我该位置无法访问。

相关内容