You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在QEMU/KVM中向虚拟机直通Android MTP-USB设备?

解决Android手机MTP直通Win10虚拟机的驱动问题

方法一:修改虚拟机XML配置

  • 关闭Win10虚拟机,在虚拟机管理器中右键目标虚拟机,选择「编辑XML」。
  • 找到<devices>节点下的USB控制器配置,将其替换为USB3.0兼容的qemu-xhci控制器(MTP协议对USB控制器版本有要求,旧控制器可能不兼容):
    <controller type='usb' index='0' model='qemu-xhci' ports='15'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    
  • 找到直通手机的<hostdev>节点,确认vendorid和productid与宿主机lsusb命令输出的一致(比如lsusb显示ID 18d1:4ee2,则vendor id='0x18d1'、product id='0x4ee2'),同时添加配置项启用MTP支持:
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x18d1'/>
        <product id='0x4ee2'/>
      </source>
      <config>
        <property name='capabilities' value='usb-mtp,usb-storage'/>
      </config>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    
  • 保存XML配置,启动虚拟机后,卸载设备管理器中带黄色感叹号的MTP驱动,重新扫描硬件改动,安装对应手机的官方驱动(或微软通用MTP驱动)。

方法二:终端命令修改配置

  • 关闭虚拟机,在宿主机终端执行lsusb获取手机的USB设备ID,执行lsusb -t查看总线/设备路径。
  • 用virsh编辑虚拟机配置(替换win10-vm为你的虚拟机名称):
    virsh edit win10-vm
    
  • 按照方法一的步骤修改USB控制器和<hostdev>配置,保存退出后启动虚拟机:
    virsh start win10-vm
    

额外排查点

  • 确保宿主机安装了必要工具:
    sudo apt install usbutils libusb-1.0-0-dev
    
  • 检查Android手机的USB模式:开启开发者选项后,确认选择「传输文件(MTP)」模式,而非「仅充电」。
  • Win10虚拟机内优先安装手机品牌官方PC套件驱动,避免使用系统自动安装的通用驱动。

内容的提问来源于stack exchange,提问作者user19597949

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 19:55:14