wsl2与windows共享U盘

Posted by 婷 on December 23, 2023 本文总阅读量

windows准备

点击下面的链接

https://github.com/dorssel/usbipd-win/releases

下载usbipd-win_3.1.0.msi文件,一定要选择3.1.0版本!!!高版本目前好像是有些使用的问题,比较麻烦。

image-20231211231710478

下载后双击

image-20231211232338743

点击Install

image-20231211232354919

一路安装过去之后,这里就完成了

image-20231211232418537

用管理员模式打开Powershell,输入usbipd wsl list查看是否安装成功。

image-20231211232558664

wsl准备

sudo apt install linux-tools-generic hwdata

image-20231211225539810

sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20

image-20231211225621418

同时还需要wsl的内核支持usbstorage相关的驱动,如果没有支持,可以参考之前的文章

重启

上述windowswsl准备工作做好后,电脑一定要重启,不然可能会有奇奇怪怪的问题

wsl接入usb设备

windows这边用管理员模式打开Powershell,输入usbipd wsl list,可以看到BUSID4-1U盘设备

image-20231223113620526

输入usbipd wsl attach --busid 4-1usb设备加到wsl中,之后输入usbipd wsl list,可看到STATE一栏已经为Attached-WSL的状态

image-20231211233137869

wsl这边从dmesglsusb中都可以看到已经识别到该usb设备

image-20231211233332558

image-20231211233151617

dmesg中也有SCSI相关的打印

image-20231223115116269

输入lsblk查看,可以看到我们/dev/sdd

image-20231223115147868

如果说dmesg中有识别到U盘,但是lsblk没有相关的分区,则可能是因为内核没有打开SCSI相关选项,可以参考之前的文章

wsl卸载usb设备

WSL 中完成设备使用后,可物理断开 USB 设备,或者在管理员模式下从 PowerShell 运行此命令:

usbipd wsl detach --busid <busid>

其他

wsl设备也可以直接访问u盘,就是再通过一层转接,跟wsl访问d盘一样的道理,参考链接

如图,有个盘符为EU盘

image-20231212000111484

wsl下创建文件夹

image-20231212000144873

执行挂载命令mount -t drvfs E: /mnt/e

image-20231212000308541

然后就可以正常访问了

image-20231212000347492

如果想在windows下正常弹出,需要先umount

参考链接