[转贴]制作windows 2003自动安装盘-集成补丁/Raid及硬件驱动

从事网游行业的工作人员,如果一款游戏上线,必须上大量服务器。用品牌机引导盘装系统,再打个补丁,速度真让人不敢恭维。为了提高效率,就尝试制作一张集成系统补丁/RAID及硬件驱动自动安windows 2003系统盘。下面以品牌机DELL 19502950为例,算是比较经典两款型号!已经停产了.对于其他品牌机器,可以参考本文制作自动安装盘!

 

制作自动启动盘,也可以利用nLite,但是我们为了服务器操作系统纯净并且稳定些,选择修改系统母盘一些参数,全过程不借助其它第三方软件来解决这个问题.
 

                                    目录

 

 
1.     准备dell19502950Raid及硬件驱动

 
2.     编辑txtsetup.sif 文件

 
3.     修改“winnt.sif”文件,让系统以自动化安装

 
4.     集成系统最新补丁包
 

 5.     用Ultraiso封装操作系统

 

 

一.准备dell19502950Raid及硬件驱动

1.    解压win_srv_2003_r2_enterprise_sp2

 

E:盘新建一个dell目录,把下载好的cn_win_srv_2003_r2_enterprise_with_sp2_vl_cd1.iso解压到dell目录下面

2.    利用DELL引导盘自带make_driver_dir.exe工具

 

一般随主板附送的驱动程序安装光盘中都有RAID的驱动程序。如果是品牌机,都有附带系统引导盘,我以DELL引导盘550OMG_75为例,现在已经更新到6.1版本。

 

首先介绍一款dell光盘自带make_driver_dir.exe工具,它给我下一步进展起到很大作用,接下来在开始菜单运行—cmd---回车-输入F:\server_assistant\driver_tool\bin\  make_driver_dir.exe –help 显示make_driver_dir.exe 命令行用法,如下图:

 

 

 
接着根据它提供例子,写个样例.

make_driver_dir.exe -i f:\ -d c:\drv -p pe1950 -o w2003 –extract

源文件目录 F\ 输出目标 C\drv  dell1950 2003操作系统
 

 

 
然后就可以在C\drv找到我想要的驱动了.
 

 

 
再来一条make_driver_dir.exe -i f:\ -d c:\drv1 -p pe2950 -o w2003 –extract

 

 

 
Dell SAS RAID控制器驱动大部分就两种PERCSAS两种,我测试机器是SAS 6/iR Integrated 对应r194052这个目录,但通过上面两张图找到一个答案,驱动一摸一样。所以做的工作简单了不少。
 

其实还有一种更简单的方法:先用引导盘装好一台服务器,然后把C盘目录下driver驱动拷贝出来,就是我们要的驱动!它已经把r开头目录整合在一起.
 

依次创建E:\dell\$OEM$\$1\DRIVERS目录文件夹,然后把刚才用make_driver_dir.exe命令行得到drv\pe1950\w2003\文件夹下面所有文件拷贝到drivers目录下.
 

[注意]这个目录中,\$OEM$\$1不可以以其它名称命名,必须照抄此处,因这涉及到后面OemPnPDriversPath=drivers\sas_raid\r194052代码对这些文件地址的指向。

3.    关于DELL 1950 SAS RAID控制器驱动程序

这里我们是以lsi_sas.sys  Dell 1950 SAS RAID控制器驱动程序为例进行介绍。其它类型的RAID驱动程序的集成步骤几乎完全相同,所不同的仅仅是驱动程序文件名的不同而已。
在这个“\sas_raid\r194052”的文件夹中,一定会有一个扩展名为.inf.oem的小文件,如oemsetup.inf或者txtsetup.oem等,如下图:

 

二.编辑“txtsetup.sif”文件

 1. 修改[SourceDisksFiles]参数

 

打开E:\dell\I386文件夹,找到一个名为txtsetup.sif的文件,这是Windows 2003在安装时加载驱动程序的信息文件,用写字板程序打开它。按Ctrl+F快捷键,打开查找对话框,以[SourceDisksFiles]为关键字进行查找。找到这个字段后,其下面已经存在一些内容

 

 

再以[为关键字查找到这个字段的末尾(注意:不是整个文件内容的末尾),添加以下内容:lsi_sas.sys   = 1,,,,,,3_,4,1,,,1,4      percsas.sys = 1,,,,,,3_,4,1,,,1,4

 

 

 

lsi_sas.sys = 1,,,,,,3_,4,1,,,1,4 dell-1950-raid

percsas.sys = 1,,,,,,3_,4,1,,,1,4 ((dell-2950-raid))

 

 

2. lsi_sas.sys注释

 

这里的lsi_sas.sys = 1,,,,,,3_,4,1,,,1,4”是描述驱动程序所在位置的代码。代码的格式为“filename_on_source=diskid,subdir,upgradecode,newinstallcode,spare,spare,newfilename”,在“txtsetup.sif”文件中的“[SourceDisksNames]”“[WinntDirectories]”等字段中有详细的描述。

 

 

在实际操作时,绝对不可以照搬代码!特别是扩展名为sys的文件lsi_sas.sys,它是RAID驱动程序目录“D:\w2003RAID\$OEM$\$1\drivers\ sas_raid\r194052 ”中的驱动程序文件名,如果您的RAID驱动程序与本文所述的不同,则只需换成目录中相应的文件即可。而等号后面的代码,一般可以直接照抄使用。

 

3. 编辑“txtsetup.oem”文件

拷贝txtsetup.oem—[HardwareIds.scsi.MegaSR]中参数添加到txtsetup.oem--- [HardwareIdsDatabase]中,首先切换到前面打开的txtsetup.oem文件,以[HardwareIds.为关键字进行搜索,应该可以找到类似[HardwareIds.SICS.MegaSR]的字段

 

 

 

该字段下的代码如:id = "PCI\VEN_1000&DEV_0054&SUBSYS_1F041028", "lsi_sas"

 

切换到刚才打开的txtsetup.sif文件窗口中,以[HardwareIdsDatabase]为关键字进行搜索。找到后,将txtsetup.oem文件中[HardwareIds.scsi.MegaSR]字段下的代码拷贝到txtsetup.sif文件的[HardwareIdsDatabase]字段末尾。这里直接搜索[Map.Computer]

就是[HardwareIdsDatabase]末尾,不过,我们需要更改一下代码的格式,如将:

id = "PCI\VEN_1000&DEV_0054&SUBSYS_1F041028", "lsi_sas"

改为:PCI\VEN_1000&DEV_0054&SUBSYS_1F041028 = " lsi_sas "(其他代码修改方法相同),

 

 更改后的代码如下:

 

 

"PCI\VEN_1000&DEV_0054&SUBSYS_1F041028" = "lsi_sas"

"PCI\VEN_1000&DEV_0054&SUBSYS_1F061028" = "lsi_sas"

"PCI\VEN_1000&DEV_0054&SUBSYS_1F071028" = "lsi_sas"

"PCI\VEN_1000&DEV_0054&SUBSYS_1F081028" = "lsi_sas"

"PCI\VEN_1000&DEV_0054&SUBSYS_1F091028" = "lsi_sas"

"PCI\VEN_1000&DEV_0058&SUBSYS_1F0E1028" = "lsi_sas"

"PCI\VEN_1000&DEV_0058&SUBSYS_1F0F1028" = "lsi_sas"

"PCI\VEN_1000&DEV_0058&SUBSYS_1F101028" = "lsi_sas"

"PCI\VEN_1000&DEV_0058&SUBSYS_021D1028" = "lsi_sas"

 

 

"PCI\VEN_1028&DEV_0015&SUBSYS_1F011028" = "percsas"

"PCI\VEN_1028&DEV_0015&SUBSYS_1F021028" = "percsas"

"PCI\VEN_1028&DEV_0015&SUBSYS_1F031028" = "percsas"

"PCI\VEN_1000&DEV_0060&SUBSYS_1F0A1028" = "percsas"

"PCI\VEN_1000&DEV_0060&SUBSYS_1F0B1028" = "percsas"

"PCI\VEN_1000&DEV_0060&SUBSYS_1F0C1028" = "percsas"

"PCI\VEN_1000&DEV_0060&SUBSYS_1F0D1028" = "percsas"

"PCI\VEN_1000&DEV_0060&SUBSYS_1F111028" = "percsas"

 

 

提示:不同RAID驱动程序的代码内容各不相同,应该根据具体情况灵活处理。

检查拷贝修改的内容是否与原有的内容重复,如果有,则把重复的一行删除。

 

4.    修改“[SCSI.load]”“[SCSI]”

接着在“txtsetup.sif”文件查找“[SCSI.load]”“[SCSI]”字段末尾添加如下内容:

 

 

[SCSI.load]

 

lsi_sas = lsi_sas.sys,4等号前的字符根据驱动酌情更改,等号lsi_sas后代码一般照抄使用

 

具体操作如下:
cpqarry2 = cpqarry2.sys,4

symmpi = symmpi.sys,4

perc2 = perc2.sys,4

hpn = hpn.sys,4

cbidf2k = cbidf2k.sys,4

dac2w2k = dac2w2k.sys,4

dellcerc = dellcerc.sys,4

hpt3xx = hpt3xx.sys,4

cpqcissm = cpqcissm.sys,4

hpcisss = hpcisss.sys,4

afcnt = afcnt.sys,4

lsi_sas = lsi_sas.sys,4

percsas = percsas.sys,4

 

 

 

[BootBusExtenders.Load]

pci      = pci.sys

acpi     = acpi.sys

isapnp   = isapnp.sys

acpiec   = acpiec.sys

ohci1394 = ohci1394.sys

 

 

[SCSI]

 

末尾添加lsi_sas      = "Dell SAS 5x and SAS 6x Controller Driver (Windows Server 2003 32-bit)"

 

ql10wnt  = "QLogic PCI SCSI Host Adapter"

ql1080   = "Qlogic QLA1080, 64 bit PCI LVD SCSI HBA"

ql1280   = "Qlogic QLA1280, 64 bit PCI LVD SCSI HBA"

ql12160  = "QLogic QLA12160, 64 bit PCI DUAL 160M SCSI HBA"

ql2100   =  "QLogic QLA2000/QLA2100 PCI Fibre Channel Adapter"

ql2200   =  "QLogic QLA2200 PCI Fibre Channel Adapter"

ql2300   =  "QLogic QLA2300 PCI Fibre Channel Adapter"

sym_hi   = "LSI Logic C896 PCI SCSI Host Adapter"

sym_u3   = "LSI Logic C1010 PCI SCSI Host Adapter"

symc810  = "LSI Logic C8100 PCI SCSI Host Adapter"

symc8xx  = "LSI Logic C8xx PCI SCSI Host Adapter"

symmpi   = "LSI Logic PCI Fibre Channel/LSI Logic PCI-X Ultra320 SCSI Host Adapter"

hpn      = "Hewlett Packard NetRAID-4M RAID Controller"

perc2    = "Dell PERC 2/3 RAID Controller"

perc2gat = "Dell PERC 2/3 RAID Controller (Gatling)"

lsi_sas    = "Dell SAS 5x and SAS 6x Controller Driver (Windows Server 2003 32-bit)"

percsas  = "DELL PERC5 and PERC6/CERC6 RAID Controller Driver (Server 2003 32 bit)"

 

[BootBusExtenders]

pci      = "PCI Bus Driver",files.pci,pci

acpi     = "ACPI Plug & Play Bus Driver",files.acpi,acpi

isapnp   = "ISA Plug & Play Bus Driver",files.isapnp,isapnp

acpiec   = "ACPI Embedded Controller Driver",files.none,acpiec

ohci1394 = "IEEE 1394 Bus OHCI Compliant Port Driver",files.ohci1394,ohci1394

 

[注意]此信息是从驱动的txtsetup.oem文件(或.INF文件)[SCSI]字段中获取,如下图:

 

 

scsi = DELL_SAS_2K3

 

 

[scsi]

 

# This section lists the options available for a particular component.

#

# <id> is the unique string for the option

# <description> is a text string, presented to the user in a menu

# <key_name> gives the name of the key to be created for the component in

#   HKEY_LOCAL_MACHINE\ControlSet001\Services

 

DELL_SAS_2K3 = "Dell SAS 5x and SAS 6x Controller Driver (Windows Server 2003 32-bit)",lsi_sas

 

 

[HardwareIds.scsi.DELL_SAS_2K3]

id = "PCI\VEN_1000&DEV_0054&SUBSYS_1F041028", "lsi_sas"

id = "PCI\VEN_1000&DEV_0054&SUBSYS_1F061028", "lsi_sas"

id = "PCI\VEN_1000&DEV_0054&SUBSYS_1F071028", "lsi_sas"

id = "PCI\VEN_1000&DEV_0054&SUBSYS_1F081028", "lsi_sas"

id = "PCI\VEN_1000&DEV_0054&SUBSYS_1F091028", "lsi_sas"

id = "PCI\VEN_1000&DEV_0058&SUBSYS_1F0E1028", "lsi_sas"

 

 

 

至此,我们就把自己的RAID驱动程序的相关信息添加到了Windows 2003安装信息文件“txtsetup.sif”中了!
上述添加自定义RAID信息内容的步骤看似很复杂,其实也就是同时打开Windows 2003安装文件目录中的“txtsetup.sif”文件和驱动程序目录中的“.inf”“.oem”信息文件,然后将后者文件中相关字段下面的内容一一对应地移植到“txtsetup.sif”文件中。知道了方法,做起来就容易了!

. 编辑“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"    如果你在这里设置为1Windows的安装程序就会在任意一个有足够可用空间的硬盘分区上安装操作系统。如果你删除这一行或者把值设置为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.    给出一个19502950通用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.1MBSA)扫描系统漏洞,它能根据扫描结果得到最全最新补丁.

 

Microsoft Baseline Security Analyzer V2.1下载地址:

 

http://www.microsoft.com/downloads/details.aspx?FamilyID=F32921AF-9DBE-4DCE-889E-ECF997EB18E9&displaylang=en

 

安装后点击Scan  a  computer

 

 

 
默认是本机,直接点击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目录情况
 
 

 

 

 

 

 

 

比较结果:多了三个文件夹updatesvcpackSP2QFEsvcpack.in_文件变成svcpack.inf,svcpack.inf文件增加安装补丁对应编号.
 

五.用Ultraiso封装操作系统

 

完成上面一序列操作,接下来利用Ultraiso来封装系统光盘,步骤比较简单.

 

Ultraiso下载地址:http://www.newdou.com/soft/39641.html
利用Ultraiso打开cn_win_srv_2003_r2_enterprise_with_sp2_vl_cd1.iso

 

 

然后删除目录下文件,接下来把我们之前集成补丁/raid/硬件驱动所有文件拉到刚刚删除那个位置

 

 

完成后直接另存为..
 

 

 
我们想要的自动安装盘终于搞定了,然后直接刻录.

 

 整理这么长一篇文章,挺累人的,希望对大家有点帮助,之前不擅长写博客.学到技术很分散,也为了让自己在技术方面能够更加全面,利用一边上班一边学习,把平时工作中积累下来技术写出来跟大家分享!也许这些文章对大家来说是雕虫小技,但对我来说是种考验。希望我能这样一直走下去,加油!

本文出自 “技术在于折腾” 博客,请务必保留此出处http://viong.blog.51cto.com/844766/226516

转载于:https://www.cnblogs.com/diewcs/archive/2011/08/15/2139895.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4月 .NET 线上 Meetup,快来报名

点击蓝字关注我们.NET 6 preview 2 在3月11日已经发布&#xff0c;.NET 6 将是 .NET Core 3.1 之后的第一个 LTS 版本&#xff0c;也是微软开启全平台统一一个 .NET 计划以来的第一个 LTS 版本&#xff0c;意义不可谓不大&#xff0c;那么 .NET 5/6 又会带来哪些新特性呢&#…

NP完全性理论与近似算法

一、图灵机根据有限状态控制器的当前状态及每个读写头读到的带符号&#xff0c;图灵机的一个计算步可实现下面3个操作之一或全部。改变有限状态控制器中的状态。清除当前读写头下的方格中原有带符号并写上新的带符号。独立地将任何一个或所有读写头&#xff0c;向左移动一个方格…

阿里25k 百度25k,招WPF!

.NET5打通7大开发方向&#xff0c;CLR超高性能&#xff0c;.NET6支持Blazor嵌入WPF&#xff0c;还有MAUI跨平台UI解决方案&#xff0c;都是.NET的利好&#xff0c;也是WPF的利好。牛年跳槽季&#xff0c;.NET在客户端方向一骑绝尘&#xff0c;阿里影视、百度地图&#xff0c;以…

掌握神经网络模型的快捷方式

TensorFlow是Google基于DistBelief进行研发的第二代人工智能学习系统&#xff0c;其命名来源于本身的运行原理。Tensor&#xff08;张量&#xff09;意味着N维数组&#xff0c;Flow&#xff08;流&#xff09;意味着基于数据流图的计算&#xff0c;TensorFlow实际上就是张量从流…

.Net项目模板(Project Template)

你有没有这样的感觉&#xff0c;开启一个新项目时&#xff0c;总是做一堆体力活——项目的结构层次&#xff0c;常用日志库&#xff0c;OpenAPI库&#xff0c;ORM库&#xff0c;的引入&#xff0c;权限认证方式选择添加&#xff0c;配置文件重新归置存放等等。公共框架的部分总…

谈通过测试与失败测试

在软件测试技术中&#xff0c;现有的测试方法、测试技术中均未提及到通过测试与失败测试。 而在实际项目测试过程中&#xff0c;很多项目组却再应用该方法。虽然该方法被采用&#xff0c;但是很多人对通过测试与失败测试理解并不透侧&#xff0c;在实际使用过程中并未按统一的标…

100个微信小程序的源码公开分享

现在微信小程序越来越火&#xff0c;小编一直有意识地收集微信小程序源码&#xff0c;至今已经拥有100个小程序的源码&#xff0c;有gank、LOL战绩查询、百度小说、豆瓣电影、手势解锁等。现在&#xff0c;小编准备将这些资料免费分享给大家&#xff01;gankLOL战绩查询百度小说…

家里在一二线城市有很多套房是什么体验?答案太颠覆!

作者&#xff1a;匿名来源&#xff1a;知乎&#xff08;图片&#xff1a;网络&#xff09;“家里在一二线城市有很多套房是怎么的一种体验&#xff1f;”这是知乎上一个浏览超600万的话题。其中一个答案非常颠覆&#xff0c;获得高赞。作者的观点是否正确见仁见智&#xff0c;但…

希尔排序听起来有点难,其实很简单

前言直接插入排序当待排序数据的顺序和期望排序结果相反时&#xff0c;排序效率是最差的&#xff1b;上次聊到的折半插入排序只是减少有序列表的比较次数&#xff0c;而对于整体数据遍历次数还是没有得到优化&#xff1b;接下来要说的希尔排序就是针对整体数据进行优化&#xf…

等我敲完这行代码,就和你离婚!

工作是高端大气上档次&#xff0c;工资是低调奢华接地气&#xff01;我们叫做“程序猿”&#xff0c;也叫“攻城狮”&#xff01;但是往往城还没攻下来&#xff0c;我们的头发就先掉下来&#xff01;我们最喜欢听的一句话就是☟段子一“等我敲完这行代码&#xff0c;就和你离婚…

深夜,学妹遇到了数据分析师生涯的第一个疑问

大家好&#xff0c;我是大鹏&#xff0c;目前是一名数据分析师。自从上次学妹深夜给我发微信&#xff0c;询问数据分析师招聘要求和需要掌握的技能&#xff0c;已经过去2个月了。直到昨天&#xff0c;我再次收到了学妹的召唤&#xff1a;当天深夜 学妹深夜求助&#xff0c;定是…

你知道WPF与WinForms的区别吗?

介绍WPF的缩写指微软的Windows Presentation Foundation&#xff0c;而WinForms是Windows Forms Applications的简单组合。这两个都是微软的Windows应用程序图形用户界面&#xff0c;开发人员可以使用它们来开发Windows桌面应用程序。本文重点介绍两种开发Windows桌面应用程序的…

一起谈.NET技术,发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)

发布NGuestBook的动机说明 大约在半年前&#xff0c;我在博客上发表了一个系列文章&#xff1a;《基于.NET平台的分层架构实战》。当时在讲解过程中用到了一个叫NGuestBook的案例&#xff0c;在那以后&#xff0c;有很多朋友留言或发E-mail希望能得到NGuestBook的完整源代…

当Java、C++、Python等编程语言都变成妹子。。。

试想一下&#xff0c;当Java、C、Python、Ruby、PHP、C#、JS等编程语言变成了动漫人物会是怎样的一幅场景呢&#xff1f;下面就一起看看在日本作家渡辺将人的笔下&#xff0c;各种编程语言都是哪类“美女”的吧&#xff01;Java犹如宫泽贤治的《不畏风雨》中出现的、性格木讷的…

对MySQL 进行深入学习是非常必要的

MySQL 在互联网行业非常流行&#xff0c;腾讯&#xff0c;阿里等互联网巨头都在深入使用MySQL&#xff0c; 我在腾讯时也使用MySQL&#xff0c;我在微信群里经常听到大家对MySQL 的意见也很大。在传统企业环境下使用最多的数据库产品是Oracle,SQL Server等企业级数据库&#xf…

4月 .NET 线上 Meetup,快来报名

点击蓝字关注我们.NET 6 preview 2 在3月11日已经发布&#xff0c;.NET 6 将是 .NET Core 3.1 之后的第一个 LTS 版本&#xff0c;也是微软开启全平台统一一个 .NET 计划以来的第一个 LTS 版本&#xff0c;意义不可谓不大&#xff0c;那么 .NET 5/6 又会带来哪些新特性呢&#…

机器学习资料第3版,助你继续成长!

之前分享的两份机器学习资料得到很多人的支持&#xff0c;因此小编决定再分享一份机器学习的资料。前两份资料传送门&#xff1a;【资源】机器学习资料包来袭机器学习资料升级版来了&#xff01;&#xff01;&#xff01;现在&#xff0c;再来看看有什么新资料吧。How to Build…

人工智能、机器学习、深度学习,到底他们哥仨是什么关系?

有三个词&#xff0c;这两年出现的频率越来越高&#xff1a;人工智能&#xff08;AI&#xff09;&#xff0c;机器学习&#xff08;ML&#xff09;&#xff0c;深度学习&#xff08;DL&#xff09;&#xff0c;到底他们哥仨是什么关系&#xff1f;今天小编化繁为简&#xff0c;…

如何在 ASP.NET Core 中使用 HttpClientFactory ?

ASP.Net Core 是一个开源的&#xff0c;跨平台的&#xff0c;轻量级模块化框架&#xff0c;可用它来构建高性能的Web程序&#xff0c;这篇文章我们将会讨论如何在 ASP.Net Core 中使用 HttpClientFactory。为什么要使用 HttpClientFactory 可以用 HttpClientFactory 来集中化管…

如何选择合适的损失函数,请看......

机器学习中的所有算法都依赖于最小化或最大化某一个函数&#xff0c;我们称之为“目标函数”。最小化的这组函数被称为“损失函数”。损失函数是衡量预测模型预测期望结果表现的指标。寻找函数最小值的最常用方法是“梯度下降”。把损失函数想象成起伏的山脉&#xff0c;梯度下…