社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 2928阅读
  • 20回复

XP系统盘中集成SATA驱动

楼层直达
级别: 光盘见习
发帖
11
飞翔币
335
威望
13
飞扬币
5300
信誉值
0
1、Windows XP安装目录及文件准备

创建一个文件夹,比如“D:\XPSATA”,用于保存Windows XP的全部安装文件。

2、准备驱动程序文件

在i386中创建SATADRV文件夹,将找到的SATA驱动程序文件全部通过makecab.exe命令压缩到这个目录中D:\XPSATA\i386\SATADRV。如:makecab

Si3112.sys D:\Si3112.SY_,其它文件依此类推。 这里我们以Si3112的SATA驱动程序为例进行介绍。其它类型的SATA驱动程序的集成步骤几乎完全相同,所不

同的仅仅是驱动程序文件名的不同而已。在这个“D:\SATADRV”的文件夹中,一定会有一个扩展名为“.inf”或“.oem”的小文件,如“oemsetup.inf”或者“txtsetup.oem”

等(本例中为“txtsetup.oem”),用记事本程序打开它,随后要用!

3、编辑txtsetup.sif

[SourceDisksNames.x86] (定义SATA驱动程序文件的来源)
1982= %cdname%,%cdtagfilei%,,"\i386\satadrv"

[WinntDirectories]

1982= satadrv (定义SATA驱动程序文件的复制目标,如将驱动程序文件分类存放到前面的SATADRV文件夹中子文件夹的话,如:i386\SATADRV\VGA

i386\SATADRV\BOARDi386\SATADRV\SOUND等 ,依此类推.1983="satadev\子文件夹名"),双引号要加上,这是使文件夹能相对与光盘目录。

[SourceDisksFiles]

Si3112.sys = 1982,,,,,,,1982,0,0
Si3112.inf = 1982,,,,,,,1982,0,0
Si3112.cat = 1982,,,,,,,1982,0,0

第一个“1982”代表着文件来源,相当于1982= %cdname%,%cdtagfilei%,,"\i386\satadrv",第二个“1982”代表着拷贝目的地,相当于1982= satadrv ,第一个“0”代

表升级安装代码总是复制该文件,第二个“0”代表全新安装代码总是复制该文件。有关这方面的代码定义请参照TXTSETUP.SIF的字段讲解

[HardwareIdsDatabase] (硬件标识)

PCI\VEN_8086&DEV_1230 = "Si3112"
PCI\VEN_8086&DEV_7010 = "Si3112"
PCI\VEN_8086&DEV_7111 = "Si3112"

这一段是通过切换到前面打开的“txtsetup.oem”文件,以“[HardwareIds.”为关键字进行搜索,应该可以找到类似“[HardwareIds.SICS.Si3112]”的字段。

该字段下的代码如:id ="PCI\VEN_8086&DEV_1230", "Si3112"
id =“PCI\VEN_8086&DEV_7010”, "Si3112"
id ="PCI\VEN_8086&DEV_7111", "Si3112"

我们需要更改一下该字段代码的格式,然后将其拷贝到“txtsetup.sif”文件的“[HardwareIdsDatabase]”字段末尾。更改后的代码如下:

PCI\VEN_8086&DEV_1230 = "Si3112"
PCI\VEN_8086&DEV_7010 = "Si3112"
PCI\VEN_8086&DEV_7111 = "Si3112"

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


[SCSI.load] (SCSI驱动加载)

Si3112 = Si3112.sys,4

[SCSI] (SCSI设备说明 )

Si3112 = "Silicon Image SiI 3112 SATALink Controller"

这一段也通过切换到前面打开的“txtsetup.oem”文件,以[SCSI.load]和[SCSI]为关键字进行搜索填写的。至此,所有SATA驱动已经集成完毕,但这只能用于光盘安装

,若想硬盘安装也能自动安装SATA驱动的话,就必须编辑dosnet.inf文件,这个文件的作用是定义在里面的文件在安装时会首先复制到CWIN_NT$.~LS 文件夹中,
然后,安装程序才会利用 Txtsetup.sif 把这个文件夹中的文件复制到对应的文件夹中

4、编辑dosnet.inf

[Directories]

d9 = \i386\satadrv (定义SATA驱动程序文件的来源,如将驱动程序文件分类存放到前面的SATADRV文件夹中子文件夹的话,如:i386\SATADRV\VGA

i386\SATADRV\BOARDi386\SATADRV\SOUND等 ,依此类推.d10="\satadev\子文件夹名"),双引号要加上,引号中的内容是指随后生成光盘时,驱动程序相对

于光盘根目录所在的相对路径

[Files]

d9,Si3112.sys
d9,Si3112.inf
d9,Si3112.cat

dosnet.inf一共有两个[Files]字段 ,把新增加的驱动程序文件填写在第一个[Files]字段中即可

[OptionalSrcDirs]

satadrv

在[OptionalSrcDirs]字段下面也加入satadrv目录

5、编辑HIVESFT.INF

添加SATA驱动程序的路径,即satadrv目录。将HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SystemRoot%\inf"

改为HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SystemRoot%\satadrv;%SystemRoot%\inf"

依此类推。不管是从硬盘安装还是从光盘安装,都要做这一步。

6、把所有没有经过makecab命令压缩过的SATA驱动程序复制到启动软盘组中,否则最初加载系统基本驱动后,系统报告将“找不

到硬盘”。至此,就可以将文件做成ISO镜像刻盘了.
 
级别: 光盘中级
发帖
107
飞翔币
335
威望
342
飞扬币
5182
信誉值
0
只看该作者 1 发表于: 2006-10-10
;P ,谢谢共享!
级别: 光盘中级
发帖
4775
飞翔币
495
威望
708
飞扬币
2745
信誉值
5

只看该作者 2 发表于: 2006-10-28
MS很好的说!!学习了!!!
级别: 光盘见习
发帖
27
飞翔币
335
威望
13
飞扬币
3497
信誉值
0
只看该作者 3 发表于: 2006-10-28
学习了!!!
级别: 光盘初级
发帖
92
飞翔币
335
威望
282
飞扬币
2690
信誉值
0
只看该作者 4 发表于: 2006-10-30
支持,研究一下!
谢谢楼主提供好思路
级别: 光盘中级
发帖
409
飞翔币
335
威望
639
飞扬币
434
信誉值
0
只看该作者 5 发表于: 2006-10-30
:)Y11 不错的内容啊,谢谢
级别: 光盘学士
发帖
144
飞翔币
108
威望
2248
飞扬币
108
信誉值
0

只看该作者 6 发表于: 2006-11-05
学习了,谢谢分享!
级别: *
发帖
*
飞翔币
*
威望
*
飞扬币
0
信誉值
0
只看该作者 7 发表于: 2006-11-06
谢谢楼主提供好思路:)Y15
xmy
级别: 光盘见习
发帖
46
飞翔币
135
威望
13
飞扬币
1614
信誉值
0
只看该作者 8 发表于: 2007-01-14
学习了,谢谢楼主分享这么好的教程
级别: 光盘见习
发帖
11
飞翔币
335
威望
13
飞扬币
1583
信誉值
0
只看该作者 9 发表于: 2007-01-14
谢谢楼主的,教程,
级别: 光盘见习
发帖
14
飞翔币
335
威望
13
飞扬币
1550
信誉值
0
只看该作者 10 发表于: 2007-01-15
谢谢了
正在找呀:)Y16
级别: 光盘见习
发帖
63
飞翔币
335
威望
13
飞扬币
1607
信誉值
0
只看该作者 11 发表于: 2007-01-25
自己水平有限,看了好久还是不会做.但还是谢谢楼主
级别: 光盘见习
发帖
27
飞翔币
335
威望
13
飞扬币
1554
信誉值
0
只看该作者 12 发表于: 2007-01-29
学习中,还有很多地方还是不怎么明白不过看了之后大概有个思想准备了,,,呵呵 谢谢楼主分享。。。
级别: 光盘见习
发帖
35
飞翔币
335
威望
13
飞扬币
1442
信誉值
0
只看该作者 13 发表于: 2007-02-22
看不懂呀!
级别: *
发帖
*
飞翔币
*
威望
*
飞扬币
0
信誉值
0
只看该作者 14 发表于: 2007-02-24
不错的教程!