QEMU/Guests/Windows 1.x-2.x

Revision as of 03:54, 20 May 2022 by Dartz (talk | contribs)

< Table of Contents | Windows 3.1 >

The Windows 1.0 desktop.
The Windows 2.0 desktop.

This page describes, in detail, how to install Windows 1.x/2.x in the QEMU software. None of these instructions require root/Administrator privileges, unless you are restricted from writing to files/downloading files.

Windows 1.x

Running Windows 1.x isn't really recommended since there's virtually no software for it (although there are some interesting gems - like Aldus PageMaker, and Micrografx In*a*Vision), on top of the fact that the mouse doesn't work at all in QEMU unless you use a driver from Windows 2.03. Although Windows 1.04 includes an IBM Mouse driver, and QEMU can emulate a serial mouse with the "-serial msmouse" option, it is not compatible with Windows 1.

To get the mouse to work, copy a mouse.drv from a Windows 2 installation and place it into your Windows 1 installation. Then the mouse will work and function as expected.

It is recommended to use Windows 1.01, though if you don't use a QWERTY keyboard, you should use Windows 1.03 for better compatibility.

Before you start

You will first want to replace MOUSE.DRV in Disk 1 with a copy from Windows 2.03, to ensure that the mouse works correctly. On Windows, WinImage can be used to do this.

Make an image by opening the Terminal (or Command Prompt) and typing this:

qemu-img create -f qcow2 DOS.img 32M

See this page for more information on how this command works.

You should see an output like this:

 

Alternatively you can install Windows 1 onto a floppy disk, but this isn't recommended.

MS-DOS is required to install all versions of Windows 1.x. You can install whatever version of MS-DOS you want, as long as its at least 2.0. However, it is recommended running it on MS-DOS 3.30 for the best compatibility. MS-DOS 6.22 also works, but seems to be more unstable with it.

Now we run the following command:

qemu-system-i386 -m 1M -hda DOS.img -fda /path/to/DOS/disk1.img -net none -vga std -name "DOS (x86)" -monitor stdio -display sdl -rtc base=localtime

Don't enable KVM or HAXM or any kind of acceleration, as Windows 1 will instantly crash if its running too fast. We also don't enable the network since its rather pointless, though it is possible to install a packet driver to use the internet from DOS.

Windows 1 is not its own OS like Windows NT is - you need to install MS-DOS first. MS-DOS 2.0 is required to run Windows 1. For this tutorial, we will be using MS-DOS 3.30. You can grab MS-DOS 3.30 from here. MS-DOS 6.22 will also work - we will cover how to run it there later.

Installing MS-DOS 3.30

Installing MS-DOS 3.30 is confusing if you haven't done it before but its pretty simple. To install it, boot the system and make sure DOS Disk 1 is inserted, if its not, press and hold CTRL + ALT + 2 to enter the serial console and type "change floppy0 /location/to/msdos/disk1.img" (obviously replacing the path). Then type boot_set a and finally system_reset.

When you are booted into MS-DOS you will see something like this:

 

Type fdisk and a screen like this should appear.

 

Create a primary DOS partition, and when it asks you to use the maximum size for a DOS partition press Y and hit enter. Press and hold CTRL + ALT + 2 again to get to the serial console and type boot_set a. Then hit CTRL + ALT + 1 If it rebooted and says "missing operating system" go back to the serial console and type system_reset.

Now we need to format the hard drive so type format c:, hit Y, press enter. Now it should be usable. Type sys c: and you should get a message that says "System transferred".

Now type a:, and then type copy *.* c:. Go to the serial console again and type change floppy0 /location/to/msdos/disk2.img and boot_set c. Run the same copy command again.

Once this is done, if everything went well, you should be in DOS 3.30.

Running Windows 1 in DOS 6.22

Some users may not want to install DOS 3.30, since its much older and far more complicated to install. Windows 1 will NOT work in DOS 6.22 unless you use the setver command. Install Windows 1 normally, then do the following:

  • Open config.sys and make sure that device=C:\DOS\SETVER.EXE is somewhere in there.
  • Then type setver WIN100.BIN 3.30.
  • Reboot

Then Windows 1 should work.

Installing Windows 1.0x

After DOS is installed, start QEMU like this:

qemu-system-i386 -m 1M -hda DOS.img -net none -vga std -name "Windows 1.0 (x86)" -monitor stdio -display sdl -rtc base=localtime

Once MS-DOS is installed we can now install Windows 1.01 or any other version. The install is extremely simple and is completely command-line. Switch to the serial console and set the floppy to Disk 1 of Windows 1 just like we did with MS-DOS earlier. The setup will ask you questions about your computer, make sure to answer the following:

  • Keyboard: United States - (unless you're using non-QWERTY keyboard)
  • Mouse: Microsoft Mouse (Bus/Serial) - This will display even after you replaced the mouse.drv file so pick this
  • Graphics: EGA (more than 64K) with Enhanced Color Display
  • No printer device

Then just proceed with the file copying, its really simple. Change the floppies when it asks you. It should boot into Windows 1, and the mouse should function.

Software

Windows 1.01 has some pretty interesting software. A very interesting note about Windows 1 is that it was actually the first version of Windows that could use overlapping windows, though Windows 2 was the first version where the default apps took advantage of this feature. This was done to prevent a lawsuit by Apple.

Here's some examples and download links (provided by ToastyTech):

Installing Windows 2.0x

After DOS is installed, start QEMU like this:

qemu-system-i386 -m 1M -hda DOS.img -net none -vga std -name "Windows 2.0 (x86)" -monitor stdio -display sdl -rtc base=localtime

Follow the instructions above to install MS-DOS 3.30 and then proceed with Windows 2.0 install. You will have to use the same trick as Windows 1 to run this under DOS 5 - see "Running Windows 1 in DOS 6.22" for more info.

There are two several versions of Windows 2: Windows 2.01, 2.02, 2.03, 2.10, and 2.11. Windows 2.01, 2.02 and 2.03 can still install and run from a floppy - Windows 2.10 and above need a hard disk.

You can run whichever version you want, Windows 2.11 is recommended since its the newest. It does NOT matter if its the 286, 386, or 8086 versions, they'll all run fine in QEMU

Just like with installing MS-DOS, switch to the serial console and set the floppy of Disk 1 to whichever Windows 2 version you're using, the install is extremely simple and is done entirely through the command line. The setup will ask you questions about your PC, answer the following:

  • Computer: IBM AT (or 100% compatible)
  • Make sure the display adapter is set to "VGA", keyboard is set to "United States keyboard" (unless you're in Europe or want to use another keyboard), and the mouse is set to "Microsoft Mouse (Bus or Serial".
  • If you want to use the high memory area and you're on a DOS version newer than 5.0, edit config.sys, remove the "DOS=HIGH" line and restart the system.
  • Press E to set extended memory to available
  • "C" to Continue Setup and skip installing printer
  • Set your country
  • Finish off the rest of the setup
  • And finally, enjoy!

Software

Windows 2.x has some extremely interesting software. Notably, the first version of Microsoft Word and Excel were launched on this OS, as well as Corel Draw and a couple of other programs.

< Table of Contents | Windows 3.1 >