The following is a scenario you are faced with:
You have a number of desktop PCs with voodoo3
graphics cards and IBM 10/100 Etherjet network cards. You want to
do an unattended install of Windows NT 4 Workstation on the PCs
from a server installation point. However, since these two cards
are fairly new, the drivers for them will not be found on the NT
CD. How do you get WinNT to install these cards?
1. Create a share on your server called Installs. Assign the
appropriate NTFS and Share permissions for the users who will be
accessing it (Read and Execute should be sufficient).
2. Under the Installs directory create a "Ntwrkst"
directory.
3. Copy the I386 directory from the NT Workstation CD to
the "Ntwrkst" directory.
You can remove the INETSRV subdirectory from within the I386 directory.
It contains the optional Personal Web Server install files that
are not needed in many environments.
4. Under the I386 directory create a directory called $OEM$
5. Under the $OEM$ directory create a "c" directory,
a "display" directory and
a "net" directory
6. Under the "net" directory create subdirectories
for the network cards
you will be using. For example create an IBM subdirectory for the
drivers
for an IBM card. Create a 3COM directory for 3COM network card drivers.
7. Under the "c" directory create any files or
folders you want copied
to the c: drive. These files and folders will stay on the c: drive
and be
available after the installation.
8. In your display directory copy the files for the graphics
card. Theoretically
you only need an .inf file, a .sys file, and a .dll file for graphics
cards under NT.
You can try this, or copy all the driver files in case they are
needed during install.
9. Copy the driver files for your network card(s) to the
appropriate subdirectory(s)
under \Net. Your directory structure will look similar to this:
You can see that two directories, "drivers" and "IE55"
will be created under C:\
of the PC during the install.
10. Use Setupmgr.exe to create a basic unattend.txt file.
This file
will be modified later.
Unattend.txt File
Display Adapter in unattend.txt - Your basic unattend.txt
file you created with setupmgr.exe
will have a [Display] section in it. In this example, the 3dfx Voodoo3
2000 PCI card is being used.
The inffile parameter requires the name of the .inf file that you
moved to \i386\$oem$\display. The infoption parameter requires a
common name for the video card. You can decipher the .inf file to
find your video card's description, but you have an easier option.
Place your graphics card .inf, .sys, and .dll driver files on a
disk and take the disk to a working NT machine. Open Control Panel,
Display, and select the Settings tab. Click Display Type. The Display
Type dialog box will appear; it tells you which drivers are currently
loaded for your video card. Click Change, Have Disk. Insert the
disk and click OK. The Change Display dialog box will appear. The
video card's descriptive name will appear in the Display field.
Place the descriptive name in the infoption parameter.
[Display]
ConfigureAtLogon = 0
inffile = "voodoo3.inf"
infoption = "3dfx Voodoo3"
InstallDriver = 1
BitsPerPel = 16
XResolution = 800
YResolution = 600
VRefresh = 75
AutoConfirm = 1
You should be able to use this procedure for just about any graphics
card.
Network Card in unattend.txt - In this unattend.txt file the
purpose is to
install an IBM 10/100 Etherjet card.
First, determine the internal product name of the NIC. For example,
this IBM card's internal product name is IBMFE.
To find the NIC's internal product name, look on a WinNT PC that
uses the NIC in the Registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\1.
The value for the ProductName entry is the NIC's internal product
name.
Then, under [Network] create the line:
InstallAdapters = AdaptersList
Next, create a new section called [AdaptersList]
Under this section the format is:
NIC'sInternalName = adapterparameters, path to driver files
adapterparamers would be the networkcard name plus
"parameter". For the IBMFE it would be IBMFEParameters
You also need to create a section called [IBMFEParameters]
this section would have the I/O address, IRQ and what not,
but this usually isn't necessary with PCI cards. So don't
put anything under it.
You end up with the following:
[Network]
InstallAdapters = AdaptersList
InstallProtocols = ProtocolsSection
JoinDomain = MYDOMAIN
[AdaptersList]
IBMFE = IBMFEParameters, ..\$OEM$\Net\IBMFE
[ProtocolsSection]
TC = TCParamSection
[IBMFEParameters]
Note: Quite often NIC manufacturers will provide instructions
on how to add their card(s) to an unattended installation file.
Call them, check their web site, or the driver CD for instructions.
After completion of the GUI portion of the core OS, the installation
checks for the existence of the CMDLINES.TXT file. If present, the
install processes the commands contained within.
Explanation of the directories for an Unattended install
Note: Not all directories need to be used. Just use the
directories
appropriate for your install.
$OEM$ directory - This is the directory which will house
the CMDLINES.TXT (which is responsible for defining additional customization
during the installation), REGEDIT.EXE and related .REG files, SYSDIFF.EXE
and related .IMG files, and the sub-directories $$, C, NET, OEMFILES
and TEXTMODE.
$$ - This directory should contain any files that you wish
to copy to the %SYSTEMROOT% or it's sub-directories within your
new install. It can be especially useful if you wish to copy files
into the \WINNT directory (or whatever you chose to call it). Files
can be copied further into the directory tree by using $OEM$\$$\SYSTEM32,
which will be installed into %SYSTEMROOT%\ SYSTEM32, and so on.
C, or other Drive Letter - files and directories stored
here will be copied to the drive letter bearing the same name. This
file can also contain the $$RENAME.TXT file, which will convert
files using the 8.3 naming convention to their original long filenames
(see Special Note below). C also contains the subdirectory BATCH,
which houses specialized .BAT or .CMD files that are used to kick
off silent or scripted installations of applications like MS Office
or Netscape or reset file permissions (all of which will be discussed
in Section III).
NET - Should only contain subdirectories which house special
network-related files (NIC drivers, Protocols, etc.) that are used
during the networking section of the automated setup. Network drivers
can also be copied over to the target system by using the TEXTMODE
subdirectory as well.
TEXTMODE - This subdirectory can contain files that you
would like to have copied over during the text mode portion on the
installation process. Video drivers can also be copied over to the
target system by using this subdirectory.
DISPLAY - This subdirectory will house the files for the
display adapter.
Sample Unattend.txt file
[Unattended]
OemPreinstall = yes
OemSkipEULA = yes
NoWaitAfterTextMode = 1
NoWaitAfterGUIMode = 1
FileSystem = ConvertNTFS
ExtendOEMPartition = 0
ConfirmHardware = no
NtUpgrade = no
Win31Upgrade = no
TargetPath = \Winnt
OverwriteOemFilesOnUpgrade = no
[UserData]
FullName = "Installer"
OrgName = "Widgets"
ComputerName = NEWNT1
ProductId = "xxxxx-oem-xxxxxxx-xxxxx"
[GuiUnattended]
OEMSkipWelcome = 1
OEMBlankAdminPassword = 1
TimeZone = "(GMT-05:00) Eastern Time (US & Canada)"
[Network]
InstallAdapters = AdaptersList
InstallProtocols = ProtocolsSection
JoinDomain = MYDOMAIN
[AdaptersList]
IBMFE = IBMFEParameters, ..\$OEM$\Net\IBMFE
[ProtocolsSection]
TC = TCParamSection
[IBMFEParameters]
[TCParamSection]
DHCP = no
IPAddress = 10.90.10.44
Subnet = 255.255.255.0
Gateway = 10.90.10.1
DNSServer = 205.152.144.252
[Display]
ConfigureAtLogon = 0
inffile = "voodoo3.inf"
infoption = "3dfx Voodoo3"
InstallDriver = 1
BitsPerPel = 16
XResolution = 800
YResolution = 600
VRefresh = 75
AutoConfirm = 1
Explanation of some not so obvious
keys in unattend.txt
OemPreinstall = yes
Determines whether a special subdirectory, \$OEM$, will be copied
and certain sections will used during setup.
NoWaitAfterTextMode = 1
NoWaitAfterGUIMode = 1
These two lines will remove two instances in which NT Setup would
otherwise wait for you to press a key before continuing. Requires
OemPreinstall = yes.
ConfigureAtLogon = 0
This key is used to specify when the graphics devices are configured
during setup or after the first logon by an end user. 0 implies
configure during setup and 1 indicates that the device should be
configured during the first logon by the user.
AutoConfirm = 1
This key indicates whether the graphics device should be configured
using pre-specified display settings or not.
0 implies do not use the pre-specified settings and 1 indicates
that the pre-defined settings should be used. AutoConfirm = 1 requires
that all of the necessary parameters have been pre-specified in
the UNATTEND.TXT file.
InstallDriver = 1
This key specifies whether a third-party driver is being installed
or not. If value is 0, the InfFile and InfOption keys are skipped.
|