New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Block devices, (i.e. /dev/sda) ? #689
Comments
|
Thanks for the feedback. @russalex or @bitcrazed might be able to comment on any ETA's (or the lack of it). Also, please also make any feature requests on our User Voice Page and help us prioritize. |
|
Unfortunately I can't give an ETA on this one. We know there is a desire to be able to access block devices from WSL but it is not terribly high on our priority list at the moment. As @sunilmut points out, the best thing to do here would be to add something to our User Voice page. Little secret, one thing that always helps the requests there is explaining the actual scenario you're looking to enable. |
|
@russalex Is there really a point to this kind of thing? It's in the nature of the thing that it is going to be served a pre-assembled abstracted filesystem. Loading up something like dd while Windows mounts the disk (in non-raw mode) seems like it could be a problem, and this kind of thing seems to require effectively writing hardware drivers that negotiate hardware access between WSL and WSWin32 |
|
@fpqc, While we know there is some desire for this feature, it's not been enough of a priority for us to discuss planning or implementation. What is interesting to me is to hear what people want to do with these types of features. The users of this forum often surprise me with their creativity and the more information we get the better. I have found that it never hurts to at least hear someone out. If something is compelling enough, and enough people want it, then we should at least look into feasibility and see where we may be able to fit it into plans. |
|
I would love to have access to block devices from WSL but it would require strict restrictions (like disallow write from devices mounted from windows/wsl). There is a high risk of corruption if a peripheral is already mounted :( |
|
Well actually, raw disk access would make it possible to leverage device-mapper, mdraid and LVM to access any existing linux disks/logical volumes in/on your system. |
|
@finkelamein idk about that, I think the LVM driver is baked into the Linux Kernel. |
|
It's device-mapper driver that's in the kernel, but yeah, that would be needed. But there would be need of something similar anyway to support access to disks like in the original question by OP. |
|
I would love to have access to partition types that don´t have native support on Windows.( e.g. mount a ext4 partition) |
|
@jdevora This would necessarily be beyond the scope of WSL. The first thing would be the extension of WSL's ability to mount different partition types in general, maybe with a way to query the NT kernel about "FS capabilities" (which I suspect already exists, but probably does not exist with information about Linux FS feature support). Then you would also need to write a kernel-mode driver (or maybe somehow use FUSE?) supporting ext4. The first thing might be within the scope of WSL. The second probably isn't. |
|
At least fuse will be great. With fuse we will be able to implement\emulate somehow everything other linux specific filesystems. |
|
On Cygwin I can use This allows me to manages the fileystems of embedded devices runing linux directly (for example I can run something like Would it be possible to have the same feature on Windows subsystem for Linux ? Otherwise, wsl isn’t a good platform for building and loading firmwares on the ꜱᴅ card. |
|
Am I understanding properly that even if MS found a way to allow the subsystem direct device access, standard linux filesystem kernel modules would not be usable with the subsystem's customized kernel? I was hoping we could mount the foreign filesystems which windows does not support otherwise and then export them with smbd - like it was possible to do with the old colinux project - but I guess this is too far off into the future for now. If fuse support in LXSS is easier to implement, being a single thing as opposed to the various possible linux kernel filesystem drivers, it could be pretty great - even though core linux filesystems that have kernel modules don't seem to have fuse drivers yet because there was never any need for them, they can probably be developed once there is a use-case for them in LXSS. |
|
Yes, as it's not a real kernel, filesystems included from linux kernel will not be usable (or MS have to rewrite them). But if they implement fuse, I think we will see ext2/3/4 comming to fuse :) |
|
@georgir That's my general understanding. LXSS does not have a kernel and integrating linux kernel modules with the Windows security-model would be really difficult. |
|
If folks here would like FUSE support (I would), you can up-vote its UserVoice: |
|
One use would be to mount micropython devices so that you can copy .py files from the local filesystem to the on-board memory without having to have another linux machine lying around. |
|
Pretty cool use case eevans - I haven't thought of anything like that. FUSE in userspace is also great in general. |
|
@eeevans Can't you do that using the new support for removable drives? |
|
@sundhaug92 probably not. That is specifically in the case of fat32 and ntfs removable media. |
|
My use for such devices is to be able to use tools like |
|
@res0nat0r - as a matter of interest, if you're running on Windows, why not just use one of the multitude of audio free and/or open-source tools for Windows? |
|
@bitcrazed Honestly it was just so that I could re-use my EAC + Picard on Windows though will also do the trick. |
|
Understood. Supporting USB CD/DVD drives isn't high on our backlog - I recommend you look to other tools; there are plenty for Windows too ;) |
|
No problem, thanks for the feedback! |
|
@neon64 : We'll announce publicly once it will be available in insider builds. |
|
...this is encouraging! @OneBlue do you have a rough date? Can we expect this for the Insider Preview builds for 20H2 later this year? |
|
Is there any technical reason a block level device (that is probably a disk, thanks) couldn't be mounted to WSL1? I see the docs are only for WSL2. |
|
Discs can be mounted in disc drives, WSL1 is not a disc drive. |
|
@espg : We've made this change and it's working its way through the Windows release pipeline. If I had to give a non-official estimate, I'd say around 3-5 weeks. @lmcdougald : WSL2 is running in a lightweight VM and Windows already has infrastructure to attach block devices to VM's. WSL1 does not have any infrastructure for that, so that would be a completely different problem to solve. We have no plan to implement wsl --mount for WSL1 at this time. |
|
Not concerned with wsl --mount being implemented, just wsl --mount --bare. Obviously that's the part you're suggesting takes the most effort though. Would it be that different than how any sort of usb image writer app takes exclusive mode of a drive? Or is it trickier because the virtual Linux file system has to map it? |
|
There is no block device to map, which is what this issue is about. |
|
wsl --mount is now available in the latest insider preview build (see blog post). @lmcdougald : Making the device readable and writable in WSL1 wouldn't really be useful unless WSL1 could also parse partitions (GPT / MBR) and read filesystems. That's the reason why wsl --mount is only available in WSL2. |
|
Enabling the former scenario will allow the latter. The file system aspect for example could be covered by: https://github.com/billziss-gh/winfuse/releases
|
|
My use cases
So at the end of the day WSL adds nothing for me that I can't get quickly from a secondary OS or from Docker for Desktop containers at this point. The differentiator for me is to be able to eliminate at least one or both of the aforementioned options. |
|
@cephas0 : You can do both of these things with wsl --mount.
|
|
@OneBlue except this don t allows partitions thus preventing it to work with one drive slot computers, whereas a Linux native system maintains full access to acl of ntfs partitions. |
|
There is a workaround with StarWind VSAN. It supports whole device passthrough or partition/virtual disk block access over iSCSI. Configuration guide here - https://www.starwindsoftware.com/blog/enable-block-storage-devices-in-wsl2 |
|
Every version of WSL I try to like but keep going back to cygwin because stuff like this... |
|
It would appear that the WSL2 not having passthrough for Serial Ports is also bundled under this issue. Please advise, as it would be nice to run WSL2 for MicroPython on my ESP32's. As it is, I will have to restart my machine in full Linux mode. Is there any plan for passthrough for COM ports in WSL2? If not, why not? It worked fine on WSL1. |
That sounds like a separate issue, if so you should probably create one as such |
|
I've just installed WSL 2 on Windows 11, and the |
What distro did you install? Ik have that missing file error in WSL2 on Windows 10 in Debian 11, but it works in Ubuntu 18. |
|
The default Ubuntu distro.
~~ Robert.
Science tells us we are merely beasts, but we don't feel like that. We feel
like angels trapped inside the bodies of beasts, forever craving
transcendence.
(VS Ramachandran, cognitive neuroscientist)
|
|
For me, I just want to use dd without having to go to Linux. I can't use a livecd easily because I don't have a flash drive, and my usb drive isn't recognizing on windows tools (though I can see G/: in the explorer, though it freezes). So this was hopefully my last attempt to get it to work. (Not sure it'll necessarily work, but there are similar use-cases to this) For others, it's also useful for formatting a drive using linux, (without having to go through the trouble of a dual boot / livecd) |
Maybe Cygwin will be able to help you with that. I vaguely remember dd working there, but it has been a long time. |
Can confirm that it works fine, I've been using it for half a decade. I tried my best to move to WSL2 but it has too many failings compared to Cygwin, so I'll probably stay on Cygwin for at least another 5 years. |
Is there any ETA on when we can see block devices such as sda, for tools like hdparm ?
Thanks
The text was updated successfully, but these errors were encountered: