Include 3rd party controller drivers using unattended install

When installing Windows NT on a drive connected to a 3rd party controller, which Windows NT doesn’t recognize, then one have to press F6 and supply drivers on a floppy unless wanting a BSOD with INACCESSIBLE_BOOT_DEVICE.

The easy way of creating a custom install cd with 3rd party drivers is to use the utility NLite (Requires .NET to use)

One can manually slipstream the driver on the installation cd, so Windows NT will automatically recognize the controller without having to press F6 and use a floppy disk:

  1. Create a directory $OEM$ under the i368 directory:


  2. Create a directory Textmode under the $OEM$ directory:


  3. Copy only the needed drivers for the specific operating system to the Textmode directory. All the files should be placed in the Textmode directory, there should not be created any sub directories below the Textmode directory.

    Txtsetup.oem (Required)

  4. Edit the file <Drive>\i386\$OEM$\Textmode\TXTSETUP.OEM and find the [disks] section. Ex.:

    d1 = “Windows 2000 Driver Set v1.00”, \w2kdsk1, \win2000\ultra160\

    Update the path (\win2000\ultra160) so it points to current directory (<Drive>\i386\$OEM$\Textmode) instead of referencing floppy drives or sub directories.

    If installing on a FAT / FAT32 partition then replace the path with period “.”

    d1 = “Windows 2000 Driver Set v1.00”, \w2kdsk1, .

    If installing on a NTFS partition then replace the path with slash “\”

    d1 = “Windows 2000 Driver Set v1.00”, \w2kdsk1, \

    All references to other Operating Systems inside the TXTSETUP.OEM should be removed. Example of an Original and Modified image of the TXTSETUP.OEM for a Promise Fasttrak to install on NTFS in WinXP. Credits

  5. Edit the file <Drive>\i386\Unattend.txt, and create a [MassStorageDrivers] section:

    “string that identifies the controller in the [scsi] section of TXTSETUP.OEM” = “OEM”.

    Ex. :

    “Adaptec Ultra160 Family PCI SCSI Controller (29160, 39160, etc.)” = “OEM”

  6. If intending to use the onboard IDE controller during installation, Edit the file <Drive>\i386\Unattend.txt, and add this line to the [MassStorageDrivers] section:

    “IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller” = “RETAIL”

    If the line is not added a BSOD will appear during install with INACCESSIBLE_BOOT_DEVICE. This error comes because the controller which the device(HDD/CD-ROM/DVD) is attached to is not recognized. Therefore requiring one to give it a driver for the controller.Ex. :

    “Adaptec Ultra160 Family PCI SCSI Controller (29160, 39160, etc.)” = “OEM”
    “IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller” = “RETAIL”

  7. Edit the file <Drive>\i386\Unattend.txt, and create a [OEMBootFiles] section. List the driver filenames copied to the Textmode folder:


  8. Edit the file <Drive>\i386\Unattend.txt, and set the following option in the [Unattended] section:


  9. Launch the installation with the created unattend file:

    WINNT /U:<Drive>\i386\Unattend.txt /S:<Drive>\i386

    Note if doing the install from DOS then load SMARTDRV before launching the install, or else the initial file copying in textmode will be extremely slow.

Note one can rename the Unattend.txt as Winnt.sif and place it in the i386 directory, and it will use make the unattended install automatically. Another way is to place the Winnt.sif on a floppy disk and insert it before starting the install from the Install-CD.

Related Unattended Windows Guide

More Info MS KB288344
More Info MS KB155197
More Info MS KB166028
More Info MS KB254078
More Info MS KB255771
More Info MS KB314479
More Info MS KB816299