温馨提示×

ubuntu虚拟机无法连接外部设备怎么办

小樊
42
2025-11-22 19:20:36
栏目: 云计算

Ubuntu 虚拟机无法连接外部设备的排查与修复

一 快速判断与优先操作

  • 确认主机端服务已启动:在 WindowsWin+R 输入 services.msc,找到 VMware USB Arbitration Service,将启动类型设为自动并点击启动。若仍无效,重启主机后再试。
  • 在虚拟机菜单手动接管设备:在 VMware 菜单栏选择 VM → Removable Devices → 你的设备 → Connect(Disconnect from host),确保设备从主机“断开”并连接到虚拟机。
  • 检查 USB 兼容性:在 虚拟机设置 → USB 控制器,将兼容性调整为 USB 2.0/3.0/3.1(与设备匹配),若选项为灰色,先关闭虚拟机再修改。
  • 在 Ubuntu 内验证是否识别:插入设备后执行 lsusb,若能看到设备说明已被识别;若没有,多半仍被主机占用或未成功连接。
  • 若连接按钮为灰色或总是连不上:关闭虚拟机,编辑虚拟机目录下的 .vmx 文件,确保包含 usb.restrictions.defaultAllow = "TRUE"(没有则手动添加),保存后重新开启虚拟机再试。

二 常见原因与对应修复

  • 服务未运行或被禁用:启动或修复 VMware USB Arbitration Service,并将其设为自动启动,避免重启后失效。
  • 设备被主机占用:设备默认连到主机,需在 Removable Devices 中手动“Connect”到虚拟机。
  • USB 控制器设置不当:USB 兼容性未匹配(如设备是 USB 3.1 但虚拟机设为 2.0),或控制器未启用相关选项。
  • 配置文件限制:.vmx 中存在限制项(如 usb.restrictions.defaultAllow = "FALSE"),需改为 TRUE
  • 版本或软件异常:VMware 版本过旧/存在 Bug,尝试升级、重装或更换版本(如 Workstation 15.1.0 等)。

三 按场景的操作清单

  • U 盘/读卡器
    1. 主机服务启动 → 2) 虚拟机 USB 设为 3.0/3.1 → 3) 菜单手动连接到虚拟机 → 4) Ubuntu 内 lsusb 确认 → 5) 若 fdisk -l 能看到分区但无弹窗,手动挂载(示例:sudo mount /dev/sdb2 /media/FS,卸载用 sudo umount /media/FS)。
  • 键鼠接收器、摄像头等 HID 设备
    • 这类设备常被主机占用,优先在 Removable Devices 中强制连接到虚拟机;若仍失败,检查 .vmx 的 usb.restrictions.defaultAllow 并确认为 TRUE
  • 打印机/扫描仪等复杂 USB 设备
    • 先确保服务运行、设备连接到虚拟机、lsusb 可见,再安装相应驱动或配套工具(如 CUPS 打印服务)。
  • 按钮灰色或无法切换
    • 关闭虚拟机 → 编辑 .vmx 添加/修改为 usb.restrictions.defaultAllow = "TRUE" → 保存 → 重新开启。

四 仍未解决时的进阶方案

  • 调整 USB 兼容性:在 USB 控制器 中切换 USB 2.0/3.0/3.1 重试,部分设备与特定版本兼容性更好。
  • 修改 .vmx 进一步放行(示例,注意使用英文引号):
    • usb.restrictions.defaultAllow = "TRUE"
    • 如蓝牙类设备可加:usb.vbluetooth.startConnected = "TRUE"
  • 调整 VMware 全局 USB 策略:在 编辑 → 首选项 → USB,将“每次接入 USB 设备时询问”设为提示,避免设备被自动连到主机。
  • 修复或重装 VMware:升级到较新版本,或尝试其他版本(如 15.1.0),常可规避已知 Bug。

五 快速命令清单

  • 查看是否识别设备:lsusb
  • 查看块设备:sudo fdisk -l(识别到如 /dev/sdb 后再挂载)
  • 手动挂载分区:sudo mount /dev/sdb2 /media/FS
  • 卸载分区:sudo umount /media/FSsudo umount /dev/sdb2

0