11

I'd like to setup a Windows 98 SE system that boots into the included MS-DOS 7.1 command line, and which can also run Windows 3.11. I've seen various disjointed posts online that suggest this is possible without using multiple boot partitions, and that all 3 OS's will support a large FAT32 partition and Long Filenames (LFN).

If this is indeed supported, what would be the rough order of steps to get it working?

Additionally, I want to use a boot menu to choose the environment, including dumping me into "vanilla" MS-DOS with the memory manager of my choice.

NOTE: I'm doing this because I want the convenience of a single large drive/partition that can run most of the software from the 1990s for DOS, Win3, and Win9x. And I'm hoping DOS 7.1 is also backwards compatible enough to run some 1980s software too.

  • 3
    Perhaps you should ask the Can Windows 3.11 be modified to understand Microsoft's long filenames on FAT volumes, and if so how? question first. (-: – JdeBP Dec 3 '19 at 21:56
  • 1
    I think this will not end well. Why do you want to do it? – Thorbjørn Ravn Andersen Dec 5 '19 at 0:26
  • 1
    @ThorbjørnRavnAndersen: Why does he need a reason? – Sean Dec 5 '19 at 0:53
  • 1
    @Sean it's not about needing a reason it's about XY-Problem. Sometimes there are better ways to accomplish something that become obvious only if we know how the question came to be. – Andrew Savinykh Dec 5 '19 at 4:15
  • 1
    @Thorbjørn I suspect Brian is using a real system here, not VMs ;-). – Stephen Kitt Dec 5 '19 at 22:34
18

The first part isn’t too difficult: install Windows 98 as usual, then edit MSDOS.SYS to change its BootGUI setting to 0. This will disable the automatic GUI startup, and the computer will boot to a COMMAND.COM prompt.

You can install Windows 3.11 in a different directory than Windows 98. Before you can, you’ll need to patch IO.SYS using Ralf Buschmann’s Win3xStart program (in osr2fix.exe). Once that’s done, Windows 3’s SETUP will work; choose “user defined setup” so that you can specify what directory to use, and make sure you don’t let the installation program make any changes to CONFIG.SYS and AUTOEXEC.BAT. After installation, you should also patch WIN386.EXE (see the previous link) to avoid issues after exiting Windows.

Windows 3.11 doesn’t support FAT32 directly, so some of its features won’t be enabled (32-bit file access in Windows for Workgroups 3.11 for example), and it can produce confusing results with large partitions. Some third-party installers will refuse to install on disks where the available space is “too large”. Windows 3 also doesn’t support long file names; you can however use DOSLFN and Calmira LFN to get some level of support for long file names. 32-bit disk access will only work if you use Windows 3’s version of IFSHLP.SYS. Windows 98 also no longer supports SHARE.EXE, but its DOS kernel is apparently incompatible with Windows 3’s VSHARE.386, so programs which need the corresponding features will fail to run.

The CONFIG.SYS menu system is still available under Windows 98, so you can use that to build your boot menu.

In situations where you don’t need FAT32, Windows 98 also supports dual-booting with MS-DOS 6 in the same partition, as long as you install the latter first, and choose the option to back up your previous operating system during the Windows 98 installation. See this guide for details.

Note that the vast majority of Windows 3 programs will work fine under Windows 98, so you might find it simpler to use that instead, as explained in Ross’ answer.

Thanks to Ross Ridge for the pointer to this Vogons thread on the subject!

27

I'm going to post a frame challenge answer and say that if your goal is to run MS-DOS and Windows software from the early 90s and before then you don't want to do what you propose. Instead you're better off just installing Windows 98 SE and booting (or rebooting) into MS-DOS mode for the few applications that need it. In particular trying to force Windows (for Workgroups) 3.11 to work under MS-DOS 7.1 requires various hacks and will likely result in something that's less compatible with applications.

Microsoft has always taken backwards compatibility very seriously (even today, the 32-bit version of Windows 10 will run many old 16-bit Windows applications), and Windows 98 wasn't an exception. It's predecessor, Windows 95 wasn't the revolutionary new operating system that it superficially appears to be. It was just an evolution of Windows 3.11, with a lot of new features but also with a lot of the same code. The most likely reason for an old Windows applications not to work is because of new hardware. Things like drives being bigger than the software assumed possible, or the CPU being 10 or 100 times faster. Problems that your proposed setup wouldn't fix.

For old 16-bit Windows software written for Windows 3.11 or earlier, you're just better off running them under Windows 98. No patches, no extra drivers are necessary. They won't automagically get full long filename support, as they'll still be using the old 8.3 interfaces, but they'll work just fine. If you do manage to find something that doesn't work, you'll probably need to install MS-DOS 6.22 and Windows 3.11 on a separate FAT16 partition in order to fix the problem anyways.

MS-DOS software compatibility wasn't quite as good, because Windows, including Windows 3.11, runs in protected mode and that necessarily limited what MS-DOS applications could do, and MS-DOS applications could do anything. In practice, almost all MS-DOS applications worked within these constraints, but a few MS-DOS applications require that they be run in plain MS-DOS. For those you can either change the BootGUI option in MSDOS.SYS, or select the "Restart in MS-DOS mode" from the shutdown menu. You can even set up shortcuts so do they automatically do this and launch the application.

I used Windows 98 as my primary computer for a long time after it became obsolete just because of its excellent backwards compatibility, especially for games. It's very likely all you need.

  • 6
    I agree this is the more sensible approach! Other advantages include that it’s easier to get decent drivers for less ancient peripherals under Windows 98 than DOS (e.g. PCI sound cards, network cards etc.), and that Windows 98’s networking support is better than Windows 3’s so it’s easier to move files around. – Stephen Kitt Dec 4 '19 at 8:55
  • From a users point of view the new Desktop in Windows 95 was so much better that for most purposes it was a new operating system. The porting of the new desktop to NT warranted a full version bump from 3.51 to 4. Win98 SE was the pinnacle of this. – Thorbjørn Ravn Andersen Dec 5 '19 at 0:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.