这次真的非常感谢微软,能为WSL2提供了USB连接的能力。在VMware、Virtualbox、Parallels(Mac)和KVM(Linux)这些虚拟机都是支持虚拟OS挂载实体机USB的功能。而在此前,微软的Hyper-V和WSL2中这项功能就支持力度一直不足。而最近我看一些Android开发的爱好者冲着WSA,又折腾起WSL,于是在他们之中的文章里看到了如何将USB挂到WSL2上。

准备

  1. Windows 11(内部版本 22000 或更高版本)。 (可提供 Windows 10 支持) # 我这里是

     $ uname -r -v
     5.10.102.1-microsoft-standard-WSL2 #1 SMP Wed Mar 2 00:30:59 UTC 2022
    
  2. WSL发行版为Ubuntu 20.04

  3. 安装usbipd-win_x.msi 或 运行 powershell

     > winget install --interactive --exact dorssel.usbipd-win
    

操作

运行WSL

  • 开始->输入Ubuntu->找到 Ubuntu on windows-> 点击运行

  • 通过powershell运行bash进入Ubuntu WSL

      $ lsusb
      Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
      Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    

以管理员运行powershell

    > usbipd wsl list # 查看usb列表
    > usbipd wsl attach --busid <BUSID>

    $  lsusb
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 002: ID 2717:ff40 Xiaomi Inc. Mi/Redmi series (MTP)
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

参考

  1. 连接 USB 设备
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐