wsl2 支持大容量存储USB设备

1. 安装usbipd-win

1.1 本机环境

  1. windows11
  2. 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内核是不支持大容量存储设备的, 所以要重新编译内核

  1. 下载源码
git clone https://github.com/microsoft/WSL2-Linux-Kernel.git
  1. 安装编译内核必须的软件包
sudo apt install build-essential flex bison libssl-dev libelf-dev dwarves
  1. 修改内核驱动配置选项
make menuconfig KCONFIG_CONFIG=Microsoft/config-wsl

Device Driver->USB support


需要加入的配置
  1. 编译
# 生成的kernel镜像在 arch/x86/boot/bzImage
make -j$(nproc) bzImage KCONFIG_CONFIG=Microsoft/config-wsl
  1. 把bzImage拷贝到C:\Users\{username}\ (可以拷到任意文件夹跟下面配置的地址对应就可以)
  2. 在C:\Users\{username} 创建.wslconfig文件,内容如下:

地址必须是带有转义反斜杠的 Windows 路径

[wsl2]
kernel=C:\\Users\\hpudr\\bzImage
  1. wsl --shutdown 关闭wsl 然后再开启,使用uname -r查看是否更新成功
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容