1. 安装usbipd-win
1.1 本机环境
- windows11
- wsl 2 内核 5.15.x
1.2 安装usbipd-win
#0. 首先应用商店安装winget, 然后在终端执行以下命令, 我安装的时候安装的是usbipd-win-4.1.0
winget install --interactive --exact dorssel.usbipd-win
1.3 usbipd 使用
使用管理员模式打开终端
usbipd list # 列出usb设备
usbipd bind --busid 4-4 # 共享对应busid的usb设备
usbipd attach --wsl --busid <busid> #附加USB设备到wsl中(默认发行版)
usbipd detach --busid <busid> #断开usb设备
2 重新编译wsl 内核以支持大容量存储
默认的wsl内核是不支持大容量存储设备的, 所以要重新编译内核
- 下载源码
git clone https://github.com/microsoft/WSL2-Linux-Kernel.git
- 安装编译内核必须的软件包
sudo apt install build-essential flex bison libssl-dev libelf-dev dwarves
- 修改内核驱动配置选项
make menuconfig KCONFIG_CONFIG=Microsoft/config-wsl
Device Driver->USB support
- 编译
# 生成的kernel镜像在 arch/x86/boot/bzImage
make -j$(nproc) bzImage KCONFIG_CONFIG=Microsoft/config-wsl
- 把bzImage拷贝到C:\Users\{username}\ (可以拷到任意文件夹跟下面配置的地址对应就可以)
- 在C:\Users\{username} 创建
.wslconfig
文件,内容如下:
地址必须是带有转义反斜杠的 Windows 路径
[wsl2]
kernel=C:\\Users\\hpudr\\bzImage
-
wsl --shutdown
关闭wsl 然后再开启,使用uname -r
查看是否更新成功