Technology in terms you understand. Sign up for the Confident Computing newsletter for weekly solutions to make your life easier. Click here and get The Ask Leo! Guide to Staying Safe on the Internet — FREE Edition as my thank you for subscribing!

I have an important MS DOS program that won’t run in Win 7 – what do I do?

Question: I have one MS DOS program that is invaluable to me. However, it won’t run on my Windows 7 OS. Can I install Windows 98 on an external drive that I then use for backup and run the DOS program on this drive? If not, could I move the backups off of the external drive and install Windows 98 on that drive and then the DOS program?

Unfortunately, you’re not going to get the scenario that you’ve described working. You’re going to have to actually reboot into Windows 98. You might be able to do that off of an external drive if you’ve got Windows 98 completely installed on that drive, as well as the program. I don’t think you even have to move your backups for it to work.

But before you go down that road, I want you to investigate a different solution.

Become a Patron of Ask Leo! and go ad-free!

This is a job for….

In my opinion, this is a job for a virtual machine. This is a solution I use, in fact I rely on, that I think will make your life a whole lot easier.

Like you, people often consider installing Windows 98, or some other older operating system that they still need, on a second drive. It can be an external or an internal drive; it could be a USB flash drive or a USB external drive.

You can set up some kind of dual boot situation so that when you boot your machine, you choose which operating system you want to boot into. To me, that’s just too much hassle. Half the time I’ve been in those kind of situations, there’s something that I’m doing on this operating system that darn it, I wish I had the other one up to do.

Virtual machines

Virtual machines provide a solution for that. They’re basically software that emulates a machine within your machine. It’s really hard to describe the technology, so I’ll just describe the results.

Win 98 on Win 8Here’s the scenario after everything is set up: You have one operating system that you would boot your machine into. That’s probably Windows 7 in your case. After that’s up and running, you would run a program called a virtual machine manager. In that program, you will double-click on a virtual machine representation that has been configured to run Windows 98. Now, here’s the key part: a window then pops up that looks and acts as if it were its own separate computer – completely.

It’s a virtual computer. A virtual machine.

Within that window, you’ll probably see a virtual BIOS run for a couple of seconds, which then loads Windows 98 exactly as if it were a machine running Windows 98. After a few seconds, you are in fact running Windows 98 in a window within Windows 7. Then of course, you can fire up whatever old program it is you need to run in Windows 98.

Virtual machines can be moved; they can be cloned; they can be copied very easily. The tricky part, of course, is getting one set up. You would need your Windows 98 installation media, because to start all this, you’ll be setting up Windows 98 from scratch, just like you did when Windows 98 was current.

This time, you’ll be doing it within that virtual machine window.

I use Virtual Box by Oracle for my virtual machines. In fact, like I said earlier, I rely heavily on it. It’s how I run Windows XP on my Mac. It’s how I run XP, Vista, 7 and 8 all on my Windows 8.1 desktop machine.

Do this

Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.

I'll see you there!

20 comments on “I have an important MS DOS program that won’t run in Win 7 – what do I do?”

  1. I’m with Leo on the use of VMs. I love em. My host is Windows 7 Ultimate. I have a Win 7 Ultimate instance also running as a guest where I can test new software etc without affecting my host. In addition to that I also run as guests Windows 3.1, 95, 98, Me, 2000, and XP – I enjoy playing with legacy stuff.

    On top of that I also run several Linux distros as guests. :)

    Reply
  2. I tried this out a number of years ago but found it slowed my computer so much. Is that still true? How much of a slowdown is typical of a virtual machine these days with more cores on the host machine?

    Reply
    • Hi Dennis. Yes things like CPUs and RAM come into play here. If you’re planning on running several vms at the same time then you’ll want a beefy machine.

      Myself, I actually never run more than one vm at a time and as such have never had any problems.

      Reply
  3. If I ever had to explain virtualization to someone, the phrase I would use is “a computer generated computer”.

    It is also worth mentioning that Virtualization technology is business like software that is typically run in special workplaces. While this broad statement is for sure, I think that virtual machines are more typically run on servers, and I suppose that it would be great for software testing. Some antivirus labs also use it for malware testing as Virtual machines are easily restorable. (although this is less common as malware recognizes virtual “hardware”)

    Reply
  4. For years I have used drive trays, with their own hard drive, that you plug into your computer. On one tray I have Windows XP and on another I have Windows 7. I have another internal hard drive that I use to store data from either OS. I find that this system will give 100% active use of each OS without one effecting the other.
    One drawback is that you have to turn your computer off, change trays, and then reboot the computer from the changed tray.
    I too have some programs that will not run on W7, but with this they have their own OS.

    Reply
  5. A non-techie solution: 2 PC’s, one W7, the other XP under desk, single monitor, keyboard, and mouse via KVM switch [setup could also be wireless]. Flip from one to the other easy as hitting the scroll lock twice, no wait time. I’ll pull the ethernet plug on the XP to keep it safe when MS ends support in April, but will miss being able to double-team on the web when needed.

    Reply
  6. Hi all,

    I’ve got a number of DOS-based games that I still play from time-to-time and the app that I use for these is DOSBox. It creates a 16-bit environment which runs pretty much any 16-bit program and includes CD-ROM; sound and even USB joystick support.

    I’d say it’s worth a look.

    Reply
    • I’ve been running MS-DOS 6.22 in VirtualBox for quite some time and have always wanted to give DOSBox a try but never have for one reason or another. You’ve now inspired me. :)

      Reply
  7. It would be great to be able to play old programs in a Win98 virtual machine. But if I remember correctly, Win98 was plagued with crashing issues (Ah, the good old days…!), either during use or when exiting. The solution then was to switch the mains off (and hope for the best when switching on again…). Is exiting the VM the same thing ? Or could the crash of a VM affect the “main” OS ?

    Reply
    • Hi Dom. I have a bunch of VMs one of which is Windows 98SE and in over a year of playing around haven’t had a crash yet. *probably just jinxed myself

      Reply
    • A crash within a VM is completely transparent to and does not affect the host OS. And yes, exiting the VM is equivalent to turning the virtual power off.

      Reply
    • When I first got my W98 machine a number of years ago, it would crash often. _Too_ often. I discovered that the default setting for the graphics accelerator (somewhere in the control panel) was “full on”. At the time, there were very few graphics boards that ran that fast. So I reduced it to about a third, and it didn’t crash anymore.

      Reply
  8. I am also a DOXBox proponent for this particular issue, running a MS DOS 16-bit programs Windows. I set up these programs to run directly from my desktop. First I create a file of performance parameters for each MS DOS “app”, and save the file in the “app’s” program folder. I then reference that file in the desktop shortcut. Here is a sample shortcut Target statement, “”C:\Program Files (x86)\DOSBox-0.74\DOSBox.exe” -conf “c:\SomeDOSProgramFolder\dosbox.conf” -noconsole”. You can download DOSBox from SourceForge at “http://sourceforge.net/projects/dosbox/”

    Reply
  9. Thank you for the article and many thanks also to Chris and John for recommending DOSBox!! I’m migrating from 32 bit XP to 64 bit 8.1 and was afraid I’d no longer be able to run an old dBase 5 application, but DOSBox works like a dream!

    Reply
  10. Is that possible to me access my outside VirtualBox files on a MS-DOS virtual machine?
    I have a college homework to do using the DUBUG.EXE program, creating an Assembly .COM file and I need to send it by mail. But I’m having problems to save it on my non-virtual machine… What can I do?

    Reply
    • I’m not sure if this will work for you, but if you can install a DOS email program, you should be able to email it directly from your DOS virtual machine.

      Reply
  11. I prefer to boot DOS from a 2 GB-USB-Stick or from a Boot-CD. But i do not like to use DOSBOX, because it provide only outdated VBE modenumbers and it do not let us use all functions of the VBE 3 bios of modern diplay devices. Example: Both of my newer PCIe-cards a Powerful Geforce GTX 295 and a Sapphire Radeon 7950 comes with VBE-modenumbers for a widescreen resoluton of 1920×1200 (16:10 aspect ratio) for to fit the native resolution of my 28″ LCD-monitor. And with my some years older AGPx4 card form MSI a Geforce 4 TI 4200(with 64 MB) i can use refreshrate controlled resolutions up to 160 hz refreshrate for a resolution of 640×480 with a 19″ CRT-monitor with 96 khz capacity. And with a VBE 3 bios we can use hardware triple buffering or steroskopic shutter glasses.

    All of these VBE 3 bios functions and VBE widescreen resolutions are not usable within the DOSBOX. The DOSBOX is not a real DOS. Missing a CTTY instruction, missing to switch into a widescreen resolution, missing hardware tripple buffering, missing refrehrate controlled videomodes. More details of the VBE bios can be found in the public and costfree dokument “vbe3.pdf” from vesa.org (need register/login).

    With booting DOS it is also possible to switch into the 64 bit longmode and also to startup all other cores of a multicore CPU. Example for to startup other cores from Allan Cruse: http://www.cs.usfca.edu/~cruse/cs630/mphello.s

    To boot a DOS is much easier than using a virtual machine with its some times lower performance. And poor DOS applications do not need to install/start a Windows operating system. For PC with UEFI use the compatibility bios. For USB-mouse and USB-keyboard enable USB legacy.

    Reply
  12. Note that this is actually a “64-bit Windows” issue, and not a “Windows 7” issue. I can run ancient MS-DOS programs on my 32-bit Windows 7 system. (Okay, it’s technically a 32-bit Windows 7 VM, but you get my point.)

    Reply
  13. typically to make a virtual one has to have the original installation software of the OS to be used as a virtual disk – I don’t.
    You mention… “Unfortunately, you’re not going to get the scenario that you’ve described working. You’re going to have to actually reboot into Windows 98. You might be able to do that off of an external drive if you’ve got Windows 98 completely installed on that drive, as well as the program. ”
    I have plenty of old hard disks and the external disk holder – how do I boot and play programs from any of those? Most are win 98.
    Hope this was within your ‘comments’ parameters

    Reply

Leave a reply:

Before commenting please:

  • Read the article.
  • Comment on the article.
  • No personal information.
  • No spam.

Comments violating those rules will be removed. Comments that don't add value will be removed, including off-topic or content-free comments, or comments that look even a little bit like spam. All comments containing links and certain keywords will be moderated before publication.

I want comments to be valuable for everyone, including those who come later and take the time to read.