三. 编辑“winnt.sif”文件,让系统以自动化安装
1. 解决三大步骤
现在,我们已经完成了三个最重要的步骤:
它们现在被保存在“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=
四.集成系统最新补丁包
1.利用MBCA扫描系统漏洞并下载补丁
利用Microsoft Baseline Security Analyzer V2.1(MBSA)扫描系统漏洞,它能根据扫描结果得到最全最新补丁.
Microsoft Baseline Security Analyzer V2.1下载地址:
默认是本机,直接点击Start Scan
扫描结果出来后,点击Result details (图上蓝色标志)
接下来点击download下面下载标志
然后把补丁全部下载到E:\dell\hotfix目录下面。
2.利用/ integrate 开关集成补丁
接下来整合最新系统补丁到系统光盘上,可以使用 / integrate 开关或 Update.exe 实用工具,这里就利用/integrate来实现.
/integrate命令格式为---- >补丁名称 /integrate:系统盘目录
以windowsmedia6-kb925398-v2-x86-chs_003a779ff2e5d8968ccd00df1dfe5f1
332597c9e.exe这个补丁做一个整合例子,如下图
这样我们就把补丁集合
I386
下面
svcpack
文件夹下面,这个文件夹是自动生成,想了解这个原因,我们用
WRAR
打开
I386
下面
svcpack.in_
文件,如下图:
接下来我们该如何把所有补丁都一口气集成到目标路径,复制以下命令,后缀改为.bat格式。直接双击运行就ok
FOR /F usebackq %%i IN (`dir E:\dell\hotfix\*.exe /b`) DO start /wait E:\dell \hotfix\%%i /integrate: E:\dell\cn_win_srv_2003_r2_enterprise_with_sp2_vl_cd1\ /passive
依次来解释具体的含义
FOR.......DO——对一组文件中的每一个文件执行某个特定命令。
/F—— 表示处理对象是一组以回车作为分隔符的文件
usebackq——处理一对``里面的命令
%i——就是参数了
IN——包含在...之中的
dir *.exe /b——得到目录下全部exe的文件名,每行一个
start /wait是用于启动一条命令,并且等待其结束再执行后续的命令,如果不加,则会出现n个补丁试图同时集成的情况,会造成集成失败的。
/passive 安静模式下安装
没集成补丁之前I386目录情况:
集成补丁后I386目录情况
比较结果:多了三个文件夹update,svcpack,SP2QFE,svcpack.in_文件变成svcpack.inf,
svcpack.inf文件增加安装补丁对应编号.
五.用Ultraiso封装操作系统
完成上面一序列操作,接下来利用Ultraiso来封装系统光盘,步骤比较简单.
利用Ultraiso打开cn_win_srv_2003_r2_enterprise_with_sp2_vl_cd1.iso
然后删除目录下文件,接下来把我们之前集成补丁/raid/硬件驱动所有文件拉到刚刚删除那个位置
完成后直接另存为..
我们想要的自动安装盘终于搞定了,然后直接刻录.
整理这么长一篇文章,挺累人的,希望对大家有点帮助,之前不擅长写博客.学到技术很分散,也为了让自己在技术方面能够更加全面,利用一边上班一边学习,把平时工作中积累下来技术写出来跟大家分享!也许这些文章对大家来说是雕虫小技,但对我来说是种考验。希望我能这样一直走下去,加油!
本文出自 “技术在于折腾” 博客,请务必保留此出处http://viong.blog.51cto.com/844766/226516