(2)制作windows 2003自动安装盘-集成补丁/Raid及硬件驱动

简介:

二.编辑“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”文件中。知道了方法,做起来就容易了!
 
 



    本文转自viong 51CTO博客,原文链接:http://blog.51cto.com/viong/226240
,如需转载请自行联系原作者

 
相关文章
|
1月前
|
前端开发 Java Maven
java集成opencv(不踩坑),实现人脸检测小demo(含上传人像图片识别接口),windows,IDEA,Springboot
java集成opencv(不踩坑),实现人脸检测小demo(含上传人像图片识别接口),windows,IDEA,Springboot
163 0
|
4月前
|
NoSQL MongoDB 数据库
MongoDB【部署 03】Windows系统安装mongodb并设置用户名密码(无需安装mongosh)及SpringBoot集成报错 Command failed with error 18
MongoDB【部署 03】Windows系统安装mongodb并设置用户名密码(无需安装mongosh)及SpringBoot集成报错 Command failed with error 18
134 0
|
4月前
|
监控 关系型数据库 Java
SpringBoot【集成 01】Druid+Dynamic+Greenplum(实际上用的是PostgreSQL的驱动)及 dbType not support 问题处理(附hikari相关配置)
SpringBoot【集成 01】Druid+Dynamic+Greenplum(实际上用的是PostgreSQL的驱动)及 dbType not support 问题处理(附hikari相关配置)
70 0
|
4月前
|
监控 安全 API
5.9 Windows驱动开发:内核InlineHook挂钩技术
在上一章`《内核LDE64引擎计算汇编长度》`中,`LyShark`教大家如何通过`LDE64`引擎实现计算反汇编指令长度,本章将在此基础之上实现内联函数挂钩,内核中的`InlineHook`函数挂钩其实与应用层一致,都是使用`劫持执行流`并跳转到我们自己的函数上来做处理,唯一的不同的是内核`Hook`只针对`内核API`函数,但由于其身处在`最底层`所以一旦被挂钩其整个应用层都将会受到影响,这就直接决定了在内核层挂钩的效果是应用层无法比拟的,对于安全从业者来说学会使用内核挂钩也是很重要。
39 1
5.9 Windows驱动开发:内核InlineHook挂钩技术
|
4月前
|
监控 API C++
8.4 Windows驱动开发:文件微过滤驱动入门
MiniFilter 微过滤驱动是相对于`SFilter`传统过滤驱动而言的,传统文件过滤驱动相对来说较为复杂,且接口不清晰并不符合快速开发的需求,为了解决复杂的开发问题,微过滤驱动就此诞生,微过滤驱动在编写时更简单,多数`IRP`操作都由过滤管理器`(FilterManager或Fltmgr)`所接管,因为有了兼容层,所以在开发中不需要考虑底层`IRP`如何派发,更无需要考虑兼容性问题,用户只需要编写对应的回调函数处理请求即可,这极大的提高了文件过滤驱动的开发效率。
40 0
|
4月前
|
监控 Windows
7.4 Windows驱动开发:内核运用LoadImage屏蔽驱动
在笔者上一篇文章`《内核监视LoadImage映像回调》`中`LyShark`简单介绍了如何通过`PsSetLoadImageNotifyRoutine`函数注册回调来`监视驱动`模块的加载,注意我这里用的是`监视`而不是`监控`之所以是监视而不是监控那是因为`PsSetLoadImageNotifyRoutine`无法实现参数控制,而如果我们想要控制特定驱动的加载则需要自己做一些事情来实现,如下`LyShark`将解密如何实现屏蔽特定驱动的加载。
30 0
7.4 Windows驱动开发:内核运用LoadImage屏蔽驱动
|
11天前
|
监控 安全 API
7.3 Windows驱动开发:内核监视LoadImage映像回调
在笔者上一篇文章`《内核注册并监控对象回调》`介绍了如何运用`ObRegisterCallbacks`注册`进程与线程`回调,并通过该回调实现了`拦截`指定进行运行的效果,本章`LyShark`将带大家继续探索一个新的回调注册函数,`PsSetLoadImageNotifyRoutine`常用于注册`LoadImage`映像监视,当有模块被系统加载时则可以第一时间获取到加载模块信息,需要注意的是该回调函数内无法进行拦截,如需要拦截则需写入返回指令这部分内容将在下一章进行讲解,本章将主要实现对模块的监视功能。
25 0
7.3 Windows驱动开发:内核监视LoadImage映像回调
|
4月前
|
监控 安全 API
7.2 Windows驱动开发:内核注册并监控对象回调
在笔者上一篇文章`《内核枚举进程与线程ObCall回调》`简单介绍了如何枚举系统中已经存在的`进程与线程`回调,本章`LyShark`将通过对象回调实现对进程线程的`句柄`监控,在内核中提供了`ObRegisterCallbacks`回调,使用这个内核`回调`函数,可注册一个`对象`回调,不过目前该函数`只能`监控进程与线程句柄操作,通过监控进程或线程句柄,可实现保护指定进程线程不被终止的目的。
29 0
7.2 Windows驱动开发:内核注册并监控对象回调
|
4月前
|
监控 安全 API
7.6 Windows驱动开发:内核监控FileObject文件回调
本篇文章与上一篇文章`《内核注册并监控对象回调》`所使用的方式是一样的都是使用`ObRegisterCallbacks`注册回调事件,只不过上一篇博文中`LyShark`将回调结构体`OB_OPERATION_REGISTRATION`中的`ObjectType`填充为了`PsProcessType`和`PsThreadType`格式从而实现监控进程与线程,本章我们需要将该结构填充为`IoFileObjectType`以此来实现对文件的监控,文件过滤驱动不仅仅可以用来监控文件的打开,还可以用它实现对文件的保护,一旦驱动加载则文件是不可被删除和改动的。
29 1
7.6 Windows驱动开发:内核监控FileObject文件回调
|
4月前
|
监控 安全 API
6.9 Windows驱动开发:内核枚举进线程ObCall回调
在笔者上一篇文章`《内核枚举Registry注册表回调》`中我们通过特征码定位实现了对注册表回调的枚举,本篇文章`LyShark`将教大家如何枚举系统中的`ProcessObCall`进程回调以及`ThreadObCall`线程回调,之所以放在一起来讲解是因为这两中回调在枚举是都需要使用通用结构体`_OB_CALLBACK`以及`_OBJECT_TYPE`所以放在一起来讲解最好不过。
40 1
6.9 Windows驱动开发:内核枚举进线程ObCall回调