Installing Windows NT 3.1 on Qemu

Windows NT 3.1 running on Qemu

For the older and somewhat relevant information see Installing Windows NT 3.1 on Qemu-legacy.



Windows NT 3.1 will install, however it is incompatible with IDE CD-ROM's. This is simply because they did not exist at the time. So you would have to follow the network installation guide. You will also want the AMD Pcnet driver, which is vastly better then the old legacy NE2000.

CPU TYPE

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. So as a precaution we will need to flag the 486 cpu type.

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 Pentium CPU so I won't have to worry about the inf files.

qemu.exe -L pc-bios -cpu 486 -m 64 -hda nt31.disk -net nic,model=pcnet -net user -fda nt31.vfd -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...

d: 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.

Install

Run it like this:

qemu.exe -L pc-bios -cpu 486 -m 64 -hda nt31.disk -net nic,model=pcnet -net user -soundhw sb16,adlib -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.exe -L pc-bios -cpu 486 -m 64 -hda nt31.disk -net nic,model=pcnet -net user -soundhw sb16,adlib -fda pcnet.vfd

And we'll be into the GUI phase of the install. Since we've got an AMD PCnet driver in the floppy drive we can do the network setup. Remember the AMDPcnet will need its driver installed from "A:\WINNT" ... Also you'll want to load it for TCP/IP, drop the NetBEUI, and configure the TCP/IP as follows:

ADDRESS 10.0.2.15

MASK 255.255.255.0

GATEWAY 10.0.2.2

DNS 10.0.2.3

The soundblaster can be configured, the port is 220, and the IRQ is 5.

The install will probably want to format your pcnet disk as an emergency disk, it doesn't matter at this point, and worst case you can always re extract your driver disk if you reinstall.

Logging on for the first time

This is a little tricky on Qemu, as you have to do the following to simulate a CAD

CONTROL+ALT+2 sendkey ctrl-alt-delete CONTROL+ALT+1

And now you should have the logon prompt.

You may want to setup an autologon via the registry. You can find more information via kb97597.

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..

16 bit versions of Netscape *WILL* run on NT 3.1! There is a nice little cache here:

I recommend the n16e301p.exe. You can install Video for windows after 'fixing' the setup program to not abort on NT 3.1 but it won't run correctly, nor will cooltalk run correctly.

By default Windows NT 3.1 will only detect 64MB of ram. This is a 'fault' of ntdetect.com & ntldr. You can however download servicepack 5 for Windows NT 3.51, and copy it's ntdetect.com/ntldr to see up to 3GB of ram! You can download service pack 5 right here. I recommend using Netscape from within NT 3.1. Make sure you have installed service pack 3 for NT 3.1 before you do this!!

If you have access to Visual C++ 1.1 or the Windows NT 3.1 SDK you'll be in luck as you can rebuild a few things. In the transition from 3.1 to 3.5 the executable format changed.. You'll find that plenty of cli utilities will NOT run on 3.1.

You may also want to grab a copy of the Windows NT 3.1 resource kit here:

And for anyone interested you'll want to read this MS article on how to configure the POSIX subsystem to run vi correctly.