如何使用usbipd-win:让Windows与WSL 2无缝共享USB设备的完整指南

如何使用usbipd-win:让Windows与WSL 2无缝共享USB设备的完整指南 🚀

【免费下载链接】usbipd-win Windows software for sharing locally connected USB devices to other machines, including Hyper-V guests and WSL 2. 【免费下载链接】usbipd-win 项目地址: https://gitcode.com/gh_mirrors/us/usbipd-win

简介:usbipd-win是一款强大的Windows开源工具,能够将本地连接的USB设备共享给其他机器,包括Hyper-V虚拟机和WSL 2环境。通过简单几步配置,开发者、研究人员和普通用户都能轻松实现跨系统USB设备访问,极大提升工作效率!

📋 核心功能与优势

usbipd-win解决了Windows与Linux子系统(WSL 2)之间USB设备共享的痛点,支持开发板调试、数据采集设备、传感器等多种硬件。其核心优势包括:

  • 跨平台兼容:完美支持Windows 10/11(x64/ARM64)和WSL 2环境
  • 即插即用:无需复杂驱动配置,安装后即可快速共享设备
  • 持久化共享:设备绑定状态支持重启后保留,减少重复操作
  • 安全可控:内置防火墙规则,可自定义访问权限

🚀 快速安装步骤

系统要求

  • Windows 10/11 或 Windows Server 2019+(版本1809及以上)
  • 管理员权限(用于安装服务和配置设备)

安装方法(二选一)

方法1:使用Windows Package Manager(推荐)

打开PowerShell,执行以下命令一键安装:

winget install usbipd
方法2:手动下载安装包
  1. 访问项目最新发布页面
  2. 下载并运行 .msi 安装文件
  3. 按照向导完成安装,系统会自动:
    • 安装 usbipd 服务(用于设备共享管理)
    • 添加命令行工具到系统PATH
    • 创建防火墙规则允许TCP 3240端口访问

⚠️ 注意:若使用第三方防火墙,需手动允许TCP 3240端口的入站连接

💻 详细使用教程

🔍 第1步:查看可用USB设备

以管理员身份打开PowerShell,执行以下命令列出所有连接的USB设备:

usbipd list

输出示例:

BUSID  VID:PID    DEVICE                                                        STATE
1-1    0483:374b  STMicroelectronics ST-LINK/V2                                 Not shared
1-2    8087:0029  Intel(R) AX200 Bluetooth                                      Not shared

📤 第2步:共享指定设备

使用设备对应的BUSID进行绑定(共享):

usbipd bind --busid=1-1

✅ 成功绑定后,设备状态会变为"Shared",且该设置会永久保存(重启后依然有效)

🔌 第3步:在WSL 2中连接设备

在Windows终端执行以下命令(无需管理员权限):

usbipd attach --wsl --busid=1-1

此时设备会立即出现在WSL 2环境中,可通过lsusb命令验证:

# 在WSL 2中执行
lsusb

📊 设备管理常用命令

功能命令
解除设备共享usbipd unbind --busid=<BUSID>
断开WSL连接usbipd detach --busid=<BUSID>
查看服务状态sc query usbipd
重启服务sc restart usbipd

💡 实用场景与最佳实践

场景1:嵌入式开发调试

将开发板(如STM32、Arduino)通过USB连接Windows,共享后直接在WSL 2中使用gdbopenocd等工具进行调试,无需切换系统或使用虚拟机USB重定向。

场景2:数据采集与分析

科研人员可在Windows上连接USB数据采集设备,通过WSL 2运行Python/R数据分析脚本,充分利用Linux生态的科学计算库。

场景3:跨系统外设使用

在WSL 2中访问Windows连接的USB打印机、扫描仪等外设,实现Linux环境下的硬件资源利用。

📝 最佳实践

  • 定期更新WSL 2内核:wsl --update
  • 对频繁使用的设备创建绑定脚本
  • 通过usbipd list定期检查设备状态

🛠️ 高级配置与扩展

🔧 自定义防火墙规则

如需限制特定IP访问,可通过Windows防火墙高级设置修改"usbipd"规则,指定允许的远程IP范围。

🖥️ 图形界面工具

项目提供多种GUI工具(位于Usbipd.PowerShell/目录),包括:

  • PowerShell cmdlet Get-UsbipdDevice
  • 第三方开发的系统托盘工具(需单独安装)

🧪 测试与验证

项目提供完整的单元测试套件(UnitTests/目录),覆盖设备检测、命令解析、WSL交互等核心功能,确保稳定性。

📚 相关资源

❓ 常见问题解决

Q1:WSL中无法识别设备怎么办?

A:执行wsl --update更新内核,或手动安装USB驱动

Q2:如何设置设备自动共享?

A:创建任务计划,在系统启动时执行绑定命令:

usbipd bind --busid=<BUSID>

Q3:服务启动失败如何排查?

A:检查系统日志(事件查看器 -> Windows日志 -> 应用程序),或尝试重新安装驱动:

usbipd install-driver

🎯 总结

usbipd-win通过简单直观的命令行操作,打破了Windows与WSL 2之间的USB设备壁垒,为开发者和高级用户提供了高效的跨系统硬件共享方案。无论是嵌入式开发、数据采集还是日常外设使用,这款工具都能显著提升工作效率,是WSL生态中不可或缺的实用工具。

立即尝试usbipd-win,体验无缝的USB设备跨系统共享吧!🔗

【免费下载链接】usbipd-win Windows software for sharing locally connected USB devices to other machines, including Hyper-V guests and WSL 2. 【免费下载链接】usbipd-win 项目地址: https://gitcode.com/gh_mirrors/us/usbipd-win

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值