技巧.【转】在虚拟机Vmware中使用HID设备(如USB免驱键盘)

时间:2024-02-23 10:57:50

ZC:我的环境:Win7x64、VMware10

ZC:我的处理:
ZC:  (1)、usb.generic.allowHID = "TRUE"    (本来就有,将它的位置提前)
ZC:  (2)、usb.generic.allowLastHID = "TRUE"  (本来没有,需要添加)
ZC:  (3)、usb.present = "TRUE"        (将原来的"FALSE"改成"TRUE")
ZC:  (4)、启动虚拟机的服务:VMUSBArbService(VMware USB Arbitration Service)

 

参考文章:

1、网页内容保存:

在Vmware中使用USB键盘, USB键盘可以正常输入, 但是在虚拟系统的设备管理器中仍然只显示一个PS/2键盘,

插上USB键盘后, 也没有出现新硬件提示. USB键盘应该显示为"HID Keyboard Device".

解决方法:

先关闭虚拟机,编辑虚拟机的配置文件.vmx, 在 usb:0.present = "TRUE" 之前添加如下两行:

usb.generic.allowHID = "TRUE"
usb.generic.allowLastHID = "TRUE"

再重新开启虚拟机就行了。

注意,如果这个文件里面已经有一行 usb.generic.allowHID = "FALSE",就只需把FLASE改成TRUE,不要重复添加了,否则虚拟机打不开。(好象VM8创建的虚拟机配置文件里就有这行)

如果没有usb.generic.allowHID = "TRUE"这行,在VM里就看不到USB鼠标键盘,就没办法让虚拟系统连接USB鼠标键盘。

也可在VM8里“编辑虚拟机设置-USB控制器—勾选显示所有USB输入设备。这和直接在.vmx里添加usb.generic.allowHID = "TRUE"是一样的。

插上USB键盘, 点击VM菜单上的“虚拟机-移除设备-(相应的USB鼠标键盘和声卡设备, 我这里是"GreenAsia AMP USB KB Pro")-与主机连接或断开连接”,就可将USB鼠标键盘和USB声卡分配给虚拟操作系统

(如果没有添加usb.generic.allowLastHID = "TRUE"这行,分配时就会出现“无法连接到此虚拟机的……”“主机需要输入此设备”的提示窗口。)

上述红字的意思就是: 相应的USB设备就不再受到主机的控制了, 而只供虚拟机使用。虚拟机中出现USB键盘设备HID Keyboard Device.

解决方法来自: "用VMware8.0实现主机一拖二,两人共用一台主机"(http://www.clubstars.cn/blog/post/36.html)

 

2、我的 "E:\ZC_XuNiJi\xp_sp3_DriverStudio\xp_sp3_x86_pro_han_cd_vl_x14_74070.vmx",主要就是 加了 “usb.generic.allowLastHID = "TRUE"”,∵ “usb.generic.allowHID = "TRUE"” 原来就有 只是把它移动到 更前面的位置了

  2.1、修改前 xp_sp3_x86_pro_han_cd_vl_x14_74070.vmx 的内容:

.encoding = "GBK"
config.version = "8"
virtualHW.version = "10"
scsi0.present = "TRUE"
memsize = "768"
ide0:0.present = "TRUE"
ide0:0.fileName = "xp_sp3_x86_pro_han_cd_vl_x14_74070.vmdk"
usb.present = "FALSE"
mks.enable3d = "TRUE"
serial0.present = "TRUE"
serial0.fileType = "thinprint"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
usb.vbluetooth.startConnected = "TRUE"
displayName = "xp_sp3_x86_pro_han_cd_vl_x14_74070"
guestOS = "winxppro"
nvram = "xp_sp3_x86_pro_han_cd_vl_x14_74070.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
extendedConfigFile = "xp_sp3_x86_pro_han_cd_vl_x14_74070.vmxf"
uuid.bios = "56 4d c4 60 02 f9 a7 1e-49 13 8f be 66 5e 49 07"
uuid.location = "56 4d c4 60 02 f9 a7 1e-49 13 8f be 66 5e 49 07"
replay.supported = "FALSE"
replay.filename = ""
ide0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"
usb.pciSlotNumber = "-1"
vmci0.pciSlotNumber = "36"
vmci0.id = "1141701829"
monitor.phys_bits_used = "40"
vmotion.checkpointFBSize = "134217728"
cleanShutdown = "TRUE"
softPowerOff = "TRUE"
tools.remindInstall = "FALSE"
tools.syncTime = "FALSE"
unity.wasCapable = "FALSE"
toolsInstallManager.updateCounter = "1"
ide0:1.present = "TRUE"
ide0:1.fileName = "xp_sp3_x86_pro_han_cd_vl_x14_74070-0.vmdk"
ide0:1.redo = ""
gui.lastPoweredViewMode = "fullscreen"
checkpoint.vmState = ""
serial1.present = "TRUE"
serial1.autodetect = "FALSE"
serial1.startConnected = "TRUE"
usb.generic.allowHID = "TRUE"
gui.exitOnCLIHLT = "TRUE"
serial1.fileName = "\\.\pipe\com_2"
ethernet0.present = "TRUE"
sound.present = "TRUE"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
ethernet0.pciSlotNumber = "32"
ethernet0.generatedAddress = "00:0c:29:5e:49:07"
ethernet0.generatedAddressOffset = "0"
sound.fileName = "-1"
sound.autodetect = "TRUE"
sound.pciSlotNumber = "33"
serial1.fileType = "pipe"
serial1.tryNoRxLoss = "TRUE"
serial2.present = "FALSE"
ehci.present = "FALSE"
usb_xhci.present = "FALSE"
ide1:0.present = "FALSE"
floppy0.present = "FALSE"

  2.2、修改后  xp_sp3_x86_pro_han_cd_vl_x14_74070.vmx 的内容:

.encoding = "GBK"
config.version = "8"
virtualHW.version = "10"
scsi0.present = "TRUE"
memsize = "768"
ide0:0.present = "TRUE"
ide0:0.fileName = "xp_sp3_x86_pro_han_cd_vl_x14_74070.vmdk"
usb.generic.allowHID = "TRUE"
usb.generic.allowLastHID = "TRUE"
usb.present = "TRUE"
mks.enable3d = "TRUE"
serial0.present = "TRUE"
serial0.fileType = "thinprint"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
usb.vbluetooth.startConnected = "TRUE"
displayName = "xp_sp3_x86_pro_han_cd_vl_x14_74070"
guestOS = "winxppro"
nvram = "xp_sp3_x86_pro_han_cd_vl_x14_74070.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
extendedConfigFile = "xp_sp3_x86_pro_han_cd_vl_x14_74070.vmxf"
uuid.bios = "56 4d c4 60 02 f9 a7 1e-49 13 8f be 66 5e 49 07"
uuid.location = "56 4d c4 60 02 f9 a7 1e-49 13 8f be 66 5e 49 07"
replay.supported = "FALSE"
replay.filename = ""
ide0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"
usb.pciSlotNumber = "34"
vmci0.pciSlotNumber = "36"
vmci0.id = "1141701829"
monitor.phys_bits_used = "40"
vmotion.checkpointFBSize = "134217728"
cleanShutdown = "TRUE"
softPowerOff = "TRUE"
tools.remindInstall = "FALSE"
tools.syncTime = "FALSE"
unity.wasCapable = "FALSE"
toolsInstallManager.updateCounter = "1"
ide0:1.present = "TRUE"
ide0:1.fileName = "xp_sp3_x86_pro_han_cd_vl_x14_74070-0.vmdk"
ide0:1.redo = ""
gui.lastPoweredViewMode = "fullscreen"
checkpoint.vmState = ""
serial1.present = "TRUE"
serial1.autodetect = "FALSE"
serial1.startConnected = "TRUE"
gui.exitOnCLIHLT = "TRUE"
serial1.fileName = "\\.\pipe\com_2"
ethernet0.present = "TRUE"
sound.present = "TRUE"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
ethernet0.pciSlotNumber = "32"
ethernet0.generatedAddress = "00:0c:29:5e:49:07"
ethernet0.generatedAddressOffset = "0"
sound.fileName = "-1"
sound.autodetect = "TRUE"
sound.pciSlotNumber = "33"
serial1.fileType = "pipe"
serial1.tryNoRxLoss = "TRUE"
serial2.present = "FALSE"
ehci.present = "FALSE"
usb_xhci.present = "FALSE"
ide1:0.present = "FALSE"
floppy0.present = "FALSE"
usb:1.speed = "2"
usb:1.present = "TRUE"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
usb.autoConnect.device0 = "path:1/0/0/1 autoclean:1"
usb:0.present = "TRUE"
usb:0.deviceType = "hid"
usb:0.port = "0"
usb:0.parent = "-1"
usb.autoConnect.device1 = "path:1/1/0/0 autoclean:1"

 

3、

4、

5、