20061202

制作集成SATA驱动的Windows XP安装光盘

Author:  WinkCategories:  Windows
  • 作者:Wink@Lynn Studio
  • 原创文章,转载请注明作者和出处。

请注意:已有改进方法,参见“Windows XP SP2集成SATA驱动的改进方法”。这篇文章已经停止更新。

前期准备

制作无人值守文件

将Windows XP Service Pack 2部署工具文件WindowsXP-KB838080-SP2-DeployTools-CHS.cab解压,提取出所需的setupmgr.exe和ref.chm两个文件。其中setupmgr.exe是安装管理器,即向导模式的应答文件创建工具,ref.chm是“Microsoft Windows Preinstallation Reference”文档,创建应答文件时的问题可以参考该文档。

运行setupmgr.exe,按照提示完成输入并生成unattend.txt文件,将该文件改名为WINNT.SIF,并保存至“D:\XPCD\I386\”。参照ref.chm文档,修改该文件,以达到定制化Windows XP安装的目的。也可以参考Unattended Windows Guide英文版)和无人值守Windows XP安装光盘(中文版,但是更新会慢一点)两篇文档。

加载SATA驱动至安装目录

解压Floppy Configuration Utility - Intel Matrix Storage Manager,得到F6flpy32.exe文件,再次将F6flpy32.exe解压,得到temp.IMA文件。使用WinImage软件打开该文件,提取iaahci.cat、iaahci.inf、iastor.cat、iastor.inf、iastor.sys及txtsetup.oem五个文件至“D:\drivers”。在“D:\XPCD\I386”下新建“NLDRV\001\”目录,使用压缩工具将五个文件分别压缩为文件名和扩展名都和源文件相同的cab包,并将文件名最后一个字母改为下划线,也可以简单地使用诸如

makecab D:\drivers\iastor.sys D:\XPCD\I386\NLDRV\001\IASTOR.SY_

的形式一次性完成操作。最终在“D:\XPCD\I386\NLDRV\001\”下得到IAAHCI.CA_、IAAHCI.IN_、IASTOR.CA_、IASTOR.IN_、IASTOR.SY_五个文件。之后复制IASTOR.SY_文件至“D:\XPCD\I386\”下。

修改TXTSETUP.SIF文件

使用UltraEdit打开“D:\XPCD\I386\TXTSETUP.SIF”文件,查找“[SourceDisksNames.x86]”字段,在该字段下添加

1984= %cdname%,%cdtagfilei%,,"\i386\NLDRV\001"

同理,在“[WinntDirectories]”下添加

1984= NLDRV\001

在“[HardwareIdsDatabase]”下添加

PCI\VEN_8086&DEV_27C5&CC_0106 = "iaStor"

在“[SCSI.Load]”下添加

iaStor = iaStor.sys,4

在“[SCSI]”下添加

iaStor = "Intel(R) 82801GBM SATA AHCI Controller (Mobile ICH7M/DH)"

在“[SourceDisksFiles.x86]”下添加

iaahci.cat = 1984,,,,,,,1984,0,0
iaahci.inf = 1984,,,,,,,1984,0,0
iastor.cat = 1984,,,,,,,1984,0,0
iastor.inf = 1984,,,,,,,1984,0,0
iaStor.sys = 1,,,,,,4_,4,1,,,1,4
iastor.sys = 1984,,,,,,,1984,0,0

四行,TXTSETUP.SIF文件修改完成。

修改DOSNET.INF文件

使用UltraEdit打开“D:\XPCD\I386\DOSNET.INF”文件,查找“[Directories]”字段,在该部分的最后添加

d11= "\i386\NLDRV\001"

查找“d1,iassvcs.dll”,在它的下一行插入“d1,iaStor.sys”一行; 在“[ForceCopyDriverCabFiles]”字段下添加

d11,iaahci.cat
d11,iaahci.inf
d11,iastor.cat
d11,iastor.inf
d11,iastor.sys

修改HIVE*.INF文件

I386下有五个HIVE*.INF文件,需要对HIVEDEF.INF、HIVESFT.INF、HIVESYS.INF三个进行修改。

首先使用UltraEdit修改HIVEDEF.INF文件,查找“[AddReg]”字段,在“[AddReg]”范围的最后,添加

HKCU,"SOFTWARE\Policies\Microsoft\Windows NT\Driver Signing","BehaviorOnFailedVerify",0x00010001,0
HKCU,"SOFTWARE\Policies\Microsoft\Windows NT\Driver Signing",,0x00000012

然后修改HIVESFT.INF文件,查找

HKLM,"SOFTWARE\Microsoft\Driver Signing",,0x00000010

字段,在其后插入如下一行

HKLM,"SOFTWARE\Microsoft\Driver Signing","Policy",0x00000001,0

并将

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SystemRoot%\inf"

修改为

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SystemRoot%\NLDRV\001;%SystemRoot%\inf"

最后是HIVESYS.INF文件,查找

HKLM,"SOFTWARE\Microsoft\Ole\AppCompat\ActivationSecurityCheckExemptionList","{2A6D72F1-6E7E-4702-B99C-E40D3DED33C3}",0x2,"1"

在其之后插入两行

HKLM,"SYSTEM\CurrentControlSet\Services\iaStor\Parameters",,0x00000012
HKLM,"SYSTEM\CurrentControlSet\Services\iaStor\Parameters\PnpInterface","5",0x00010003,1

到这里,HIVE*.INF文件修改完毕。

修改SETUPREG.HIV文件

打开注册表编辑器,选中“HKEY_LOCAL_MACHINE”项(或者“HKEY_USERS”项也可以),点击“文件”→“加载配置单元”,打开“D:\XPCD\I386\SETUPREG.HIV”文件,在弹出的“项名称”处随便输入一个名称,例如“setupreg”。这时会在“HKEY_LOCAL_MACHINE”项下面出现setupreg子项。依次点开“setupreg”→“ControlSet001”→“Services”,在“Services”下依次新建子项“iaStor”→“Parameters”→“PnpInterface”,在“PnpInterface”项右边的窗口新建DWORD值,数值名称设为“5”,数值数据为“1”。然后选中setupreg项使其高亮,点击“文件”→“卸载配置单元”。此时SETUPREG.HIV文件已经被修改,不过还需要做一些善后工作。注册表编辑器会在SETUPREG.HIV的同目录下生成一个SETUPREG.HIV.LOG文件,用于记载操作信息,将其删除即可。

将安装文件封装为光盘镜像

使用UltraISO将“D:\XPCD\”下所有文件及目录封装为可启动的安装光盘镜像。

You can follow any responses to this entry through the RSS 2.0 feed. Responses are currently closed, but you can trackback from your own site.

Comments are closed.

Back to Page Top