Guide Index Quick Links

A Fix for Windows NT 4.0 Setup Freezing

Created on June 21, 2023

  1. Modifying a Boot Floppy Disk
    1. The Less Complicated Method
  2. Using WINNT.EXE

A while back, I was trying to get Windows NT 4.0 installed on some consumer laptop from 2000. It wouldn't even reach Setup, as it would get stuck on that boot screen which reports the operating system version and CPU/memory count. I recall this happening to me a few times before then, too, at least once on a Pentium 4 machine. It never reported a STOP error, nor did it forcibly reboot, the screen just stood still.

When I tried booting using the floppy disk set, I was able to reach the "Welcome to Setup" screen before I was prompted to insert the third disk. There, I figured out what was locking up the system. It turned out Windows NT was trying to load an obscure SCSI driver which would not only be of no use to a laptop, but also seems to just freeze the computer upon trying to detect any devices pertaining to the driver.

If you encounter this problem while trying to run Windows NT Setup, getting around this is really easy, as it only requires modifying one text file. The most straightforward ways of going about it are by modifying the contents of the first Windows NT boot disk, or booting from an MS-DOS floppy disk and editing a file that's been preloaded to the hard disk by the WINNT.EXE program.

Modifying a Boot Floppy Disk

Before you get started, if you've been using the original Windows NT boot floppies to run Setup, you should copy them to new, off-the-shelf floppy disks. It's best practice to use a separate floppy disk set that doesn't load SCSI drivers for computers that fail to load Setup, and use the normal disk set for all other computers that have no trouble there.

Load the first setup disk into any computer with a floppy drive, but do not boot from it. You should find a file called TXTSETUP.SIF within the contents of this disk. This file is read only, so before editing it, remove the read-only attribute. In MS-DOS, use the ATTRIB command:


In a conventional GUI-based file manager, you can right click on the file, select Properties, and untick the read only check box or set the file's permissions to "read and write" for the current user.

Now, open this file in a plain text editor. Scroll down to the SCSI.Load section, and you'll find the list of SCSI drivers Setup attempts to load. Prepend every line under this section with a semicolon (;) to comment it out - i.e. make the program not try to process the line. DO NOT comment out the atapi line, as this is the driver for IDE hard disks and CD-ROM drives, which you're very likely to have installed in your computer.

Here's an example of what the section should look like, assuming all storage devices reside on the onboard IDE controller:

;cpqarray = cpqarray.sys,4
;delldsa = delldsa.sys,4
atapi = atapi.sys,4
;ncr53c9x = ncr53c9x.sys,4
;spock = spock.sys,4
;oliscsi = oliscsi.sys,4
;ncrc700 = ncrc700.sys,4
;ncrc710 = ncrc710.sys,4
;aha154x = aha154x.sys,4
;sparrow = sparrow.sys,4
;aha174x = aha174x.sys,4
;dptscsi = dptscsi.sys,4
;ultra14f = ultra14f.sys,4
;ultra24f = ultra24f.sys,4
;ami0nt = ami0nt.sys,4
;fd7000ex = fd7000ex.sys,4
;fd8xx = fd8xx.sys,4
;fd16_700 = fd16_700.sys,4
;arrow = arrow.sys,4
;symc810  = symc810.sys,4
;buslogic = buslogic.sys,4
;slcd32 = slcd32.sys,4
;mkecr5xx = mkecr5xx.sys,4,noload
;aic78xx  = aic78xx.sys,4
;mitsumi = mitsumi.sys,4,noload
;dac960nt = dac960nt.sys,4
;ql10wnt = ql10wnt.sys,4
;amsint = amsint.sys,4
;flashpnt = flashpnt.sys,4
;cpqfws2e = cpqfws2e.sys,4

If you are installing Windows NT from a CD-ROM on a SCSI drive or to a hard drive on a SCSI controller, make sure you know which driver you need if it is listed in the section, as that driver should not be commented out. Later SCSI controllers like those which conform to the Ultra2 standard will almost certainly require you supply your own floppy disk containing a newer driver.

Save the file, and preferrably, set the read only attribute on the file again. It should now be ready for use in your uncooperative computer. Try loading Windows NT Setup with your modified first disk; when you go through all three disks, you should be able to proceed through Setup properly. As an added bonus, because none of the non-essential SCSI drivers are loaded, the time it takes to finish the initial boot process is cut down greatly!

The Less Complicated Method

If you can make it through two setup disks without a hiccup, you technically don't need to go through the above mentioned procedure at all. You can boot using the unmodified Windows NT setup disks. When you reach the screen requesting if you want to have Setup detect storage controllers in your computer, press S to skip detection.

Then, press S again to specify a controller manually. For systems dealing exclusively with onboard IDE devices, select IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller. Most onboard IDE controllers work with this driver. For external IDE controllers with their own BIOS, like those created by Promise and HighPoint, you will need to supply a floppy disk containing the driver.

Note: Whenever you need to install Windows NT to a hard drive on a controller requiring a new driver, you must press F6 as soon as the first disk starts loading so the new driver can be loaded in ahead of time. Loading this driver later may make it impossible to select a hard drive residing on the appropriate controller for installing the operating system, forcing you to reboot.


One reasonably well known approach to installing Windows NT is by using the MS-DOS based preloading utility, WINNT.EXE. This program, when executed from a DOS prompt, preloads the Windows NT setup files from the CD-ROM or another location to a hard disk. I use this whenever I'm installing Windows NT from a network share.

Assuming you're booting from any conventional MS-DOS startup disk with a working CD-ROM driver, you can start off by running a command like this:

D:\I386\WINNT.EXE /B /S:D:\I386

/B tells the program to execute in "floppyless" mode; that is, it will not prompt you to create three new startup disks. /S: followed by the path to the setup files is used in tandem with the former switch. If this is not specified, the program will ask you where the setup files are located.

Once the files are finished copying to the destination hard disk, the program will ask you to restart the computer. When you reboot, don't immediately load the Windows NT installation program now residing on the hard disk. Reload the MS-DOS boot disk, and at the prompt, change to the hard drive where the setup files were preloaded to, usually C:.

If you run a directory listing with DIR, you should see a few temporary directories and files have been created. Many of the names look overly complicated, but thankfully, there is an already writable TXTSETUP.SIF sitting right there in the root directory. Open it with a plain text editor like EDIT.

Find the [SCSI.Load] section, and prepend every line in it with a semicolon (;) EXCEPT for the atapi line. The ATAPI driver is needed by all IDE devices. If you need other SCSI drivers listed in the section, leave the lines for them untouched. Save the file, exit the program, and press <CTRL> + <ALT> + <DEL> to reboot. Restarting the computer this way ensures all cached data will be flushed to disk if your boot disk has SMARTDRV loaded with write caching enabled.

Remove all floppy disks from the drive, and you should be able to boot into the Windows NT installation environment. With the file's modification in place, the program should be able to bypass what was causing the computer to freeze before Setup could begin. You can proceed as you normally would from there.


cybertruk - June 23, 2023 at 02:08 AM

A bit off topic, but what were you doing these past 41 days...

1 comment on this page

Sort: Ascending | Descending

Leave a Comment

Name: (required)

Website: (optional)

Maximum comment length is 2000 characters.
First time? Read the guidelines

Enter the text shown in the image: