当前位置:文档之家› 将RAID驱动整合到Windows+2003安装盘

将RAID驱动整合到Windows+2003安装盘

将raid卡驱动整合到Windows 2003 Server安装盘的总结
准备工作:
1. 2003server 系统安装盘
2. RAID卡驱动(本次使用IBM RAID 8K卡,用于IBM X3650服务器)
3. UltraISO(用于将做好的整合系统做成ISO文件)
4. EasyBoot(用于制作引导菜单)
制作过程:
1.在大的分区中创建一个目录如:D:\Roger
2.将2003server光盘中的文件复制到D:\roger目录下
3.创建目录,路径为D:\roger\$OEM$\$1\drivers\sata (drivers\sata这个2个目录是随便起名,不过要
记住)
4.将RAID卡驱动复制到D:\roger\$OEM$\$1\drivers\sata目录下(RAID 8K的驱动共有5个文件,分别为
arcsas.cat;arcsas.inf;arcsas.sys;raidisk1;txtsetup.oem不同的驱动文件个数和文件名称不同,但一
定要有*.inf *.sys *.oem文件)
5.编辑“txtsetup.sif”文件(重点)
打开“D:\Roger\I386”文件夹,找到一个名为“txtsetup.sif” 的文件,这是Windows系统在安装时加
载驱动程序的信息文件,用记事本程序打开它。
查找以“[SourceDisksFiles]”的关键字。(里面有好多这个名字的字段)找到这第一个字段后,在这个
个字段的末尾(注意:不是整个文件内容的末尾),添加以下内容:“arcsas.sys = 1,,,,,,3_,4,1,,,1,4
”。是描述驱动程序所在位置的代码。代码的格式为
“filename_on_source=diskid,subdir,upgradecode,newinstallcode,spare,spare,newfilename”,在
“txtsetup.sif”文件中的“[SourceDisksNames]”和“[WinntDirectories]”等字段中有详细的描述。
有兴趣的朋友可以深入研究其它目录的对应关系,这里仅简单介绍。
打开“D:\roger\$OEM$\$1\drivers\sata”目录下的txtsetup.oem文件,搜索“[HardwareIds.”字段,
找到[HardwareIds.scsi.arcsas]字段(不同的RAID卡这个字段[HardwareIds.后面的名称不同)
这个字段的内容如:id = "PCI\VEN_9005&DEV_0285&SUBSYS_02989005", "arcsas" 复制这个字段的内容

切换到txtsetup.sif文件,搜索“[HardwareIdsDatabase]”字段,将“txtsetup.oem”文件中
“[HardwareIds.scsi.arcsas]”字段下的代码拷贝到“txtsetup.sif”文件的“[HardwareIdsDatabase]
”字段末尾。不过,我们需要更改一下代码的格式。
如将“id = "PCI\VEN_9005&DEV_0285&SUBSYS_02989005", "arcsas" 改为
PCI\VEN_9005&DEV_0285&SUBSYS_02989005 = "arcsas"(其他行也是一样)
如:
PCI\VEN_9005&DEV_0285&SUBSYS_02989005 = "arcsas"
PCI\VEN_9005&DEV_0285&SUBSYS_02f21014 = "arcsas"
PCI\VEN_9005&DEV_0285&SUBSYS_02999005 = "arcsas"
PCI\VEN_9005&DEV_0285&SUBSYS_029A9005 = "arcsas"
PCI\VEN_9005&DEV_0285&SUBSYS_02A49005 = "arcsas"
PCI\VEN_9005&DEV_0285&SUBSYS_02A59005 = "arcsas"
PCI\VEN_9005&DEV_0286&SUBSYS_95801014 = "arcsas"
PCI\VEN_9005&DEV_0286&SUBSYS_95401014 = "arcsas"
PCI\VEN_9005&DEV_0286&SUBSYS_02A29005 = "arcsas"
PCI\VEN_9005&DEV_0285&SUBSYS_02A39005 = "arcsas"
检查拷贝修改的内容是否与原有的

内容重复,如果有,则把重复的一行删除。接着在“txtsetup.sif”文
件查找“[SCSI.load]”和“[SCSI]”字段,添加如下内容:

[SCSI.load]
arcsas = arcsas.sys,4

[SCSI]
arcsas = "IBM X3650 SERVER RAID 8K"(引号中的内容随便打的)
接着要修改“winnt.sif”文件内容,Winnt.sif文件在D:\Roger\I386下面,这个文件是告诉windows在安
装的时候RAID卡的驱动在什么目录里面。
找到“[Unattended]”字段,在TargetPath=\WINDOWS行下面添加OemPnPDriversPath=drivers\sata
如:[Unattended]
UnattendMode=FullUnattended
FileSystem=*
OemSkipEula=Yes
TargetPath=\WINDOWS
OemPnPDriversPath=drivers\sata
UnattendSwitch="Yes"
OemPreinstall=Yes
DriverSigningPolicy=Ignore
NonDriverSigningPolicy=Ignore
(OemPnPDriversPath=drivers\sata 这个行是驱动文件的目录,如果还要加载其他别的驱动可在目录后
面以“;”号隔开,如:OemPnPDriversPath=drivers\sata;drivers\acr2;drivers\e2
做完以上步骤后,配置工作就可以结束了,最后一步也是最重要的一步将RAID卡的驱动压缩到安装文件中
使用支持CAB文件格式的工具(如WinRAR等),将驱动程序目录中扩展名为SYS的文件添加到WindXP安装目录
的CAB文件中。我们本次使用makecab.exe命令,在开始菜单中打开“运行”对话框,输入如下命令:
MAKECAB D:\roger\drivers\sata D:\roger\I386\arcsas.SY_
大功告成o(∩_∩)o,使用EasyBoot工具制作引导文件,用UltraISO工具加载引导文件,把D:\roger目录
下的文件拖放到光盘文件中,生成ISO文件,使用NERO刻盘








七大步骤:

一、复制Windows 2003安装目录.
二、准备驱动程序文件.
三、编辑“txtsetup.sif”文件(1).
四、编辑“txtsetup.sif”文件(2).
五、修改“winnt.sif”文件内容.
六、将RAID驱动压缩到安装文件.
七、重新生成安装光盘.


为了不再让Win2003的安装过程需要通过软盘加载RAID驱动程序,很多人都梦想将
主板的RAID驱动程序集成到安装光盘中,本文就来DIY一张集成RAID驱动程序的
Windows 2003安装光盘!

一、复制Windows 2003安装目录

打开资源管理器,在一个拥有足够磁盘空间(空闲空间至少为700MB;如果将生成后
的光盘镜像也放在该分区,则应当保证有一张光盘的双倍容量的空间,即1.4GB左右)的
硬盘分区上创建一个文件夹,比如“D:\w2003RAID\”,用于保存Windows 2003的全部安装
文件。

把一张完好的Windows 2003安装光盘[下载]放入光驱,在资源管理器中将光盘中的文
件全部选定,再复制到“D:\w2003RAID\”目录中。

二、准备驱动程序文件


一般随主板附送的驱动程序安装光盘中都有RAID的驱动程序。打开光盘目录,寻找名
称中含有“SATA”

或“RAID”字符的文件夹;也可在主板制造商的网站或其它驱动程序下
载站点(如:驱动之家等)寻找与自己的主板芯片组相匹配的RAID驱动程序。

[注意]Intel S5000PSLSAS型号的主板,不是每个版本都能支持Intel四核处理器,得803
以上版本才行。而且,Intel S5000PSLSAS 803版本主板盒装光盘的SAS RAID驱动,对RAID
支持不好,如用此驱动安装Windows 2003系统,一般在例如最后10分钟及3分钟的时候就
装不下去了!所以必须下载最新版本的驱动,这是下载地址。

下载解压后,对Windows 2003而言,只需要ESRT2_Windows_v_07_15_0209_2007_WHQL\windows_xp_2003_x86文件夹下的文件。

在D:\w2003RAID目录下依次建立新的目录D:\w2003RAID\$OEM$\$1\drivers\IntelMegaSR\,然后将下载解压得到的文件中windows_xp_2003_x86文件夹中的9个文件全部拷贝
到这个目录下(也就是D:\w2003RAID\$OEM$\$1\drivers\IntelMegaSR目录下,[注意]这个
目录中,\$OEM$\$1不可以以其它名称命名,必须照抄此处,因为这涉及到后面“OemPnPDriversPath=drivers\IntelMegaSR”代码对这些文件地址的指向。Drivers目录下,除了IntelMegaSR这个目录,还可以根据需要增加其他的驱动目录)。

这里我们是以MegaSR的RAID驱动程序为例进行介绍。其它类型的RAID驱动程序的
集成步骤几乎完全相同,所不同的仅仅是驱动程序文件名的不同而已。

在这个“\IntelMegaSR”的文件夹中,一定会有一个扩展名为“.inf”或“.oem”的小文
件,如“oemsetup.inf”或者“txtsetup.oem”等(本例中为“txtsetup.oem”),用记事本程序
打开它,随后要用!

就Intel的这款驱动,共有9个文件,列举如下:

dpinst.xml

MegaSR

MegaSR.cat

MegaSR.INF

megasr.md5

megasr.sys

megasr2k.sys

nodev.inf

txtsetup.oem

补充说明:如果文件夹下还有文件夹,不要动它,原来是什么样就是什么样,比如myraid\win32\
三、编辑“txtsetup.sif”文件(1)

打开“D:\w2003RAID\I386”文件夹,找到一个名为“txtsetup.sif” 的文件,这是Windows 2003在安装时加载驱动程序的信息文件,用记事本程序打开它。

按“Ctrl+F”快捷键,打开查找对话框,以“[SourceDisksFiles]”为关键字进行查找。


找到这个字段后,其下面已经存在一些内容(图1)。



图1



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




图2



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

ories]”等字段中有详细
的描述。有兴趣的朋友可以深入研究其它目录的对应关系,这里仅简单介绍。





图3



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

四、编辑“txtsetup.sif”文件(2)

切换到前面打开的“txtsetup.oem”文件,以“[HardwareIds.”为关键字进行搜索,应该
可以找到类似“[HardwareIds.SICS.MegaSR]”的字段(注意不是[HardwareIds.scsi.MegaSR2K],它是WINDOWS 2000的驱动)。






图4

该字段下的代码如:“id="PCI\VEN_8086&DEV_27c3&SUBSYS_10a51734", "MegaSR"”。

切换到刚才打开的“txtsetup.sif”文件窗口中,以“[HardwareIdsDatabase]”为关键字进
行搜索。找到后,将“txtsetup.oem”文件中“[HardwareIds.scsi.MegaSR]”字段下的代码拷
贝到“txtsetup.sif”文件的“[HardwareIdsDatabase]”字段末尾。不过,我们需要更改一下代
码的格式,如将“id="PCI\VEN_8086&DEV_27c3&SUBSYS_10a51734", "MegaSR"”改为:
“PCI\VEN_8086&DEV_27c3&SUBSYS_10a51734 = "MegaSR"”(其他代码修改方法相同),
更改后的代码如下:

PCI\VEN_8086&DEV_27c3&SUBSYS_10851734 = "MegaSR"
PCI\VEN_8086&DEV_27c3&SUBSYS_10a51734 = "MegaSR"
PCI\VEN_8086&DEV_27c3&SUBSYS_27c08086 = "MegaSR"
PCI\VEN_1000&DEV_0054&SUBSYS_10001000 = "MegaSR"

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

检查拷贝修改的内容是否与原有的内容重复,如果有,则把重复的一行删除。接着在“txtsetup.sif”文件查找“[SCSI.load]”和“[SCSI]”字段,添加如下内容:

[SCSI.load]

MegaSR = MegaSR.sys,4

等号前的字符根据驱动酌情更改,等号MegaSR后代码一般照抄使用。




图5



[SCSI]

MegaSR = "Intel Embedded Server RAID Technology (Windows XP/2003)"



图6



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




图7



至此,我们就把自己的RAID驱动程序的相关信息添加到了Windows 2003安装信息文
件“txtsetup.sif”中了!

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

五、修改“winnt.sif”文件内容

现在,我们已经完成了两个最重要的步骤:一

是获取了RAID驱动程序文件,它们现在
被保存在“D:\w2003RAID\$OEM$\$1\drivers\IntelMegaSR”文件夹中;二是修改了Windows
2003安装时自动加载驱动程序的信息文件“txtsetup.sif”。但现在有一个新的问题:Windows
2003在安装时如何知道它所需要的驱动程序文件在哪个目录下呢?

这个问题则需要通过修改“winnt.sif” 这个文件来解决。这个文件是Windows 2003系
统在安装时的附加信息文件,可以在其中指定非微软提供的第三方驱动程序的安装路径。

用Windows Setup Manager Utility创建 unattend.txt 文件, 重命名文件为winnt.sif 并
复制到D:\w2003RAID\i386 目录下。下图中 OemPnpdriverPath 一行添加所有PnP 驱动路
径[本例是:“OemPnPDriversPath=drivers\IntelMegaSR”,如果不止一个驱动,请用半角分
号分隔,如:“OemPnPDriversPath=drivers\IntelMegaSR;drivers\IntelSAS;drivers\AC97”]。并
确保[Unattended]项下的OemPreinstall等于Yes(OemPreinstall=Yes)。请见图8。




图8



“OemPnPDriversPath=drivers\IntelMegaSR”这段代码是指随后生成光盘时,驱动程序
相对于光盘根目录所在的相对路径。如果我们打算把保存驱动程序的文件夹如IntelMegaSR
放到新生成的安装光盘的根目录,就不必包含任何子目录路径:OemPnPDriversPath= “IntelMegaSR”。

[注意]可以从 Windows 2003 Server 光盘的Supports\Tools文件夹下的Deploy.cab 文件
解压得到Setup Manager utility。Setup Manager 可以引导创建unattend.txt 文件。注意,请
用记事本编辑unattend.txt文件。

另外要提醒的一个小点是,[Data]字段下的AutoPartition的值最好更改为0(AutoPartition=0),因为这样我们在安装系统的时候可以手工选择安装分区,而且在需要格式化该分区
时,可以先删除该分区,再重建分区,然后格式化;而此值一般默认是1,如果这样,在安
装时程序会自动随机选择一个有足够空间的分区安装,且不对该分区格式化。请看图9:




图9



全部修改完毕后,用记事本保存文件时,一定要输入完整的文件名,并且一定要用半角
的双引号将文件名引起来,如“"winnt.sif"”,否则实际上生成的仍然是个文本文件(Winnt.
sif.txt),这将导致安装过程中出错,RAID驱动程序无法自动加载!当然也可以在让系统显
示文件扩展名的情况下将文件名更改为“winnt.sif”,以确保文件后缀名的正确无误!

六、将RAID驱动压缩到安装文件

使用支持CAB文件格式的工具(如WinRAR等),将驱动程序目录中扩展名为SYS的
文件压缩到I386目录下。

这里我们可以使用Windows 2003本身附带的一个命令行工具“makecab.exe”,它位于
“C:WINDOWS\System32”目录下。由于“System32”是默认的搜索路径,因此

使用时不
需要程序所在的路径。

在开始菜单中打开“运行”对话框,输入cmd命令,再在DOS提示符下运行以下命令:

makecab d:\w2003raid\$oem$\$1\drivers\intelmegasr\megasr.sys d:\w2003raid\i386\megasr.sy_

(此处为便于截图,可以直接输入“运行”对话框运行)

此命令运行的结果是在i386\文件夹下生成一个名为megasr.sy_的文件,这个文件是用来加载
驱动的!

相关主题
文本预览
相关文档 最新文档