Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yeah NetWare used to boot DOS then load their kernel over it. I feel like computers used to be cooler.


Well, that is it worked on Windows as well ( up until Windows ME ), load DOS first and then Windows.

You could still do it that way if you want. Windows 11 needs a boot loader. No reason you cannot write a DOS based one.

The comment about game.exe above probably refers to the days of “DOS Extenders” that games were based on. You would launch a game from DOS and, instead of just running a 16 bit DOS executable, it would switch into 32 bit mode and use a “DOS extender” to run the game.

“DOS extenders” are really just operating systems though that use DOS as a boot loader. Popular options for DOS games and programs were DOS/4GW, Phar Lap, and Quarterdeck ( from memory ). There were many others.

Windows 95 was really a “DOS extender” too.


dos.exe was kind of referring to how a lot of games would just completely ignore DOS even before the days of protected mode and 32 bits, im going back to the 8088 days.

but yeah same idea.

actually now that i remember it, my first linux was a copy of ... i think Dragon Linux? It used Dos as a bootloader, it ran off the existing DOS FAT filesystem so you didnt have to mess with partitions, and it dealt with the filename-too-short issue by keeping a dot file in each directory with a list of the 'real' linux long names and how they matched the DOS fake shortnames.

but like even windows and linux, they are having layers and layers of abstractions. trying to do anything in X11 or win32 API calls, compared to the before-times where you just write directly into RAM at A0000 to draw pixels.. there is something about that that is very interesting.


Interesting. An odd rabbit hole. I've never heard of this kind of thing existing before Ubuntu wubi, (though I don't know why that surprises me, it's not like they're was no need for such a thing before that):

> DragonLinux was a distribution of Linux that had the ability to be installed on a loopback file on an existing FAT16 or FAT32 partition.

https://sourceforge.net/apps/wordpress/dragonlinux/

In the readme linked there, it says something different:

> DragonLinux is a Linux distribution which runs on top of windows with no partitioning needed as long as the Windows OS is sitting on a FAT32 partition. DragonLinux is fully supported on Windows ME and below. Work for support with Windows 2000 and Windows XP is in the works. > > DragonLinux is a UMSDOS distribution, compared to a Loopback filesystem of vr2r1... That change was made to eliminate the 2GB disk space boundary with the previous version, and to simplify installation and expansion (ie the file system grows as needed). > > The Full Version is a fully loaded version with GNome and several other smaller window managers, and the full line of tools for GNome. The lite version is a full console version with everything from the full version excluding the X environment, therefore being able to be run on older machines.

Looking this up more brings me to umsdos project, a filesystem that apparently runs on top of another filesystem

https://tldp.org/HOWTO/UMSDOS-HOWTO.html and https://en.wikipedia.org/wiki/FAT_filesystem_and_Linux

This brings me to loadlin:

> loadlin is a Linux boot loader that runs under 16-bit real-mode DOS (including the MS-DOS mode of Windows 95, Windows 98 and Windows Me startup disk). It allows the Linux system to load and replace the running DOS without altering existing DOS system files.

https://en.wikipedia.org/wiki/Loadlin

And then there's also grub4dos

https://github.com/chenall/grub4dos


> I've never heard of this kind of thing existing before Ubuntu wubi

WUBI wasn't the same at all.

WUBI makes a single big file and formats it with a Linux filesystem.

`umsdos` kept Linux files as DOS files directly in the FAT16 filesystem, with a hidden file in each directory containing additional Linux metadata. No Linux filesystem anywhere.

You could even run a DOS defragger and your Linux would survive. :-)

I used a distro called Pygmy Linux that worked this way.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: