microsoft / WSL

Issues found on WSL
https://docs.microsoft.com/windows/wsl
MIT License
17.39k stars 819 forks source link

WSL --mount will not mount a microSD card #8090

Open dustojnikhummer opened 2 years ago

dustojnikhummer commented 2 years ago

Version

22000.527

WSL Version

Kernel Version

5.10.16.3

Distro Version

Ubuntu 20.04

Other Software

No response

Repro Steps

Surface Go 1 (Yes I'm aware it doesn't officially support Windows 11)

Insert an unpartitioned microSD card Run GET-CimInstance -query "SELECT * from Win32_DiskDrive" wsl --mount \.\PHYSICALDRIVE1

Screenshot https://i.imgur.com/TqfUBoZ.png

Expected Behavior

SD card gets mounted into WSL2

Actual Behavior

The system cannot find the drive specified

Diagnostic Logs

No response

0xbadfca11 commented 2 years ago

wsl --mount feature does not support removable media, use USP/IP instead.

If you are looking for guidance on how to connect a USB device (flash drive, SD card reader, etc), see Connect USB devices. https://docs.microsoft.com/en-us/windows/wsl/wsl2-mount-disk https://github.com/MicrosoftDocs/WSL/commit/ea7499d84f3493590300495f003f84ffc36ffff0

dustojnikhummer commented 2 years ago

I did try that before leaving this report. That does not work either. The SD card just doesn't show up in the list. And not sure if it matters, but it isn't a USB SD card reader, but a PCIe one

https://i.imgur.com/XuYNZJk.png

andyearnshaw commented 2 years ago

I have the same issue on my laptop. SD card reader is not in the USB device list, and I can't mount it.

SeWieland commented 1 year ago

This is due to the fact, that there are simply no USB storage drivers in the WSL Kernel. You can use usbipd for connectiong any USB devices to WSL and they will also show up under lsusb, however due to the missing drivers in the kernel, no devices will be listed under lsblk.

I'm now trying to compile my own kernel according to the usbipd docs, but it's probably faster to just flash ubuntu over your windows machine at this point.

I have really no idea why those drivers are not simply compiled into the default kernel.

See also many other issues like https://github.com/microsoft/WSL/issues/8408

TurboVin commented 1 year ago

I am still running into this issue for the Broadcom SD Card reader built into my old Acer laptop.

wsl --mount \.\PHYSICALDRIVE2 reports no drive found. device appears as SCSI Disk Drive in Device Manager usbipd wsl list does not list the SD Card.

ErencanPelin commented 11 months ago

I am still running into this issue for the Broadcom SD Card reader built into my old Acer laptop.

wsl --mount \.\PHYSICALDRIVE2 reports no drive found. device appears as SCSI Disk Drive in Device Manager usbipd wsl list does not list the SD Card.

i'm in the same boat now, did you ever find a fix?

KhalilOuali commented 11 months ago

Same issue. I need the feature to access an SD card for a Raspberry Pi and modify some files, but it's not working :(

sprsr commented 9 months ago

Still no support for USB Storage in 2024 it seems.

ssg commented 2 weeks ago

The only working solution is to recompile the WSL kernel (5.15.153.1 currently). It's less painful than you think. The full instructions are here: https://www.tomshardware.com/how-to/access-linux-ext4-partitions-in-windows

In addition to the instructions above, in order to read Steam Deck SD Cards, you must also enable casefolding support which requires UTF-8 character handling Under "File Systems -> UTF-8 normalization and casefolding support".

I hope Microsoft adds USB storage support to newer kernels.

ccoles146 commented 1 week ago

This may be the same issue, I've got more detail in my issue: https://github.com/microsoft/WSL/issues/12153