ubuntu虚拟机无法连接外部设备怎么办
小樊
45
2025-11-22 19:20:36
Ubuntu 虚拟机无法连接外部设备的排查与修复
一 快速判断与优先操作
- 确认主机端服务已启动:在 Windows 按 Win+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 盘/读卡器
- 主机服务启动 → 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/FS 或 sudo umount /dev/sdb2