ubuntu虚拟机怎么连接外部设备
小樊
36
2025-12-06 13:19:44
Ubuntu 虚拟机连接外部设备的实用步骤
一、前置准备
- 安装虚拟化平台的扩展/工具:
- VirtualBox:安装与版本匹配的 Oracle VM VirtualBox Extension Pack(扩展包提供 USB 3.0 等支持)。路径:管理 → 工具 → 扩展包管理器 → 安装。
- VMware Workstation/Player:安装 VMware Tools(或开源的 open-vm-tools/open-vm-tools-desktop)。
- 主机为 Linux 时,将当前用户加入 vboxusers 组(VirtualBox 场景):
- 执行:
sudo usermod -aG vboxusers $USER,然后注销并重新登录或重启。
- 在虚拟机设置中先添加并启用 USB 控制器(选择 USB 2.0 或 USB 3.0,视宿主机接口与扩展包支持而定),再插入设备。
- 注意不要把鼠标/键盘也做 USB 直通,否则可能出现主机与虚拟机之间切换导致卡死的现象。
二、连接 USB 存储设备
- VirtualBox
- 关闭虚拟机 → 选中虚拟机 → 设置 → USB → 勾选“启用 USB 控制器”,选择 USB 3.0(或 USB 2.0)→ 点击右侧“+”添加设备筛选器(可按名称或 厂商ID:产品ID 选择)→ 启动虚拟机。
- 插入 U 盘后,可在虚拟机窗口右下角 USB 图标中选择“连接到虚拟机”。
- 主机如需使用该设备,先在主机“安全移除硬件”,再在虚拟机中连接。
- VMware
- 插入设备 → 启动虚拟机 → 菜单 VM → Removable Devices → 目标设备 → Connect(断开主机)。
- 在 Ubuntu 客户机内验证与挂载
- 查看设备:
lsusb、dmesg | grep usb
- 查看磁盘:
lsblk
- 挂载示例:
sudo mount /dev/sdb1 /media/usb;验证:df -h
- 权限不足时:
sudo chown -R $USER:$USER /media/usb
三、连接 USB 串口、摄像头等非存储设备
- 基本步骤与 USB 存储一致:在虚拟机设置里添加相应 USB 设备筛选器,插入设备后连接到虚拟机。
- 识别与权限
- 查看设备节点:
lsusb、dmesg | tail
- 串口常见节点:/dev/ttyUSB* 或 /dev/ttyACM*;权限不足可临时:
sudo chmod 666 /dev/ttyUSB0(生产环境建议通过 udev 规则设置持久权限)。
- 兼容性提示
- 老旧系统(如 Ubuntu 12.04)默认仅支持 USB 2.0,连接 USB 3.0 设备会不稳定或报错;可改用主机 USB 2.0 接口或升级客户机系统/驱动。
四、常见问题与排查
- 虚拟机内看不到 USB 设备
- 确认已安装扩展包/工具、已启用 USB 控制器、已添加筛选器;主机为 Linux 时确认用户在 vboxusers 组并已重启会话。
- 已连接但无法访问存储设备
- 在客户机用
lsblk、dmesg 确认设备节点与分区;必要时手动挂载并检查挂载点权限。
- 设备被占用或在主机未正确弹出
- 先在主机执行“安全移除硬件”,再在虚拟机中连接;避免主机仍占用设备导致虚拟机无法接管。
- USB 3.0 不稳定或不可用
- 尝试改用 USB 2.0 接口/筛选器;或升级客户机系统、扩展包与驱动版本。
五、其他常见外设的连接思路
- 打印机
- 推荐通过 IPP 网络打印:在 Ubuntu 客户机安装并启用 CUPS(
sudo apt install cups),浏览器访问 http://localhost:631 添加打印机,选择 AppSocket/HP JetDirect 或 IPP 协议,填写宿主机/打印服务器 IP 与队列名;若虚拟机与打印机不在同网段,将虚拟机网络设为桥接。
- 其他设备(如 USB 网卡、蓝牙、开发板)
- 优先使用 USB 直通;若平台支持,可考虑 PCIe 直通 获取更高兼容性与性能。
- 使用 KVM/QEMU 的场景
- 通过
lsusb 获取设备 ID(如 05ac:1204),启动参数加入 -usbdevice host:05ac:1204,或在 QEMU 控制台(Ctrl+Alt+2)用 usb_add host:05ac:1204 动态添加,info usb 查看、usb_del 移除。