症状:

  • 在虚拟机设置种设置了USB设备自动重新连接;
  • USB设备在虚拟机重启后后断开连接无法自动重新连接
  • vmware.log
    USB: Connecting device <device identifier> failed: 17

原因:

       默认情况下,Workstation会忽略USB人机接口设备(HID),例如鼠标和键盘。这样设计目的是为防止虚拟机独占键鼠使您无法控制主机设备。因此Workstation会忽略HID,虚拟机无法自动连接它们。

解决方案:

设置Workstation将HID视为智能卡,然后自动连接设备。具体方法:

  1. 编辑Workstation虚拟机设置文件来识别设备: 
  1. 打开.vmx文件进行编辑。
  2. 将此行添加到.vmx文件中:

    usb.generic.allowHID = "TRUE"  
  3. 打开虚拟机电源。

    当虚拟机启动时,它会检测连接到主机的所有USB设备,即使它们未连接到虚拟机。
     
  4. 操作系统启动后,关闭虚拟机电源。 
     
  1. 确保Workstation准确连接HID USB设备,通过日志文件找到HID设备的VID和PID
  1. 打开vmware.log文件。
  2. 搜索设备制造商的称,记下VID和PID和值。日志内容大致如下(VID为0x05AC,PID为0x8240)

    vmx | USB: Found device [name:Apple\ IR\ Receiver vid:05ac pid:8240 path:13/7/2 speed:full family:hid]
     
  3. 关闭vmware.log文件。
     
  1. 针对不同系统和平台配置Workstation以识别设备:
  1. 在文本编辑器中打开.vmx文件
  2. 添加此行,将< vid>和< pid>替换为您之前找到的值:
  • usb.quirks.device0 = "0x<vid>:0x<pid> allow" 

    示例:对于步骤2中找到的Apple设备,此行为:

    usb.quirks.device0 = "0x05ac:0x8240 allow" 
     
  1. 保存并关闭.vmx文件。 
     
  • Workstation 7.1.4及更早版本
  1. 配置虚拟机的USB Arbitrator 设置:
  1. 打开settings.ini文件。文件的位置因主机操作系统而异:
  • Windows Vista and 7: C:\ ProgramData \ VMware \ VMware USB Arbitration 
  • Windows XP: C:\ Documents and Settings \ All Users \ Application Data \ VMware \ USB Arbitration Service \
  • Linux: 在/ usr / bin中/ VMWare的usbarbitrator。

    注意:如果该settings.ini文件不存在,则必须创建该文件。要创建文件:
  1. .txt使用记事本创建一个空文件
  2. 将空txt文件另存为settings.ini文件
     
  1. 添加此行,将< vid>和< pid>替换为您之前找到的值:

    usb.quirks.device0 = "0x<vid>:0x<pid> smart-card"
    示例:对于步骤2中找到的Apple设备,此行为:

    usb.quirks.device0 = "0x05ac:0x8240 smart-card" 
     
  2. 将此行添加settings.ini 到自动连接设备时,将< vid>和< 替换pid>为步骤2中所示的值:

    usb.autoconnect.device0 = "0x<vid>:0x<pid>"
    示例:对于步骤2中找到的Apple设备,此行为:

    usb.autoconnect.device0 = "0x05ac:0x8240" 
     
  3. 保存并关闭该settings.ini文件。

以上参考连接https://kb.vmware.com/s/article/2000350