温馨提示×

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.0USB 3.0,视宿主机接口与扩展包支持而定),再插入设备。
  • 注意不要把鼠标/键盘也做 USB 直通,否则可能出现主机与虚拟机之间切换导致卡死的现象。

二、连接 USB 存储设备

  • VirtualBox
    1. 关闭虚拟机 → 选中虚拟机 → 设置 → USB → 勾选“启用 USB 控制器”,选择 USB 3.0(或 USB 2.0)→ 点击右侧“+”添加设备筛选器(可按名称或 厂商ID:产品ID 选择)→ 启动虚拟机。
    2. 插入 U 盘后,可在虚拟机窗口右下角 USB 图标中选择“连接到虚拟机”。
    3. 主机如需使用该设备,先在主机“安全移除硬件”,再在虚拟机中连接。
  • VMware
    • 插入设备 → 启动虚拟机 → 菜单 VM → Removable Devices → 目标设备 → Connect(断开主机)。
  • 在 Ubuntu 客户机内验证与挂载
    • 查看设备:lsusbdmesg | grep usb
    • 查看磁盘:lsblk
    • 挂载示例:sudo mount /dev/sdb1 /media/usb;验证:df -h
    • 权限不足时:sudo chown -R $USER:$USER /media/usb

三、连接 USB 串口、摄像头等非存储设备

  • 基本步骤与 USB 存储一致:在虚拟机设置里添加相应 USB 设备筛选器,插入设备后连接到虚拟机。
  • 识别与权限
    • 查看设备节点:lsusbdmesg | 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 组并已重启会话。
  • 已连接但无法访问存储设备
    • 在客户机用 lsblkdmesg 确认设备节点与分区;必要时手动挂载并检查挂载点权限。
  • 设备被占用或在主机未正确弹出
    • 先在主机执行“安全移除硬件”,再在虚拟机中连接;避免主机仍占用设备导致虚拟机无法接管。
  • USB 3.0 不稳定或不可用
    • 尝试改用 USB 2.0 接口/筛选器;或升级客户机系统、扩展包与驱动版本。

五、其他常见外设的连接思路

  • 打印机
    • 推荐通过 IPP 网络打印:在 Ubuntu 客户机安装并启用 CUPSsudo apt install cups),浏览器访问 http://localhost:631 添加打印机,选择 AppSocket/HP JetDirectIPP 协议,填写宿主机/打印服务器 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 移除。

0