
VMware Workstation可以直接把Host的物理硬盘或者其分区用作Guest的硬盘,也支持把Host的U盘用作Guest的硬盘。不过对U盘的支持有以下注意事项:
a) 必须在启动VMware之前插入U盘,VMware的物理硬盘列表中才会出现之前插入的U盘,形如"PhysicalDriveN"
b) VMware主程序必须以管理员权限运行,才能成功创建Guest的硬盘,之后就不需要以管理员权限运行VMware主程序了。
Host的U盘用作Guest的硬盘,最大的好处就是VMware可以用Host的U盘启动Guest。
这是小钻风在2011年时写的。过去我没这需求,一直没留心过,今天因故要用这招。
如果你不确定"PhysicalDriveN"中的"N",可以用diskmgmt.msc看,"磁盘3"对应"PhysicalDrive3"。
Host是x64/Win7,VMware Workstation 15。Host的U盘是枚WinPE,MBR/PBR中用BOOTICE写入"GRUB for DOS",FAT32文件系统。该U盘在老旧BIOS上成功启动WinPE,现在想在VMware 15中启动WinPE。
最初没成功,提示:
"The physical disk is already in use"
在vmware.log中看到:

在Process Explorer中未发现用户态进程使用U盘。
搜了一下,好像与OS、VMware都有关,比如VMware 8会碰上,VMware 7不会碰上,再比如说Win7容易碰上。
最后试了如下步骤:
a)
用diskmgmt.msc删除U盘盘符
"fsutil volume dismount x:"不适用于U盘,也不等价于"mountvol x:\ /D",天晓得干啥了。
b)
$ diskpart
DISKPART> automount disable
DISKPART> automount scrub
DISKPART> exit
或许"mountvol /n"也可以,未测试。
c)
重启Host(x64/Win7)
这一步很重要,之前做了步骤b之后没有重启Host,结果死活不成功。只需要重启这一次,以后不再需要重启。
d)
插入U盘
diskmgmt.msc中U盘没有盘符,"VMware USB Arbitration Service"服务启用中,与该服务无关。如果其他时间想在Host中使用U盘,用diskmgmt.msc手工分配盘符即可。
e)
打开VMware 15,用U盘成功启动WinPE
在vmware.log中看到:

本文所说的U盘就是普通U盘,没有动用量产工具模拟成光盘。如果你很顺利地在VMware中用U盘成功启动Guest,就不必理会本文所述内容,如果你碰上"The physical disk is already in use",可以参照前文尝试解决。
这是一个小众需求,但有些人群确实会碰上这种需求。




