WSL1 was more or less the reverse-equivalent of WINE as I understood it, more or less a translation layer for a subset of syscalls, the approach is awfully limited from the get go. Not sure how using a VHDX or partition would solve that. We'd be back to square one, with things like containers being unusable again.
> Not sure how using a VHDX or partition would solve that
The problem with WSL1 is limited to disk IO performance, because the compatibility layer that's easy to do with system calls isn't so easy to do with the filesystem.
> We'd be back to square one, with things like containers being unusable again.
It's complementary. WSL2 when you play with containers, WSL1 when you don't.
Personally, I don't bother with containers for about 90% of the development cycle - and it's just for testing before being deployed to a genuine linux, not some VM.
Also, if you want to run servers with WSL (say, postgres), having containers is the last of your problems.
Ah, different usecases then. I pretty much tend to go containers from A-Z for anything non-trivial, thus WSL1 was more or less useless for me. IO is also a big problem, just running a simple git status on a bigger project is a PITA.
I wouldn't call having only a subset of system calls, no containerization, no background services, no proper init system, no kernel modules, "not all that limited". But maybe that's just my use case.
I've never hit a system call I wanted but wasn't available on WSL. In fact the couple times I've been disappointed at the lack of a system call it was when I was booting linux.
No containerization: Agreed, this is a significant limit.
Background services work just fine, I don't know what you're getting at. I have cron and stuff going.
What's improper about the init system? I start services, I stop services, it seems fine.
No kernel modules: I feel like this is pretty niche.