温馨提示×

ubuntu如何配置virtualbox的USB设备支持

小樊
31
2025-11-30 10:52:47
栏目: 智能运维

Ubuntu 下配置 VirtualBox 的 USB 支持

一 前置准备

  • 安装与内核匹配的 VirtualBox 扩展包(Extension Pack),以支持 USB 2.0/3.0 控制器与主机 USB 代理服务。扩展包版本需与 VirtualBox 主程序版本一致。下载后通过 VirtualBox:File → Preferences → Extensions → 添加扩展包并安装。完成后重启 VirtualBox。
  • 建议安装 dkms,确保内核升级后 vboxdrv 等内核模块能自动重建:sudo apt-get install dkms。
  • 将当前用户加入 vboxusers 组,并重新登录(注销再登录或重启)以生效:sudo usermod -aG vboxusers $USER。

二 启用 USB 控制器与添加设备筛选器

  • 选中虚拟机 → 设置 → USB → 勾选 启用 USB 控制器,根据设备选择 USB 2.0(EHCI)USB 3.0(xHCI) 控制器。若提示需要扩展包,请先完成“前置准备”的第 1 步。
  • 插入目标 USB 设备,点击右侧 添加 USB 筛选器(带绿色加号的图标),或点击设备列表中的设备将其分配给虚拟机。分配后,设备会在主机上“断开”,并在虚拟机中可用。
  • 如需命令行查看与筛选,可使用:VBoxManage list usbhost 查看主机 USB 设备;VBoxManage usbfilter add … 添加筛选器(指定 --vendorid/–productid/–serialnumber 等)。

三 权限与常见问题处理

  • 设备灰显或无法分配:确认当前用户已在 vboxusers 组并重新登录;确保已安装匹配版本的 Extension Pack;在虚拟机设置中启用正确的 USB 2.0/3.0 控制器。
  • 老版本内核或发行版提示找不到 USB 代理服务(VERR_FILE_NOT_FOUND):可能需要启用 usbfs 挂载。示例(请按实际 GID 调整):
    1. 创建组并加入用户:sudo groupadd usbfs;sudo usermod -aG usbfs $USER
    2. 获取组 ID:grep usbfs /etc/group(假设为 1002
    3. 编辑 /etc/fstab,添加:none /proc/bus/usb usbfs devgid=1002,devmode=664 0 0
    4. 重启或执行 sudo mount /proc/bus/usb 使配置生效。
      说明:现代发行版通常不再需要手动挂载 usbfs,仅在异常或老系统上作为兼容手段使用。
  • 主机占用导致无法捕获设备:先在主机“安全移除”或卸载该 USB 设备,再在虚拟机中勾选分配;必要时在筛选器中固定 VendorId/ProductId/SerialNumber 提升匹配稳定性。

四 快速验证步骤

  • 执行 id 或 groups 确认当前用户在 vboxusers 组;必要时执行 newgrp vboxusers 或重新登录。
  • 在终端运行 VBoxManage list usbhost,确认目标设备可见且状态为 Available
  • 启动虚拟机,插入设备,按需在 USB 筛选器中勾选分配;在客户机中确认设备已识别(如磁盘管理、设备管理器或 lsusb)。

0