版权声明 · 版权所有
本文 © AUTHOR_NAME year。保留所有权利。
许可:LICENSE_NAME
本文章为博主原创文章。遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
作者说明 · 学习记录
本站作为作者的学习记录站,不保证文章内容严谨或完全正确。
作者:GoDm@
用途:本文为作者的学习记录与实践笔记,用于记录学习过程、思考与示例代码(如有)。
欢迎朋友指正文章中的错误,联系邮箱:god_mao@foxmail.com
版权信息
:::warning
本文章为博主原创文章。遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
:::
⭐⭐⭐本文参考自微软官方WSL文档——连接 USB 设备 | Microsoft Learn
由于WSL不提供本机连接USB设备的支持,因此需要安装开源项目usbipd-win来支持USB的共享连接。
什么是usbpid?
usbipd 是一个用于管理 USB/IP(USB over IP)服务的命令行工具,可以在 Windows 下使用。 USB/IP 是一种协议,允许通过网络共享USB 设备。 usbipd工具允许用户在 Windows 上共享 USB 设备,使其他计算机能够通过网络访问这些设备。
安装 USBIPD-WIN 项目
- 转到 usbipd-win 项目的最新发布页面。
- 选择 .msi 文件,该文件将下载安装程序。 (你可能会收到一条警告,要求你确认你信任此下载)。
- 运行下载 usbipd-win_x.msi 安装程序文件。
这将安装:
- 名为
usbipd
的服务,(显示名称:USBIP 设备主机)。 可以使用 Windows 中的服务应用检查此服务的状态。
- 命令行工具
usbipd
。 此工具的位置将添加到 PATH 环境变量。
- 名为
usbipd
的防火墙规则,用于允许所有本地子网连接到服务。 可修改此防火墙规则以微调访问控制。
- 若要附加 USB 设备,请运行以下命令。 (不再需要使用提升的管理员提示。确保 WSL 命令提示符处于打开状态,以使 WSL 2 轻型 VM 保持活动状态。 请注意,只要 USB 设备连接到 WSL,Windows 将无法使用它。 一旦连接到 WSL,任何在 WSL 2 上运行的发行版都可以使用该 USB 设备。 请确认设备是否已连接
usbipd list
。 在 WSL 提示符下,运行 lsusb
以验证 USB 设备是否已列出,并且可以使用 Linux 工具与之交互。
1
| usbipd attach --wsl --busid <busid>
|
- 打开 Ubuntu(或首选 WSL 命令行),并使用以下命令列出附加的 USB 设备:
若没有找到命令,则先下载usbutils

1
| sudo apt install usbutils
|
可以看到已经成功读取到u盘,并且能够使用普通 Linux 工具与之交互。 根据应用程序,可能需要配置 udev 规则,以允许非根用户访问设备。

6. 在 WSL 中使用设备后,可以物理断开 USB 设备的连接,或者从 PowerShell 运行以下命令:
1
| usbipd detach --busid <busid>
|