在 CentOS 主机上为 VirtualBox 配置 USB 的完整步骤
一 准备与前提
- 安装与主机版本完全匹配的 Oracle VM VirtualBox Extension Pack(提供 USB 2.0/3.0 支持)。在主机上执行安装:sudo VBoxManage extpack install [扩展包文件名].vbox-extpack。安装后重启 VirtualBox。
- 将当前用户加入 vboxusers 组以访问 USB 子系统:sudo usermod -aG vboxusers USER;执行后需注销并重新登录(或重启)使组权限生效。
- 在虚拟机设置中准备启用 USB 控制器(见下节),并建议先插好目标 USB 设备 以便创建过滤器。
二 在 VirtualBox 中启用并连接 USB
- 选中目标虚拟机 → 设置 → USB → 勾选“启用 USB 控制器”,根据设备选择 USB 2.0(EHCI) 或 USB 3.0(xHCI)。
- 点击右侧“添加 USB 过滤器”(带“+”的 USB 图标),在设备列表中选中你的 U 盘/设备;也可先插上设备,再在列表中选择。
- 启动虚拟机后,可通过菜单“设备 → USB”手动连接/断开该设备(若已配置过滤器,设备插入时通常会自动连接)。
三 在虚拟机内验证与挂载 U 盘(以 CentOS 来宾系统为例)
- 安装工具并查看设备:sudo yum install -y usbutils;在来宾系统内执行 lsusb,确认设备已被识别。
- 确认设备节点(示例为 /dev/sdc1):sudo fdisk -l。
- 挂载使用(示例挂载点 /mnt/upan):
- 创建挂载点:sudo mkdir -p /mnt/upan
- 挂载:sudo mount /dev/sdc1 /mnt/upan
- 卸载:sudo umount /mnt/upan(使用完毕再拔出更安全)。
四 常见问题与排查
- 设备不显示或无法连接
- 确认已安装与 VirtualBox 版本一致的 Extension Pack。
- 确认当前用户属于 vboxusers 并已重新登录。
- 在 USB 设置中尝试切换 USB 2.0/3.0 控制器类型;优先使用 USB 3.0(xHCI) 以获得更好兼容性。
- 先插设备再添加“USB 过滤器”,或启动虚拟机后再从“设备 → USB”手动连接。
- 权限不足或设备被主机占用
- 在主机检查并调整 udev 规则(示例):
- 新建规则:sudo nano /etc/udev/rules.d/70-persistent-usb.rules
- 写入:SUBSYSTEM==“usb”, ATTR{idVendor}==“1234”, ATTR{idProduct}==“5678”, MODE=“0666”(idVendor/idProduct 用 lsusb 查看)
- 重载:sudo udevadm control --reload-rules && sudo udevadm trigger
- 临时方案(不推荐长期使用):sudo chmod 666 /dev/bus/usb//。