在 CentOS 主机上为 VirtualBox 添加 USB 设备的完整步骤
一 前提条件
- 安装与当前 VirtualBox 版本完全匹配的 Oracle VM VirtualBox Extension Pack(提供 USB 2.0/3.0(xHCI) 支持)。
- 将当前登录用户加入 vboxusers 组,并重新登录或重启会话使其生效。
- 目标虚拟机处于关机或已保存状态再修改 USB 设置。
以上是确保 USB 能被识别与控制的关键前提。
二 安装扩展包与配置权限
- 安装扩展包(CLI 示例,文件名按实际替换):
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack
安装完成后重启 VirtualBox。
- 将用户加入 vboxusers 组:
sudo usermod -aG vboxusers 你的用户名
执行后请注销并重新登录(或重启系统),以便组成员生效。
- 说明:未安装扩展包时,启用 USB 2.0/3.0 会报错或不可用;加入 vboxusers 是使用 USB 的必要权限步骤。
三 在虚拟机中启用并添加 USB 设备
- 选中虚拟机 → 设置 → USB → 勾选“启用 USB 控制器”,根据设备选择 USB 2.0(EHCI) 或 USB 3.0(xHCI)。
- 点击右侧 USB 设备列表旁的“+”,选择你的 U 盘/USB 设备;也可先创建“设备过滤器”,实现插入即自动连接。
- 启动虚拟机,在窗口底部 USB 图标中选择目标设备完成连接。
- 提示:若设备列表为空或呈灰色不可选,多为扩展包未装或当前用户不在 vboxusers 组,请回到上一步检查。
四 在客户机 CentOS 中识别与挂载 USB 存储
- 客户机为 CentOS 时,先确认系统识别到 USB:
lsblk 或 fdisk -l
通常显示为 /dev/sdb、/dev/sdc1 等。
- 挂载示例(以实际设备为准):
sudo mkdir -p /mnt/usb
sudo mount /dev/sdX1 /mnt/usb
访问验证:ls /mnt/usb;写入测试:touch /mnt/usb/test。
- 卸载:sudo umount /mnt/usb。
- 说明:大多数常见 USB 存储设备无需额外驱动;若为特殊设备,请按厂商文档安装相应驱动。
五 常见问题与排查
- 启动报错或设置界面提示 “USB 2.0/3.0 controller not available/Implementation not found”:未安装或版本不匹配的 Extension Pack,请安装匹配版本后重启 VirtualBox。
- 设备列表为空或点选无效:当前用户未加入 vboxusers,执行 sudo usermod -aG vboxusers 用户名 并重新登录。
- 插入后虚拟机不自动连接:在 USB 设置中为该设备创建 过滤器,或先启动虚拟机再插拔一次 USB。
- 旧版内核/系统出现 “Not permitted to open the USB device, check usbfs options”:这是历史方案,现代 CentOS 通常不需要;若确需,可创建 usbfs 组并在 /etc/fstab 配置权限,但更推荐优先使用 vboxusers 与扩展包方案。
- 主机已占用设备导致客户机无法连接:先在主机上卸载/弹出该 USB 存储,再在虚拟机中连接。
以上问题均为 VirtualBox 在 Linux 主机上的高频情形,按序排查通常可快速定位。