Windows NT 3.1 does NOT support the PCI bus, making most emulation difficult to impossible.
However some vendors wrote their own PCI routines allowing their PCI devices to work under Windows NT 3.1!
And as luck would have it, the two that I found should work for both VMWare & Virtual PC users!
First the Virtual PC users, you’ll want this file GF10011.EXE , and just extract it, and put it on a floppy. x64 users will either need to do this under dosbox / MS-DOS in a VM… Also another note about Virtual PC & NT 3.1 is that it has massive pauses, to where it seems to be unusable. I’ve found that altering the Virtual PC process, and binding it to only a single CPU, and boosting it’s priority helps a great deal, although it’s nothing compared to the speed of Qemu…
VMWare users can download an AMD Pcnet driver here that will happily bind on PCI. Once you install the driver, you can have it scan the appropriate busses and it should pull up and work.
Another fun thing I found for Virtual PC users, is that the HP Pavilion 5000 desktop shipped ready for Windows NT 3.1, and it was equiped with a S3 video card! And it’s video driver will work with Virtual PC! You can download it from HP’s site here.
This brings Windows NT 3.1 into a far more usable state. Another fun thing I found is that Netscape 2 & 3 for Windows 3.1 WILL RUN! One of these days I’ll have to sort out the exchange client situation…

And if anyone wants to see it in action, be sure to check out Apache running on Windows NT 3.1!
Or you can hit it directly:
http://winnt31.superglobalmegacorp.com/