9

I'm trying to create a bootable USB for MS-DOS 6.22. I can't risk using FreeDOS or any other version of DOS because I'm working with a very niche utility that has the potential to break expensive things if things are wrong.

I'm using the ISO for MS-DOS 6.22 found at AllBootDisks.

So far I've tried this ISO in several versions of Rufus and the latest version of UNetbootin.

I've tested the following versions of Rufus from this link:

  • V1.3.0 Beta (w/o FreeDOS)
  • V1.2.0 (w/o FreeDOS)
  • V1.2.0.183 (w/o FreeDOS)
  • V1.1.7 (w/o FreeDOS)

...all of which produce the following error when selecting the ISO:

This version of Rufus only supports bootable ISOs based on 'bootmgr/WinPE' or 'isolinux'. This ISO image doesn't appear to use either.

From the main Rufus page, I've tested versions:

  • V2.15
  • V2.14

...which both produce the following error when selecting the ISO:

This image is either non-bootable, or it uses a boot or compression method not supported by Rufus.

According to this link, it's not possible at all to use Rufus to create a bootable USB for specific versions of MS-DOS.

By contrast, UNetbootin seems to accept the ISO when creating the bootable USB, but booting into it causes the boot loop described here.

Is it at all possible that the ISO from AllBootDisks is faulty? If it's not the ISO, then how else can I create a bootable flash drive for MS-DOS 6.22?

9
  • Did you try using Rufus v 1.1.7 without FreeDOS Support as described here? – DavidPostill Jul 8 '17 at 21:31
  • I'd come across that guide but disregarded it because it was creating a Windows 98 DOS bootable. I also wouldn't have thought the version without FreeDOS support would have helped because I wasn't selecting FreeDOS while creating the bootable USB. Regardless, I've just tried doing so, and it results in a different error: i.imgur.com/53aKC8b.jpg – Hashim Aziz Jul 8 '17 at 22:01
  • 1
    Or just use a GRUB ISO to load and boot a DOS floppy image. – binki Jul 10 '17 at 2:45
  • 1
    @binki That is basically what I did when I needed to use DOS to install a BIOS patch. I had a USB Linux, and edited the boot menu to have an option that points to an MS-DOS floppy image. The disk emulation persists beyond merely booting--it would be useless if it didn't, since a full bootup requires accessing files after the initial boot. – trlkly Jul 12 '17 at 17:21
  • 1
    If you are having trouble with UnetBootIn (which is supposed to work with ISOs), you may want to use a floppy disk image instead. There is one available from the same site. – trlkly Jul 12 '17 at 17:42
3

Around the time when Windows 98 was mainstream, bootable MS-DOS CDs and USB drives used a 1.44MB floppy disk image as the actual boot target. The CD/USB drive stores the floppy image either visibly on the file system or invisibly outside of a partition, and the computer would boot to a virtual A:\ drive. If access to the CD/USB drive is desired after boot, the appropriate driver must be present on the floppy image and loaded.

At least in some cases, booting from the floppy image requires features implemented in BIOS. (I remember trying to make a rescue disk on a state-of-the-art 32MB USB drive, and there being different instructions for BIOS that support USB-FDD, USB-ZIP, USB-HDD, etc.)

If you don't feel like hunting down period-appropriate documentation and tools, your best bet is probably a MS-DOS floppy image paired with a modern bootloader that supports memdisk features. syslinux/isolinux and GRUB4DOS comes to mind.

2
  • Because most modern firmware (BIOS/UEFI) does in fact support INT13h access to USB mass storage, drivers are a non-issue. You wouldn’t use a floppy image, of course. – Daniel B Jul 10 '17 at 9:05
  • 1
    @DanielB Yes, I should have specified clearer that I was talking about computers in the Windows 98 era, when USB INT13h emulation can not be taken for granted. – twisteroid ambassador Jul 10 '17 at 9:26
16

Rufus author here.

As explained here, Rufus does not embed any version of MS-DOS with the application, so it doesn't matter what version of Rufus you use, you won't magically get a specific version but the Windows Millennium DOS version that Windows provides (that is, up to Windows 8.1, since Windows 10 removed it altogether, so there's no MS-DOS creation option in Rufus if running on Windows 10 or later).

Now, your expectation is that Rufus can create an MS-DOS bootable USB if you provide your own version (as an ISO, or something else). This is not the case. Rufus cannot be used to create an MS-DOS bootable USB drive except a Windows Millennium one, if you are running Windows 8.1 or earlier, and, because the demand for such a feature is exceedingly small (at this stage, I have to point out that the amount of people who have been able to claim that they have found a genuine flaw in FreeDOS that forces them to use MS-DOS currently stands at exactly zero, as most of the "issues" that people have with FreeDOS only have to do with a slightly different way to handle AUTOEXEC.BAT/CONFIG.SYS or menus, which is easily addressed and does not constitute a DOS incompatibility), I have no plans whatsoever to ever add that functionality as I have 100% confidence that FreeDOS can always be used in lieu of MS-DOS.

The only way I would ever consider adding this feature is if the following conditions are met:

  • You can demonstrate that you have found an actual incompatibility between FreeDOS and MS-DOS (rather than a "belief" that there may exist one, which, in years of being subscribed to the FreeDOS mailing list I have yet to see).
  • The FreeDOS developers indicate that they are unwilling to address this incompatibility.

Short of these two conditions being met, I will respectfully request that you either use FreeDOS (which, again, I have yet to see fail compared to MS-DOS in terms of compatibility) or another utility than Rufus.

6
  • I entirely understand the reasons for not catering to MS-DOS beyond packaging the ME version, I can see how for the vast majority of use cases FreeDOS is a far better alternative. – Hashim Aziz Jul 10 '17 at 1:19
  • 4
    I see that I've been confused on how Rufus works with MS-DOS ISOs, but this is mainly because of how the Rufus UI works: imgur.com/a/aodRQ. I humbly suggest you consider revising the UI to make it more clear that ISO selection is an either-or option in cases where it is. Removing the ISO selection button, for example, when MS-DOS has been selected in the dropdown would work well and eliminate confusion for many others as well as myself, I'd bet. – Hashim Aziz Jul 10 '17 at 1:29
  • Now, correct me if I'm wrong, but afaik, you can make a USB bootable device with any DOS if you use a raw image (img) of the bootable floppy instead of an ISO image. Correct? – jarnosz Jul 10 '17 at 22:36
  • 3
    I've never tried it, but I don't think that'll work on account that, IIRC, floppies don't have a partition table (the first sector is not the Master Boot Record but the Volume Boot Record) and are therefore handled differently by the BIOS in terms of boot. But the best way to answer that question would be if you gave it a try and reported. – Akeo Jul 11 '17 at 10:46
  • There is more than one way to make a bootable USB stick, and one of those ways involves treating it like a "superfloppy" rather than as a hard drive. So it may work. That said, I recommend just using a tool like UnetBootIn instead, as it already works with DOS-based ISOs. – trlkly Jul 12 '17 at 17:29
2

Ok I got it working with an old IBM Thinkpad. Here are the steps I took:

  1. Get the Dos6.22 IMG file from here as you already did.
  2. With RMPrepUSB (I'm using v.2.1.739) select File->Drive.
  3. Go through the prompts and let it put all the files from the ISO onto the USB stick.
  4. Copy ALL the files on the USB stick to somewhere on your hard drive (these should be the only files in the folder).
  5. "In the Copy OS files from here" section, put the folder that you just copied all the files from the USB stick to.
  6. In Sec.3 select MS-DOS bootable.
  7. In Sec.4 select FAT16 on the left, and "Boot as HDD" and "Use 64hd"**
  8. (Make sure the checkbox next to "5 Copy OS files" is checked)
  9. Select 6 Prepare Drive and follow the prompts. It will partition, format, MBR, bootsector and copy the files to the USB stick.
  10. When 9. is complete, hit Eject Drive and remove USB stick.

That's it! Let me know if it works for you.

Note: I think the problem with just doing the File->Drive thing is that it doesn't put the files in the right place on the USB stick. When you let it prep and copy the files itself, it puts everything in the proper place and order.

** You may have to monkey with the checkboxes in this section. My laptop places the USB Boot under its "Hard Drive" section when it lists it in its BIOS. Your computer may consider it removable storage, or a FDD.

6
  • I appreciate your answer, though I actually did manage to get this working since, I just haven't had the time to update it. Since asking this question I've learnt more about MS-DOS and creating bootable flash drives than I'll ever know what to do with. One question about this method - does it allow you to copy files to some place on the flash drive so those files are then visible and usable when DOS is booted? – Hashim Aziz Oct 24 '17 at 10:57
  • 1
    Yes, for example I copied QuickBasic 4.5 onto the drive and am using it. This was the whole purpose for me wanting a DOS6.22 bootable USB. – Steve N Oct 24 '17 at 22:38
  • Are you positive that it's version 4.5 of QuickBasic that you're using? I ask because DOS 6.22 comes with 1.1 by default, and want to be sure that's not what being run instead. Also, when running the bootable, does it boot you into a C: or an A: drive? I'd really appreciate the clarifications, thanks. – Hashim Aziz Nov 2 '17 at 1:25
  • Quick Basic 4.5, not Qbasic. Qbasic comes with DOS. QuickBasic was an actual programming environment you could buy. I bought QuickBasic 4.5 a long time ago. – Steve N Nov 3 '17 at 2:22
  • 1
    It is C:, although I suspect that if you have RMPrepUSB identify it as a floppy, and/or set things up in your BIOS correctly you can get it to be A:. I am unable to access the hard drive of the computer probably because it is formatted FAT32 and not FAT(16). – Steve N Nov 4 '17 at 3:23

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.