三. 编辑“winnt.sif”文件,让系统以自动化安装
1. 解决三大步骤
现在,我们已经完成了三个最重要的步骤:
一.是获取了RAID驱动程序文件,
它们现在被保存在“E:\dell\$OEM$\$1\drivers\sas_raid\r194052”文件夹中;
二.是修改了Windows 2003安装时自动加载驱动程序的信息文件“txtsetup.sif”。
三.服务器硬件驱动(网卡,芯片).
2. 借助Setupmgr(安装管理器)生成winnt.sif
但现在有一个新的问题:Windows 2003在安装时如何知道它所需要的驱动程序文件在哪个目录下呢? 这个问题则需要通过修改“winnt.sif” 这个文件来解决。对于这个文件我们可以借助系统自带Setupmgr.exe工具,全自动安装软件──安装管理器Setupmgr.exe位于系统安装光盘的“\support\tools\deploy.cab”压缩包中,我们只需要进入“\support\tools”文件夹把“deploy.cab”中的文件解压出来即可。
点击 “Setupmgr.exe”会出现一个名为“Windows 安装管理器向导”的窗口,单击下一步,并选择“创建新的应答文件→Windows无人参予安装
选择Windows2003 enterprise l(请选择相应的版本)→全自动安装→从CD安装→我愿意接受许可协议(打勾)”,接下来才是“Windows 安装管理器”的正式界面,在左边我们可以看到已经展开的三大项设置分别是“常规设置”、“网络设置”和“高级设置”,并且会要求你输入姓名、单位、产品密钥、计算机名、管理员密码等等信息,如果不输入上述信息,则无法继续下去。输入正确后再为目标计算机选择显示设置、时区设置、网络组件、工作组或域、区域设置和语言、浏览器和shell设置、安装文件夹位置等选项。
当以上所有步骤完成后,会弹出一个对话框让你输入应答文件的保存位置和文件名(当然也可以默认为“unattend.txt”),点击确定后系统会自动生成应答文件和一个批处理文件“unattend.bat”。这个只是个辅助,因为我们集成了驱动,所以还要修改一些配置
3. 参考DELL引导盘装2003系统后生成一个unattend.txt文件改写winnt.sif
技巧:我们用DELL引导盘装好2003系统后,在C盘会生成一个unattend.txt文本文件,以这个为参考写个winnt.sif文件出来,具体winnt.sif参数说明书,在ISO2003安装文件下 \support\tools\deploy.cab”压缩包中,有个ref.chm文件,打开后点那个unattend.txt目录,很详细介绍到每个参数功能. unattend.txt涉及到硬件.安装.操作系统.网络.服务等等配置.
下面根据前面设置来举个winnt.sif例子:
[UserData]
FullName="viong" 全名
OrgName="viong" 组织名称
ComputerName="viong" 计算机名称
ProductID=" DG8FV-B9TKY-FRT9J-6CRCC-XPQ4G" win2003-key
Keyboard="zh"
[Unattended]
UnattendMode=FullUnattended 将会进行一次完全自动的无人值守安装
OemPreinstall=yes 安装系统的过程中从$OEM$/$1文件夹下安装额外的程序
ConfirmHardware=yes
OemFilesPath="C:\dell\$oem$"
OemPnPDriversPath="\drivers\scsi_non-raid\r117179;\drivers\chip_set\r122802;\drivers\chip_set\r122802\sp;\drivers\scsi_non-raid\r149479;\drivers\scsi_non-raid\r163986;\drivers\network\r168345;\drivers\hotfix\r176782;\drivers\sas_raid\r194052;\drivers\sas_non-raid\r194127;\drivers\sas_raid\r194151;\drivers\network\r195629;\drivers\network\r196228;\drivers\scsi_raid\r99970" 安装文件到哪里搜索比操作系统自带的驱动程序更新的版本.如果安装 程序能找到一个更好的版本,则会自动安装.
TargetPath=\windows 安装程序目录
OemSkipEula=yes 跳过按F8键同意许可协议
WaitForReboot=no 这个选项用来决定计算机是否在图形界面的安装进行完毕后等待15秒
[GUIUnattended]
OemSkipWelcome=1 如果上面的OemPreinstall选项你设置为No,那么这个选项你就要设置为0;而如果OemPreinstall选项设置为Yes,则这个选项就要设置为1.如果设置为0,安装程序就会知道你不想在图形界面的安装过程中显示欢迎屏幕.(注意;这和 “Windows欢迎”界面不同,在那里你可以设置你的用户帐户).
OemSkipRegional=1 跳过区域设置屏
AdminPassword=* Administrator帐户不设置任何密码是值为*,如果要设置密码得用这样的形式"密码".
EMSBlankPassword = Yes 这个选项用来告诉安装文件你的密码是否被加密,Yes表示密码被加密了,而No表示密码为被加密.如果你没有为
Administrator帐户设置密码,那么这个选项应该被设置为No.如果你选择了Yes,Setup Manager就会把密码加密保,存在winnt.sif文件中.
TimeZone=210 时区的设置,210是北京时区
[LicenseFilePrintData]
AutoUsers=9999 授权用户数量
AutoMode=PERSERVER
[Display] 显示屏幕分辨率和刷新频率
BitsPerPel=16
XResolution=800
YResolution=600
VRefresh=60
[Identification]
DomainAdmin=""
DomainAdminPassword=""
JoinDomain=
JoinWorkgroup=WorkGroup
[Networking]
InstallDefaultComponents=Yes
[NetProtocols]
MS_TCPIP=TcpipParams
[NetOptionalComponents]
SNMP=1
DNS=0
DHCPServer=0
WINS=0
[Components]
iis_common=Off
iisdbg=Off
iis_doc=Off
iis_ftp=Off
iis_htmla=Off
iis_inetmgr=Off
iis_nntp=Off
iis_nntp_docs=Off
iis_smtp=Off
iis_smtp_docs=Off
iis_www=Off
iis_www_docs=Off
indexsrv_system=Off
TSEnable=Off
cluster=Off
snmp_srv=0
[InternetServer]
PathFTPRoot="%systemdrive%\inetpub\ftproot"
PathWWWRoot="%systemdrive%\inetpub\wwwroot"
[TerminalServices]
ApplicationServer=0
AllowConnections = 1 开启终端服务
[SNMP]
Community_Name=""
Limit_Host=localhost
Service=Applications,Internet,End-to-End
Send_Authentication=No
Any_Host=No
Location=""
Accept_CommunityName=public:Read_Only
Traps=
Contact_Name=""
[data]
MsDosInitiated="1" 如果你在这里设置为0,则会通知安装程序,你是从光盘上安装操作系统的,如果你准备用软盘引导系统并从硬盘上安装,则在这里设置为1
floppyless="1"
AutoPartition="0" 如果你在这里设置为1,Windows的安装程序就会在任意一个有足够可用空间的硬盘分区上安装操作系统。如果你删除这一行或者把值设置为0,则安装程序会在安装过程中讯问你要把操作系统安装到哪个硬盘分区,并且如果该分区已经包含了一个操作系统,安装程序也会给你合理建议。
InstallDir="\WINNT"
winntupgrade="no"
win9xupgrade="no"
[NetAdapters]
Adapter0=Params.Adapter0
Adapter1=Params.Adapter1
[TcpipParams]
AdapterSections=TcpipParams.Adapter0,TcpipParams.Adapter1
[params.Adapter0]
NetcardAddress=0x002219c950db
[params.Adapter1]
NetcardAddress=0x002219c950dd
[TcpipParams.Adapter0]
SpecificTo=Adapter0
IPAddress=
SubnetMask=
DHCP=yes
DefaultGateway=
WINS=yes
winsServerList=
DNSServerSearchOrder=
[TcpipParams.Adapter1]
SpecificTo=Adapter1
IPAddress=
SubnetMask=
DHCP=yes
DefaultGateway=
WINS=yes
winsServerList=
DNSServerSearchOrder=
[MassStorageDrivers]
"DELL PERC5 and PERC6/CERC6 RAID Controller Driver (Server 2003 32 bit)"=OEM
4. 给出一个1950和2950通用winnt.sif做参考
[data]
AutoPartition="0"
MsDosInitiated="0"
UnattendedInstall="Yes"
[UserData]
FullName="YS"
OrgName="YS"
ComputerName=*
ProductID="jb79q-mg7hh-vp9jq-r78y4-3pfdy"
Keyboard="zh"
[Unattended]
UnattendMode=FullUnattended
OemSkipEula=Yes
OemPreinstall=Yes
TargetPath=\WINDOWS
WaitForReboot=no
OemPnPDriversPath="\drivers\scsi_non-raid\r117179;\drivers\chip_set\r122802;\drivers\chip_set\r122802\sp;\drivers\scsi_non-raid\r149479;\drivers\scsi_non-raid\r163986;\drivers\network\r168345;\drivers\hotfix\r176782;\drivers\sas_raid\r194052;\drivers\sas_non-raid\r194127;\drivers\sas_raid\r194151;\drivers\network\r195629;\drivers\network\r196228;\drivers\scsi_raid\r99970"
[GUIUnattended]
AdminPassword=*
EncryptedAdminPassword=no
OemSkipWelcome=1
OemSkipRegional=1
TimeZone=210
[LicenseFilePrintData]
AutoUsers=9999
AutoMode=PERSERVER
[Display]
BitsPerPel=16
XResolution=800
YResolution=600
VRefresh=60
[Identification]
JoinWorkgroup=WorkGroup
[Networking]
InstallDefaultComponents=Yes
[NetProtocols]
MS_TCPIP=TcpipParams
[NetOptionalComponents]
SNMP=1
DNS=0
DHCPServer=0
WINS=0
[Components]
iis_common=Off
iisdbg=Off
iis_doc=Off
iis_ftp=Off
iis_htmla=Off
iis_inetmgr=Off
iis_nntp=Off
iis_nntp_docs=Off
iis_smtp=Off
iis_smtp_docs=Off
iis_www=Off
iis_www_docs=Off
indexsrv_system=Off
TSEnable=Off
cluster=Off
snmp_srv=0
[InternetServer]
PathFTPRoot="%systemdrive%\inetpub\ftproot"
PathWWWRoot="%systemdrive%\inetpub\wwwroot"
[TerminalServices]
ApplicationServer=0
AllowConnections = 1
[SNMP]
Community_Name=""
Limit_Host=localhost
Service=Applications,Internet,End-to-End
Send_Authentication=No
Any_Host=No
Location=""
Accept_CommunityName=public:Read_Only
Traps=
Contact_Name=""
[NetAdapters]
Adapter0=Params.Adapter0
Adapter1=Params.Adapter1
[TcpipParams]
AdapterSections=TcpipParams.Adapter0,TcpipParams.Adapter1
[params.Adapter0]
NetcardAddress=0x002219592094
[params.Adapter1]
NetcardAddress=0x002219592096
[TcpipParams.Adapter0]
SpecificTo=Adapter0
IPAddress=
SubnetMask=
DHCP=yes
DefaultGateway=
WINS=yes
winsServerList=
DNSServerSearchOrder=
[TcpipParams.Adapter1]
SpecificTo=Adapter1
IPAddress=
SubnetMask=
DHCP=yes
DefaultGateway=
WINS=yes
winsServerList=
DNSServerSearchOrder=