If you know your Windows history, you’ll know that the operating system got that name when it moved away from using pure MS-DOS and started using a graphical user interface to show things. As it turns out, you can force Windows 11 back to its legacy roots and reduce it back to a command-line interface. This is what the developer of Tiny11 has achieved, calling their new creation “Minwin.”
The developer of Win11, NTDev, posted a video on YouTube about their project. There’s absolutely nothing flashy here; no Copilot, no Start menu, and definitely no UI. It’s as graphically complex as the Command Prompt, which meant that NTDev had to resort to fancy 00s-era ASCII logos to announce that Minwin was working.
Simon Batt at XDA
Definitely a neat proof-of-concept, and it shows just how modular Windows could be if only Microsoft allowed its users to take out the parts they don’t need. I wonder how close this is to Nano Server, an installation option for Windows Server you’ve probably never heard of.
I also like the nod to MinWin, the informal codename Microsoft used internally to refer to an effort by a small number of expert Windows kernel engineers to untangle the spaghetti ball of dependencies that had sprouted between the various architectural layers of Windows. This project started around Vista, and eventually made it possible to make broader, sweeping changes to Windows without breaking things all over the place because the spaghetti ball of internal, low-level dependencies wasn’t mapped out.
Most of the Windows is not strictly relevant to all users. But as the 80/20 rule goes, all parts are relevant to someone.
There is a massive backwards compatibility later. Not only the 32-bit subsystem under the 64-bit modern version, but gigabytes of patches and shims to run broken software is there. Why? So that your terribly written Windows XP application will still run, even though they have made significant errors in their coding.
For example this story on Windows 95, where they had to “fix” SimCity game, which used memory after freeing:
https://www.joelonsoftware.com/2000/05/24/strategy-letter-ii-chicken-and-egg-problems/
There are also other “useless” things like the Store, Email/Calendar/News applications, drivers for 99% of which you don’t have the hardware, utilities to join domains or manage remote servers, additional APIs like .Net, and so on.
I am sure there are configurators for Windows that will allow IT departments to drop most of these stuff. But practically, most people will just add 16GB SSD storage, and not worry about their new printer, or old game not working all of a sudden.
sukru,
Would you agree It’s probably better to distribute ancillary drivers and software via online repository than to force every installation to carry it?
The irony is that despite all of the bloat, consumers still have to contend with EOL graphics cards, printers, scanners, capture cards, etc that no longer work in new versions of windows. It’s so frustrating when hardware becomes ewaste after OS upgrades. I invested in lots of video equipment under XP and it became worthless. This was kind of a pivotal moment for me learning why open source is so important.
Alfman,
Convenience almost always wins.
“Let’s try this new USB wireless adapter”. Windows: “Ah, I have a driver for that, but I need to be online to download it”.
One option is having the image or copy of the install medium on another partition, which I think Windows already does for “reset” purposes.
As far as I know, Windows has gone through two major driver breakage cycles.
Windows 9x -> Windows XP, which changed kernels.
Windows Xp -> Windows Vista which moved many things around, for arguably a cleaner slate (though I have disagreements).
Windows Vista style drivers should still work (as with Windows 7, 8, 10) on Windows 11. But 32/64 bits might also be a, third, breaking change.
sukru,
It’s not exactly convenient that you can’t use your full disk space on account of windows reserving it for software that 1) has almost no chance of being used, and 2) will need to be immediately updated. Users have been sideloading software onto fresh windows installs for decades. This has never been a problem before, so why turn it into one now? Honestly I really do not think that bundling preinstalled software with the OS is all that important to normal users and the cost/benefit favors online distribution. Internet is already mandatory for windows 11 activation. So in the grand scheme of things, keep it simple and let users install what they want.
There have been more breakages cause by changes in driver signing policy. The result is sometimes new versions of windows refuse to load old drivers that are otherwise compatible at the API level.
As a user, I agree. However, I can imagine that somebody that had to pay for the bandwidth to download the same content over and over to millions ( or billions ) of users may disagree.
Such an organization already uses a cache server.
It looks a lot like an updated Nano Server. Note it has a “real” conhost.exe – the 2016 version had a very funky console where the kernel directly rendered text via the boot environment text renderer, which was problematic because there’s only one instance of it.
On the 2016 version, most things didn’t “just work”, but my tools kind of did. They are designed to only have hard dependencies on NT 3.1 functions and dynamically load anything else – so they actually ran. After a bit of hacking, they ran fairly well. It’d be interesting to see whether they still run well in this environment, which still has the kernelbase + kernel32legacy DLLs.
Although it might be surprising, Nano still had a TON of appcompat glue – it’d load binaries depending on kernel32.dll and redirect the imports to the DLLs it had; heck, it ran binaries depending on user32.dll and only killed them if they called a user function. It just didn’t do the same redirection for LoadLibrary. I’m not bitter ( https://github.com/malxau/yori/blob/a5b598865a04246ac374de3355915493389f7c09/lib/dyld_adv.c#L137 ) .
This was on Nano Server 2016, with a patched kernel to fix bugs in its console (sigh): http://www.malsmith.net/edit/nano_bg.png
Oh wow, it took you only 10 months to notice it, lol.
The linked article is two days old?
The article links to a 10 month old YouTube video that explains the project.
https://github.com/ntdevlabs/tiny11builder
I think this is the far less aggressive version that still has a GUI. I’d love to actually mess with the command-line only one. Maybe see which MinGW/.NET/Rust command line apps limited down to simple POSIX stdio work and which don’t.
Never used DOS that much but one attribute that I really l.iked was that you could create a single floppy disk with just three files (I think) and, after running the undocumented “fdisk/mbr” – BOOM – you had a minimal bootable copy of DOS. You could then add in utilities piecemeal to whatever particular task you needed to accomplish. A minimal Linux system, by contrast, required 3 floppies – much uglier.
I don’t know what it was called, but there used to be a Linux distro that took only a single floppy (live, but instead of cd it booted from floppy). So old in fact, that you were told to use Rawrite because Rufus, etc. weren’t a thing at the time. Had most of the standard tools, even a copy of gcc.
The most impressive I remember was the QNX demo disk:
http://toastytech.com/guis/qnxdemo.html
They fit an entire “unix like” operating system along with UI and Internet capability inside a floppy.
Downside? It was closed source, and discontinued.
I’ve used various Linux distros that use curses to provide a rich console environemnt, and see no reason why the same can’t be done in Windows. It’s childsplay to install a “headless” Linux system without all the graphical baggage. Why can’t Windows do it?
Long ago, I saw the NT boot floppy trick, so I know that it’s possible to have console without graphics. In this age of virutalization, I’d think that having a lean version of Windows to compete with Linux would be desirable. I know that it would be nice to have a recovery environment that didn’t need to have the right graphics drivers, or a PE thumb drive that could boot quickly even with USB2, and allow a few console commands.
As a system admin, one of my favorite tools is Remote Utilities, which lets me pop up a CMD or PS prompt from a remote computer on my desktop. Most of what I need to do day to day can be done through that text shell. Why can’t they bring that to bare metal?
I think the main issue here is a lack of Norton Commander-style stuff for windows CLI, you’d need to write one, then do this tiny11 trick.
Speed Daemon,
It’s funny, but as a windows admin I used to find knoppix quite useful at times. I remember trying bartpe as well, but it lacked software and wasn’t as useful as a live boot environment.
http://www.knopper.net/knoppix/index-en.html
https://en.wikipedia.org/wiki/BartPE
It’s 100Mb and only provides text mode? Whereas something like AmigaOS only takes a few megabytes and yet provides three interfaces (WIMP, console and REXX).
Windows has a lot of baggage in the shape of backwards compatibility. I think 100mb is quite an achievement.