How to Install MS-DOS on a Modern Computer
For those needing to replace old controller hardware on cutting mills, those into native retro gaming, or for those who want to see what all the fuss was about in the 1980's, or for those who just want a play with old but great technology, this tutorial shows you step-by-step processing getting the breakthrough desktop operating system running on the latest greatest hardware.
For this project, you will need the following:
1 copy of MS-DOS 6.22 floppy diskette images
1 install of Oracle VirtualBox (it's multiplatform, so chances are you can obtain this). This is a free virtualisation application.
some free hard drive space.
Create a new VM called DOS. Use the Wizard in VirtualBox, that's what it's there for.
Leave the Base Memory set at 32MB. It's enough for most things DOS, any higher and you will start to see weird errors.
Set up a NEW HARD DISK with dynamically allocated size NOT MORE than 2.00GB. FAT (the filesystem which MS-DOS 6.22 uses) CANNOT handle volumes larger than this!
Once this is all set up and the Wizard finished, you should have a nice pristine DOS VM ready to be populated.
Locate your floppy disk images. You won't be needing them just yet, there's one more thing you need to do. Right click on your new VM and select "Settings". Go to Storage and add a floppy controller.
Next add a Floppy Device (click the disk next to the new controller that just popped up) and choose the first disk in the installation images when asked. Click OK and start the VM.
As it's a DOS VM it will first look for a floppy controller from which to boot. It'll go through the motions to install and eventually will ask for Disk 2.
Don't panic, here's what you do: go to Devices->Floppy Devices->Choose A Virtual Floppy Disk File and select Disk 2. Same procedure for Disk 3. When the VM asks you to restart, remember to remove the disk image from the virtual drive or it'll throw a non system disk error!
By the end of it you'll have a very basic DOS environment, ready to go. If the restart causes the system messages to appear on one line at the top of the screen, simply reset the VM.
The next thing to do, before you do ANYTHING ELSE, is to clone the VM as it sits, use the clone for testing software before you commit the installation process to the original VM (potentially BREAKING STUFF if it goes wrong!), this way if you break a fully populated VM instead of having to rebuild and remember how you did it, you can just simply clone a spare.
Next up, it's adding the CDROM driver. Simplest way (the only way at this point!) is to download a CDROM driver floppy image. Do a search for an OakCDROM floppy image, and load it like you did the DOS install images, then in your VM go to drive A: and xcopy all the files to your /DOS folder.
Next step is to add this line to your CONFIG.SYS:
Then add this to AUTOEXEC.BAT:
LH C:\DOS\MSCDEX.EXE /:MSCD001
Reset the VM. You should see a new drive (drive D:) pop up. You are now ready to install applications using CDROM images instead of swapping out floppy images!
IMPORTANT caveat: Dblspace/Drvspace compression WILL NOT WORK on these appliance volumes, in fact attempting to deploy DxxSpace on a VirtualBox DOS appliance will BREAK IT. So please, don't ask me how to rescue a DxxSpace-broken appliance, because it cannot be done. This is why we have clones. Recovery is as simple as deleting the old broken clone and copying from the known-good spare (which I know you have!).
This procedure is a lot simpler than adding a new hard drive. In fact, you don't even have to pop the cover on your computer!
With the VM shut off, go into Settings->Storage and add another virtual hard disk (as shown). Click on "Create New Disk" and advance two screens. This is where you get to size it. Select Dynamically Allocated, and in the next screen adjust to 2.00GB or less (a reminder: DOS CANNOT handle a partition larger than 2.00GB). It might be an idea to give the new disk an identifiable label as well, like "DriveD". Hit Next then Create.
Caveat: since this is a virtual appliance, you might be forgiven for thinking that you can just pile drive upon drive, but you need to remember that you're emulating an old APM system. The rules apply now as they did then: you cannot add more than four devices per IDE controller, and DOS does not support SATA in native mode (SATA in IDE mode works; VirtualBox seems to apply this mode automatically, so you can add more drives to a single SATA controller if you need to). So if you're trying to add more than four devices to the IDE controller, you're SOL; you'll have to add a SATA controller.
My rule of thumb in this regard is: use a maximum of TWO IDE devices for virtual hard disks, add more via the SATA controller. Reserve the other two IDE device ports for the CDROM and things like Zip/Jaz drives, tape streamers, etc., that connect to the Host via the IDE interface or that you want DOS to access via the IDE interface.
You now have a new drive in your VM, which you can access by starting the VM and running FDISK. Select Option 5 (change current fixed disk) and select disk 2. This will take you back to the main menu, where you can create a new partition and use the maximum available space on the volume to create a primary partition (this is the same as dedicating a standalone hard drive 2GB in size for storage on a single partition). To confirm this check the Partition Information and you should see something very close to what you see in the image.
Exit FDisk, reset the VM then use the "Format d:" command to prepare the drive for use. As your storage needs increase, you can add up to 24 hard disk partitions total (including C:) before you run out of letters (after all, who really needs more than 48GB of space??), less if you have a CDROM driver installed.
Since MS-DOS is based on old APM BIOS technology, it's not 100% compatible with newer gear which these days uses EFI rather than Flash BIOS (ACPI). In essence, this causes the appliance to hog CPU resources since MS-DOS has zero concept of scheduling. The way around this is to install a program that resides in memory inside the appliance to throttle the CPU to the appliance. This also helps prevent crashes which can bring down the main system. Also, there are issues surrounding applications and games that use EMS; this can be gotten around by running them in an appliance running Microsoft Windows 95 OEM SR2 or 98/98SE.