Installing Windows NT 3.1 on Qemu

From Computer History Wiki
Revision as of 19:14, 6 August 2009 by Neozeed (talk | contribs)
Jump to: navigation, search

Installing Windows NT 3.1 on Qemu

Windows NT 4.0 running on Qemu

Windows NT 3.1 will install, however it does not have PCI support so you'll be restricted to the ISA machine. Also NT 3.1 cannot drive IDE CD-ROM's. So you would have to follow the network installation guide.


When NT 3.1 was released pentium CPU's were still beta, and the cpuid thing had not been finalized enough in the install script. You will have to fix the setup.inf script to always install the 486 path.

You need to edit a string in the files INITIAL.IN_ and SETUP.IN_

Open each one in notepad and search for: [ProcessorVar]

Then change the string below it from

STF_PROCESSOR = "" ? $(!LIBHANDLE) GetProcessor


STF_PROCESSOR = $(ProcessorID_I586)

MS-DOS prepare

You'll have no choice but to have a MS-DOS Qemu VM installed & operational to start a Windows NT 3.1 installation. Start with the Installing MS-DOS on Qemu tutorial, then come back here.

With MS-DOS installed and able to access a CD-ROM, you will need a blank floppy image, in addition to either an ISO image with NT 3.1 or a 3.1 CD-ROM.

I'll be using my physical NT 3.1 CD with WIN32 SDK, and Qemu 0.10.5 which will allow me to set my cpu to an Intel i486 cpu so I won't have to worry about the inf files.

qemu -L . -cpu 486 -hda windowsnt31.disk -cdrom \\.\d: -fda nt31boot.vfd

The first thing in MS-DOS I'm going to do is format the floppy to make sure it's blank to appease the installer.

format a:

Then change to the cdrom & run winnt.exe...

cd i386
winnt /F /C

I'm going to skip the verifies for disk space & floppy writes.. When setup has completed it's job exit Qemu, and this would make a great time to boot back into MS-DOS, and alter the setup.inf & initial.inf files as mentioned above. You may have to expand them manually but it's really not that hard.


Run it like this:

qemu -L . -cpu 486 -hda windowsnt31.disk -M isapc -fda nt31boot.vfd -boot a

Windows NT will boot from the floppy, and it will naturally detect NO SCSI drivers. I recommend changing the mouse to the "Microsoft Mouse Port Mouse (including BallPoint)" driver. It will then go thru the motion of copying files (yet again) and then it'll prompt to reboot. Quit Qemu as we won't need the floppy now.

qemu -L . -cpu 486 -hda windowsnt31.disk -M isapc -net nic -net user

And we'll be into the GUI phase of the install. Remember the ne2000 nic is 0x300 IRQ 2/9.

Where to go from here

Well Windows NT 3.1 is more of a landmark for Microsoft's first homegrown 32bit OS, and at the same point it's interesting how much it's changed, and how little in some other ways. I would however recommand getting service pack 3 for NT 3.1

You can download it from here. You'll have to get creative with either MS-DOS & CD-ROM images to copy it in there, or some other method.. As far as I know there are no web browsers that will work on NT 3.1