How to install Windows NT on MIPS in QEMU

From Computernewb Wiki
Revision as of 13:05, 4 August 2020 by Hendicted (talk | contribs) (updating this a bit)
Jump to navigation Jump to search

Windows NT 4, along with Windows NT 3.51 and 3.5 successfully run in an QEMU's MIPS emulation. Windows NT 3.1 BSODs on setup, so it is not installable. Service Pack 1 was the last supported service pack on MIPS Windows NT 4. Currently, PowerPC and Alpha ports of Windows NT 3.x & 4 do not run in QEMU.

Running on CollabVM

Running Windows NT 4 on MIPS on CollabVM is not recommended. While it is very cool to see and play with a non x86 Windows environment, it's not very usable - programs made for x86 Windows NT do not run, and there were virtually no commercial products made for Windows NT 4 MIPS. So, it is really more of a curiosity than a usable OS.

There are no USB 1.1 drivers for Windows NT 4 MIPS, so proper mouse alignment is impossible, but is not a big deal. The bigger deal comes from the insane memory leaks that QEMU MIPS has when formatting the system partition. This memory leak is actually enough to bring a server with even 64 GB of RAM down to its knees in a matter of seconds. UPDATE: This was fixed in QEMU 2.9.0. If you want to host this, use QEMU 2.9.0 or above. Once you are booted into the OS, the memory leaks are no longer present - however, once QEMU is shut down, the OS has to be installed again (making an environment with Vote for Reset unfortunately impossible) as it is no longer present in the BIOS menu nor bootable.

If you'd still like to view or host a VM with this however, you are free to.

Starting up

First, download the following file and extract it:

One of the files will be called NTPROM.RAW. Rename this to mipsel_bios.bin.

Now we're going to make a hard drive. The maximum size you can make it is 2 gigabytes, but there is really no need to make a beefy hard drive, due to lack of software. 500 MB of space will be just fine.

qemu-img create -f qcow2 ntmips.img 500M

Next, we'll start QEMU.

qemu-system-mips64el -hda ntmps.img -M magnum -net nic -net user -cdrom win_nt_4_iso.iso -m 128 -global ds1225y.filename=nvram -global ds1225y.size=8200

Note, do not set the memory to anything other than 128 or 64 MB. The Magnum machine can't run more than 128 MB. Hit enter on "Run Setup".

A problem you might notice is that the date is set to the year 2033. The clock also might be set to "8:85:00" or something similar.

This is a bug in the emulation but can be really easily fixed. Just go to "Initialize system", "Set time" and then set the proper date. An important note: If you don't properly set the clock, Windows NT will set the date to January 1, 1601 at 5:00 PM.

Now we'll set the environment variables. Choose the following variables:

  • Select monitor resolution: 1024x768
  • Select floppy size: 3.5 1.44 M
  • Is there a second floppy: No
  • Enter SCSI Host ID (0 - 7): 7

NOTE: If you set the monitor to 1280x1024, the self-test at the BIOS will "fail".

Next, set the default environment to "Scsi hard disk".

Check the ethernet address if you want internet, although it isn't required.

Return to main menu.

Hit "Exit".

Now when it restarts, hit "Run a Program".

Type the following in:


This sets up our system partition and sets up the boot loader. THIS is where the memory leak happens (on QEMU 2.8 and below), but you really don't need anything big for this, just make a 5 MB partition to get it done as fast as possible.

When we're done with that, exit and run the following:


From then on, it installs pretty much exactly like x86 NT. Skip the disk scan, go through the setup, and congratulations, you'll have a working NT MIPS environment!