This might save someone a bit of head scratching…

Several times, I tried to install Windows NT Advanced Server (NT 3.1 server) straight from CD-ROM (well, ISO) into a clean VM. The installation failed every time, asking for a nonexistent disk.

NT Advanced Server installer asking for nonexistent media

NT Advanced Server installer asking for nonexistent media

Yet going the longer route—boot DOS, copy files from CD-ROM, create boot floppy, boot from that floppy—worked just fine. The ISO looked legitimate, with no striking signs of being thrown together from random files (notably the metadata in the volume descriptor contained Microsoft information like the real CD-ROM should). What’s more, the same procedure worked for NT 3.1 workstation, so I was reasonably certain I was not doing anything outrageously wrong. So why wouldn’t it work?

Fortunately, a friend provided a slightly different NT Advanced Server ISO which looked almost, but not quite, identical. Comparing the two I quickly zoomed in onto \I386\SETUP.IN_. And then I noticed that on the problem ISO, the file was timestamped in 2003, not 1993. Oops…

Comparing the two INF files the problem was obvious. Someone was trying to be clever and modified the file to remove the silly checks which cause the setup to fail on Pentium Pro and later CPUs (with CPUID family 6 or higher). Unfortunately that person probably took the INF file from the floppy-based file set as a basis and the media list was wrong. Instead of listing one floppy and one CD, the INF file listed a bunch of floppies.

What the INF file contained was this:

[Source Media Descriptions]
    1   = "Windows NT Advanced Server Setup Disk #1"   , TAGFILE = disk1
    2   = "Windows NT Advanced Server Setup Disk #2"   , TAGFILE = disk2
    3   = "Windows NT Advanced Server Setup Disk #3"   , TAGFILE = disk3
    4   = "Windows NT Advanced Server Setup Disk #4"   , TAGFILE = disk4
    5   = "Windows NT Advanced Server Setup Disk #5"   , TAGFILE = disk5
    6   = "Windows NT Advanced Server Setup Disk #6"   , TAGFILE = disk6
    7   = "Windows NT Advanced Server Setup Disk #7"   , TAGFILE = disk7

… and so on for 29 disks (the actual disk set contains only 23 floppies).

But what should have been there is this:

[Source Media Descriptions]
    1  = "Windows NT Advanced Server Setup Disk #1"     , TAGFILE = disk1
    2  = "Windows NT Advanced Server Setup CD-ROM Disk" , TAGFILE = disk2

Needless to say, the true original ISO has no problem and installs fine onto a clean disk when booting straight from the CD install boot floppy.

To recap, if you have an NT Advanced Server ISO where the file \I386\SETUP.IN_ is not from 1993, it’s a poorly modified copy and not the original, and it may be impossible to install depending on the installation method used.

This entry was posted in Debugging, NT. Bookmark the permalink.

33 Responses to Bad NTAS ISO

  1. The only two fun questions are… Is it running in SMP configuration?

    And with Windows NT 3.1 installed, what fun applications are there for it?

  2. Michal Necasek says:

    No SMP this time (but it can be done). As for applications… SQL Server? Visual C++? There’s not a lot 🙂

  3. There sure isn’t! I did get Apache 1.3.4 running… although I have nothing interesting to put on it….

    I guess it’s like my … but at least it’s actually hosted on OS/2… even if it’s in a VM on Linux.

  4. I felt inspired enough to install on real hardware… it locked up on installing the MSLOOP adapter of all things. I guess the USB keybord/mouse detection and emulation just isn’t good enough.

    I may give up, and just go with NT 3.5

  5. Chris M. says:

    NT 4.0 and below don’t do too well with USB HID emulation. The mouse tracking will drive you crazy depending on the board. It was clearly designed as a stop gap until proper drivers are loaded.

    NT 3.1 doesn’t even know what PCI is, so it can be hit or miss on anything remotely modern.

  6. Michal Necasek says:

    I’ve never seen a non-PCI dual x86 board. But I have some Pentium era SMP hardware which I think should be capable of running NT 3.1. Certainly no USB there. The boards have PCI, but should have enough ISA (or EISA) slots to get stuff running. Maybe a project for next winter.

  7. I know compaq had a dual 386 or was it a 486…

    Time to read the HCL.

    I’m going to some electronic fare today. Afterwards I’ll try to pick up a ps/2 keyboard and mouse…

    Or I should just load Windows NT 3.5 … it’s got a far better fleshed out Win32 api, and I’m pretty sure I can find rtl8139 drivers for 3.5 .. Not so sure about 3.1, and I haven’t the slightest idea how to do one on with the ddk…..

    On beta archive, there is an ASPI driver they put together. It works too!


    The only machine that was supported by Windows NT 3.1 and is now not supported by Windows NT 3.5 is the Compaq Systempro Dual 386/25.

    If I remember it had some crazy unique design, and Cutler had to write the hal.. I had a 386 system pro forever ago, and I thought it was dual but the 80385 looked like a 80386.

    The second processor was an add on card, that I didn’t have.

  9. Michal Necasek says:

    I don’t think the old 386 Systempro was actually SMP (but it did support two processors). The 486 Systempros may have been real SMP.

    FYI, there are functioning NT 3.1 drivers for PCI variants of AMD PCnet. The driver may be labelled as suitable for NT 3.5, but it works in 3.1 as well. At least in a VM it does 🙂

  10. I did get some USB to ps/2 adapter and completed a 3.1 install using that ASPI driver for 3.1 so that was nice. Even on a p4 3.1 is sluggish though.

    I have an Intel pro 100 pci.. It wouldn’t load the driver on 3.1, so I loaded up NT 3.5, it’s much faster. But the the driver I found for the Intel didn’t work. I also have a buffalo rtl8139 but it didn’t work on 3.5 either.

    I tried nt 4.0 and it’s shipping epro100 driver worked.

    After fighting like crazy… I’m preferring the standard devices emulation provides. I’ll have to see if I can find an amd pcnet card, or a Dec 2114 type card …. Or I should check the ddk. I think the rtl8039 is basically a ne2000 using pci port space, I wonder if I could just make a polling driver… it’s probably way out of my league thought

  11. Joshua Rodd says:

    I saw a DEC 486-based SMP system that predated PCI. I assume it was EISA inside. (This was long before Compaq bought DEC.)

    If I recall correctly, the machine had 3 486DX 33MHz CPUs and several SCSI disks. The operating system was SCO System V/386 Release 3.2 Version 4.2.

  12. Joshua Rodd says:

    At some point, I had a bizarre desktop Dell SMP Pentium system that had EISA slots. It had narrow SCSI built into the motherboard. It had Pentium 90Mhz CPUs. NT 4.0 worked on it in SMP out of the box.

    I can’t remember if it had PCI or what chipsets it had.

  13. I ordered an amd pcnet-II that is an IBM item.. Hope it works….

  14. MiaM says:

    Maybe SMP could work with an HP Vectral XU 5/90? That is a dual cpu pentium desktop system with ISA and PCI slots, but AFAIK the BIOS somehow make the PCI slots look like EISA and that makes most (all?) stock Linux kernel to not work. Maybe HP made the BIOS that way to be backwards compatible with some older SMP OS? It sure works fine with NT 4.0 desktop.

  15. Andreas Kohl says:

    I cannot see a difference in NDIS3 drivers for NT3.1 and later 3.5x. For ISA PnP network adapters it could be a problem because of missing support before version 3.5. The better adapters from mid 90ies should work under NT3.1 without problems. There are some options for Fast Ethernet integration: Cogent EM110 (later renamed to Adaptec 6911), Digital EtherWorks DE500 or similar cards from SMC and ZNYX. Of course VG AnyLAN or switched TR will have a better LAN performance in real world.

  16. Michal Necasek says:

    Please keep us updated 🙂 I think the PCnet-FAST III or III+ should work too. HP sold them as well.

  17. Michal Necasek says:

    The initial NT release only had a few SMP HALs for proprietary designs. But there was a MPS 1.1 HAL from Intel (I think) that works with regular SMP hardware if the hardware is old enough. It ought to work with a 1994-1995 standard SMP Pentium. I don’t know if the Vectra XU 5/90 supported the MPS spec or not. Some boards did (Intel and ASUS for sure).

  18. Andreas Kohl says:

    The Vectra XU 5/90 is based on Intel’s Neptune chipset (430NX), so it’s definitely MPS and supported with NT 3.5. The drivers (NT3.1) for video and IDE can still be downloaded from HP’s website.

  19. jack says:

    Hey Michal

    WinWorld found Citrix Multiuser 1.0 MS-OS/2. Released in 1991 by Citrix Systems, Citrix Multiuser is a customized version of Microsoft OS/2 1.21 that turns it in to a real multi-user operating system. With Citrix Multiuser, users can connect and simultaneously run character cell based applications from remote serial terminals. To prevent users from interfering with each other, it adds security permissions to devices and files. It can use multi-port serial port boards like the Digiboard, or any serial device that has OS/2 1.21 drivers.

    Citrix Multiuser OS/2 does *not* support running Presentation Manager based application or DOS executables, and programs can not use graphics modes. It also does not have support for networking. (it looks like you can install LAN Manager, but it won’t use that for communications.) Another limitation is that text-mode applications can not use a mouse.

    This product was released just days before the IBM-Microsoft separation, which was an almost instant fatal blow as Citrix was licensing OS/2 code through Microsoft.

    Download Link

  20. Yuhong Bao says:

    Yea, I know that Citrix was affected by the OS/2 2.0 fiasco for a while now.

  21. Wow so yes, the IBM PCI card works! yay! I just need a good video card, I was thinking an Ati MACH 64 or 32… I think they are both 8514/A backwards compatible? Plus they had all kinds of drivers for things like OS/2, Windows 3.0/3.1 and Autocad… I just need something PCI.

    And as I was going to post this, I saw the other comment about Citrix 1.0 being found! I’d asked all kinds of former Citrix people about this, one guy was convinced he had it in his garage, but I never could get him to get it.. even offering to buy it wasn’t motivation enough. sigh. Now to install it….

  22. Michal Necasek says:


    The Mach32 is 8514/A compatible, the Mach64 is not really. I’m fairly sure there are some old NT drivers for the Mach32, not so sure about the Mach64.

  23. Andreas Kohl says:

    Perhaps it will be easier to find a PCI adapter with S3 928 or better 864/964 chipset. Using here an old Spea V7 Mercury Lite (86C928-P). An ATI Graphics Wonder PCI (mach32) or older Matrox Impression/Ultima cards seem to be collector’s items nowadays.

  24. Wow mach32 PCI cards are crazy expensive!! I guess I got lucky with 9GBP on the nic. I’ll probably go s3 or cirrus logic.

  25. Andreas Kohl says:

    I don’t know about CL PCI adapter drivers for NT 3.1 and their capabilities. Trident had some for their first generation PCI adapters (94xx, 96xx), also Weitek P9100 came at least with beta drivers.

  26. JimC says:

    What tool / command-line do you use to re-compress \I386\SETUP.IN_?

    I extracted the broken one using EXTRACT, fixed the file and then re-compressed using COMPRESS (from the Windows Resource Kit). However, the resulting file cannot be extract again and fails in setup.


  27. Michal Necasek says:

    I didn’t! I got hold of an unmodified ISO so I never tried modifying the bad one. I do seem to recall that there are multiple COMPRESS/EXPAND versions, not all compatible, but that’s all I know I’m afraid.

  28. zeurkous says:

    @Necasek: in me young and stupid days megot as a gift an Olivetti
    monster that had two P66’s and only EISA slots. Menever could get it to
    run *anything* stably, so, being young and stoopid, mestripped it to
    the bone and used the case as a trolley. It’s now rusting away in a
    shed >1500km away from me current location…

    Meonce reported this to the folks at, who had claimed quite
    explicitly that a Pentium SMP system was impossible. No response,
    predictably 😡

  29. zeurkous says:

    Hold on, mesuddenly recalls that their claim was more specific: that it
    wouldn’t work w/o special glue logic. The only ‘special’ stuff mecould
    detect on the processor board was a second north bridge, identical to
    the other. Mereally could find *no* custom logic in there, *at all*. In
    that sense, and that sense only, it was a bog-standard machine…

  30. Michal Necasek says:

    The P66 did not have a built-in local APIC, unlike the P90 and later Pentiums. So yes, it would have needed special glue logic. But there were even SMP 486s, so it’s certainly possible (and highly exotic).

  31. MiaM says:


    Note that “special glue logic” refers to how you wire up the logic, not what kind of chips you use.

    Btw were the chips really called north bridge and south bridge before PCI?

  32. Michal Necasek says:

    PCI came around the same time when the chipsets become integrated enough that just two (major) chips were needed. I’m pretty sure some of the EISA chip sets were similarly structured, with one memory controller chip and one I/O chip, and perhaps a few buffer chips around that. I’m not sure when the northbridge/southbridge terminology was first used, I suspect it was after PCI.

  33. MiaM says:

    PCI seems reasonable as before PCI you’d most likely had ISA bus (or the ISA compatible EISA bus) directly on the “northbridge”-ish. In that situation the “southbridge” would just be a generic ISA multi-I/O chip perhaps with some more peripherals integrated.

    With PCI the southbridge is afaik electrically a PCI device that converts the PCI bus to ISA, although it doesen’t use any of the autoconfig rules for PCI but rather maps the ISA bus directly.

    In theory you could make a “south bridge” which uses MCA on one side and ISA on the other 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.