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:

    <Drive>\i386\$OEM$

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

    <Drive>\i386\$OEM$\Textmode

  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)
    Driver.sys
    Driver.inf
    Driver.cat

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

    [disks]
    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 "."

    [disks]
    d1 = "Windows 2000 Driver Set v1.00", \w2kdsk1, .

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

    [disks]
    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 spc.org.nc
  5. Edit the file <Drive>\i386\Unattend.txt, and create a [MassStorageDrivers] section:

    [MassStorageDrivers]
    "string that identifies the controller in the [scsi] section of TXTSETUP.OEM" = "OEM".

    Ex. :

    [MassStorageDrivers]
    "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. :

    [MassStorageDrivers]
    "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:

    [OEMBootFiles]
    Driver.sys
    Driver.inf
    Driver.cat
    Txtsetup.oem

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

    [Unattended]
    OemPreinstall=Yes
    OemSkipEula=Yes

  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

Credits jsifaq.com

Updated: 16 January 2010

Comments:

  1. Aneil says:

    I need to Include 3rd party controller drivers using unattended install but I do not know the hardware I may end up getting. I have no problem building a library on the boot cd \i386\$OEM$.

    I do not want to change the the txtsetup and the unattended file every time I go to a machine. I would like to just build the libary for the systems I have and be able to use the single cd build to install on all hardware that I have the SCSI drives for.

    Hope someone can help.

  2. snakefoot says:

    Aneil
    I need to Include 3rd party controller drivers using unattended install but I do not know the hardware I may end up getting. I have no problem building a library on the boot cd \i386\$OEM$.

    I do not want to change the the txtsetup and the unattended file every time I go to a machine. I would like to just build the libary for the systems I have and be able to use the single cd build to install on all hardware that I have the SCSI drives for.

    I haven't tried this myself but an idea could be to combine the TXTSETUP.OEM's of the different SCSI drivers into a single one, so it contains the hardwareids of all the SCSI devices.

    A similar thing can be seen in the tip where one adds an extra scsi driver to the Recovery Console.

  3. Aneil says:

    Well, when are you going to try it? When you do let me know :-).

    Thanks

  4. sean says:

    i've tried doing this w/ FAsttrak MB lite 133 controller, but winxp cannot find the device at all!

    i've tried so many times, wasted so many cds, if anyone could catch what i'm doing wrong, i'd appreciate it very much!

    here's my txtsetup.oem file located in cd:\i386\$OEM$\textmode

    [Disks]
    d1 = "Promise FastTrak Series Driver Diskette",\fasttrak,\

    [Defaults]
    scsi = FastTrak133_xp2

    [scsi]
    FastTrak133_xp2 = "WinXP Promise MBFastTrak133 Lite (tm) Controller", FastTrak

    [Files.scsi.FastTrak133_xp2]
    driver = d1, Fasttrak.sys, Fasttrak
    inf = d1, Fasttrak.inf

    [HardwareIds.scsi.FastTrak133_xp2]
    id="PCI\VEN_105A&DEV_5275", "Fasttrak"

    [Config.Fasttrak]
    value = "", Tag, REG_DWORD, 1

    and here's part of my UNATTEND.txt file that i've modified, located in cd:\i386\

    [Unattended]
    Unattendmode = FullUnattended
    TargetPath = *
    Filesystem = LeaveAlone
    OemPreinstall=Yes
    OemSkipEula=Yes

    [OEMBootFiles]
    FASTTRAK.sys
    FASTTRAK.inf
    FASTTRAK.cat
    Txtsetup.oem

    [MassStorageDrivers]
    "WinXP Promise MBFastTrak133 Lite (tm) Controller" = "OEM"
    "IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller" = "RETAIL"

    and last, here's part of my winnt.sif file

    well.. i didn't modify any of parts in this file.. but here's part

    [Unattended]
    UnattendMode=FullUnattended
    OemSkipEula=Yes
    OemPreinstall=Yes
    TargetPath=\WINDOWS
    DriverSigningPolicy=Ignore
    OemPnPDriversPath = "driver\intelCSA_LAN"

    can anyone see what i'm doing wrong?? .. i really can't tell why it's not recognizing..

    lmk tia!!

  5. snakefoot says:

    sean
    i've tried so many times, wasted so many cds, if anyone could catch what i'm doing wrong, i'd appreciate it very much!

    I guess you have tried to use F6 and a floppy disk, just to make sure that WinXP is able to detect your Fasttrak133 Controller in a normal install.

    Remember that one have to start an unattended installation, unless overwritting the winnt.sif with the contents of unattend.txt.

    I see you have chosen MBFastTrak133 (RAID-1 Mirroring), are you sure you are not using SBFastTrak133 (RAID-0 Stripping) ?

    Also if you have a HDD attached to your Standard IDE Controller, then you can place the WinXP Install Files (With your unattend file) and do the install from there while testing. You could also consider getting hold of a CD-RW.

  6. BlahBlah says:

    the setup as posted on the board didnt work for me

    \i386\$oem$\$1\$win_nt$.~ls\

    i suggest trying to use this line somewhere in the setup
    im gonna try this tomorow (its late now)

Leave a Reply

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