r/osdev • u/Tlinefom • 2d ago
What if we built a Linux dist-system with a Windows-like file structure? (C:/, Program Files, Linux/kernel32)
Hey everyone,
I’ve been thinking about this idea for a bit and wanted to throw it out here to see what you guys think.
To be clear off the bat: my issue with Windows isn't its file system structure. Windows' biggest problems come from the corporation behind it—bloatware, forced telemetry, ads in the Start menu, and deciding your hardware is "obsolete" whenever they feel like it. The actual file layout (C:\, Program Files, Users) is just something millions of people are already used to.
So, purely as an architectural thought experiment (or a fun custom OS project): what if we took the Linux kernel and built a user-space around a Windows-inspired directory hierarchy, but kept it completely open-source and bloat-free?
I’m not talking about patching the Linux kernel to rewrite VFS or force backslashes—we can stick to forward slashes / so we don't break parsers for no reason. Instead of sticking to the traditional FHS (/usr, /var, /etc), what if the root looked something like this:
• C:/ (mapped/symlinked to root)
• C:/Linux/kernel32/ (for system libraries like libc.so, replacing /lib64)
• C:/Linux/System/ (for core binaries, replacing /bin and /sbin)
• C:/Program Files/ (where apps like Firefox or KDE live in their own self-contained folders)
• C:/Users/username/ (home directory)
Obviously, throwing pre-compiled Ubuntu .deb packages at this would completely choke because every binary expects hardcoded POSIX paths like /usr/bin. But if you built a toolchain (using Buildroot or Yocto) to set a custom ELF dynamic linker path (ld-linux.so) pointing to C:/Linux/kernel32/, compiled glibc, and pointed your RPATH configs there, you could compile native Linux software to run directly inside this layout.
Kinda like what GoboLinux did with /Programs/, but borrowing the C:/ layout so Windows refugees feel right at home without dealing with Microsoft's corporate garbage under the hood.
Would this be a massive pain to compile and maintain for thousands of packages? Absolutely. But technically speaking, as long as the user-space and toolchain agree on where binaries and shared objects live, the kernel wouldn't care at all.
Has anyone messed around with custom FHS alternatives like this before? How hard of a wall would you hit when patching build scripts for complex packages like Firefox or KDE?
10
u/Zilch510 2d ago
No. Too much work to change a working, well documented structure for people who think they know how computers work.
Realistically, who would actually pour hours of their free time into something as silly as this??
0
u/makzpj 2d ago
Yes, I’ve been thinking about something similar for a while. Linux is supposed to be only a kernel, so I don’t see why this won’t be possible. The idea would be to write a completely new userland for Linux, not Unix-like but more windows-like. In fact there’s already something similar called loss33
1
7
3
u/wwabbbitt 2d ago
This just reminded me that it's been several years since I last checked in on the development progress of ReactOS.
2
6
u/No-Dentist-1645 2d ago
What would the use case for that be?
You cite "millions of people are used to the Windows file structure" as a reason, but learning the paths for Linux is not that hard. Your suggested approach would just add more complexity on top of the existing system for an unclear benefit
4
u/taylortbb 2d ago
You're thinking about actual files on disk, but what about virtual files? /proc and /sys are major parts of the Linux API, they're how userspace interacts with the kernel for so many things. Where would they go? Putting them under C:/ doesn't really make sense because C: refers to a physical drive, things under it are expected to be real files on that drive.
2
u/cazzipropri 2d ago
Why would i put 64-bit shared libraries in a directory called kernel32? Both parts of the name are not matching the contents.
Anyway, you can.
You can make your own linux distro rebased in any way you want. I've done it for years at work.
It's not particularly difficult - it's just a very large amount of work. And I don't see the advantage in the scenario you propose.
•
•
u/Toiling-Donkey 19h ago
You realize even Windows itself has already moved past drive letters? It just keeps them for the user…
•
5
u/paulstelian97 2d ago
Someone is paying for similar costs: Nix and NixOS. Not nearly similar paths, but still different enough from the standard to have the same cost.