我正在使用 VMWare Workstation,但为了向我的用户隐藏主机,我想要部署的所有虚拟机都将在 VMware-KVM 中运行。将 USB 设备连接到主机时,不同类别的设备应以不同的方式处理:USB 存储设备应直接连接到主机,但其他 USB 设备(如 USB 串行适配器)应始终连接到客户机。
我注意到的第一件事是 WMare Workstation UI 和 vmware-kvm.exe 处理 USB 重定向的方式有所不同:即使你在 Workstation 设置中设置了 Poprey“USB:将设备连接到主机”,VMware-kvm.exe 也会忽略该设置并将设备连接到具有焦点的设备,即,如果客户机处于全屏状态,它会将其连接到客户机,如果主机处于全屏状态,则它会连接到主机。
我想要的是一种基于规则的行为,例如 VMWare KB 中描述的,不幸的是我无法让它正常工作。
首先,我尝试将以下行添加到我的 VMX 文件中:
usb.generic.autoconnect = "FALSE"
usb.autoConnect.device0 = "0x403:0x1031"
usb.autoConnect.device1 = "0x403:0x1032"
这应该意味着:默认将所有设备连接到主机(autoconnect = false),但应该将以下两行中给出的 PID 和 VID 的设备(它们属于我使用的 USB 串行适配器)连接到客户机。
如果在虚拟机启动期间连接设备(USB 棒与主机保持在一起,串行适配器连接到客户机),这似乎可以工作,但是只要我移除 USB 串行适配器并将其连接到另一个 USB 端口(当机器仍在运行时),它就会连接到主机而不是客户机。
那么,如何才能根据我使用 PID 和 VID 给出的规则强制我的 USB 设备自动连接到主机或客户机?理论上看起来很简单,但在现实生活中对我来说还不起作用。
谢谢您的任何提示!
答案1
查看虚拟机的日志,找到设备的名称。从name:
复制到结束时。按照以下示例将其pid:xxx
放入文件中。.vmx
usb.autoConnect.device0 = "name:Cambridge\\ Silicon\\ Radio\\ Bluetooth\\ Adapter vid:0a12 pid:0001"