成AHCI驅(qū)動程序教程
rotary520
聲明:本文部分內(nèi)容來自碧海藍天的博文(地址:
http://hi.uu456.com/asbluesky/blog/item/013883ec26ae51d62f2e21ec.html)
本文僅供學習研究之用
關(guān)鍵字:集成AHCI驅(qū)動 集成SATA驅(qū)動 NCQ ICH9M
第一部分 下載驅(qū)動、拷貝文件
一、做集成的前期準備工作
1、下載驅(qū)動文件:
到驅(qū)動之家選擇查詢向?qū)?,選擇“SCSI/RAID控制器驅(qū)動”,接下來選擇“Intel”,再選擇“Intel英特爾ICH5R/ICH6R/ICH7R/ICH8R/ICH9R/ICH10R系列南橋芯片組”,下載“Intel英特爾
ICH7R/ICH8R/ICH9R/ICH10R系列南橋芯片組RAID驅(qū)動最新磁盤創(chuàng)建程序8.8.0.1009官方正式版For WinXP-64/2003-64/Vista-64/2008-64(2009年3月16日發(fā)布)”得到“intel_msm_8801009_flpy32_zs.zip”文件,解壓縮該文件得到六個文件:
iaahci.cat;iaAHCI.inf;iastor.cat;iaStor.inf;IaStor.sys;TXTSETUP.OEM,其他兩個刪掉。
2、解壓縮HP SP2安裝盤所有文件到“D:\HP”;解壓縮MSDN版XP SP3安裝盤的所有文件到“D:\WinXP”
3、提取“D:\HP\i386”下的這幾個文件:
OEMBIOS.BI_;OEMBIOS.CA_;OEMBIOS.DA_;OEMBIOS.SI_;DPCDLL.DL_;PIDGEN.DLL
把下面的幾個文件也一同提取出來:
SETUPP.INI;EULA.TXT;WINNT.SIF
4、修改SETUPP.INI中“Pid=76481000”為“Pid=76481OEM”,如果已經(jīng)是這個字段了就不用修改了。
5、修改EULA.TXT最下面一行的EULAID:XPSP2_RTM_PRO_RTL_CN為EULAID:XPSP3_RTM_PRO_OEM_CN
6、清空WINNT.SIF的文件內(nèi)容,并修改為以下內(nèi)容:
[UserData]
ProductKey="P2BXT-D7Y8P-F6WF2-HYXY9-49TJD"
[Data]
MSDosInitiated=0
UnattendedInstall=Yes
把上面修改好的
OEMBIOS.BI_;OEMBIOS.CA_;OEMBIOS.DA_;OEMBIOS.SI_;DPCDLL.DL_;PIDGEN.DLL;SETUPP.INI;EULA.TXT;WINNT.SIF文件復制到“D:\WinXP\”替換文件。
第二部分 集成AHCI驅(qū)動文件
下面說明一下需要修改的幾個關(guān)鍵文件:
TXTSETUP.SIF txtmode方式復制系統(tǒng)文件的主要文件
DOSNET.INF 如果想硬盤DOS下安裝系統(tǒng),這個文件也要修改
HIVESFT.INF 在此文件內(nèi)定義驅(qū)動搜索路徑
這三個文件存在于“D:\WinXP\I386\”目錄內(nèi)
注意:第二部分中對以上三個文件的修改都是把相關(guān)項目添加到相關(guān)字段的 最后 一行!
二、添加TXTMODE時的硬件識別信息
1、編輯txtsetup.sif文件
下面來認識幾個關(guān)鍵字段的作用:
[SourceDisksNames.x86] 定義文件的來源
[WinntDirectories] 定義文件的復制目標
[SourceDisksFiles.x86] 待復制的文件列表,語法按照[SourceDisksNames.x86]定義
[HardwareIdsDatabase] 通過識別硬件的PID來識別,并賦予一個變量
[SCSI.load] [HardwareIdsDatabase]識別出了硬件,加載對應(yīng)的驅(qū)動文件
[SCSI] [HardwareIdsDatabase]識別出了硬件,給該設(shè)備命名
參照下載回來的SATA驅(qū)動磁盤壓縮包中的txtsetup.oem文件,我們修改txtsetup.sif文件的以下部分:
[SourceDisksFiles.x86]
iaStor.sys = 1,,,,,,4_,4,1,,,1,4
[HardwareIdsDatabase]
PCI\VEN_8086&DEV_2929&CC_0106 = "iaStor" (注意:這里要修改成你自己的設(shè)備數(shù)據(jù),可以在txtsetup.oem里面找到)
[SCSI.load]
iaStor = iaStor.sys,4
[SCSI]
iaStor = "Intel(R) ICH9M-E/M SATA AHCI Controller" (注意:這里要修改成你自己的設(shè)備名稱,
可以在txtsetup.oem里面找到)
[FileFlags]
iaStor.sys = 16
2、編輯dosnet.inf文件
此文件支持的是在硬盤安裝系統(tǒng)的時候,文件能夠得到正確復制
[Directories] 源路徑的說明
[OptionalSrcDirs] 其他路徑的說明如不在此說明,添加的目錄不會得到復制
[FloppyFiles.1]
[Files] 這2個不用多解釋了,文件的復制列表
下面開始添加
[FloppyFiles.1]
d1,iaStor.sys
[Files]
d1,iaStor.sys
注意,這里的[Files]欄在該文件中有兩個,我們要增加的是與我們要加入的格式相似的欄目中。
最后,在命令行里執(zhí)行“makecab iastor.sys”,得到文件“iastor.sy_”。把“iaStor.sy_”復制到“D:\WinXP\i386\”,至此txtmode模式驅(qū)動集成完畢。
三、PNP驅(qū)動的集成
看完了上面的資料,肯定很多人會問了,txtmode方式通過之后,系統(tǒng)安裝完畢我們的設(shè)備是否就驅(qū)動上了呢?
回答是:未驅(qū)動上。上面的做法只是讓Windows在安裝初期認出了硬盤,并執(zhí)行后面的操作。進了系統(tǒng)之后,該硬件的PNP驅(qū)動還是未添加的,這就如同您的其他硬件:顯卡、聲卡一樣需要再手動安裝驅(qū)動。
PNP驅(qū)動集成的關(guān)鍵文件在于驅(qū)動文件(inf文件)的路徑指定,這個路徑指定就在“hivesft.inf”內(nèi)。
在文件內(nèi)搜索“DevicePath”可以看到,系統(tǒng)默認的搜索路徑是“%SystemRoot%\inf”
我們只要增加一個路徑,并把文件對應(yīng)復制過去,就可以實現(xiàn)PNP驅(qū)動的識別了。(當然,把文件都復制到默認的路徑“%SystemRoot%\inf”而不去修改“hivesift.inf”也可以實現(xiàn),但是我們?nèi)绻闪舜罅康尿?qū)動就會把inf目錄搞的很龐大無序。我們可以分別復制驅(qū)動文件到對應(yīng)路徑這樣比較有條理。)
所以,還要在上面修改的基礎(chǔ)上繼續(xù)做以下修改:
1、編輯txtsetup.sif文件
[SourceDisksNames.x86]
1985 = %cdname%,%cdtagfilei%,,"\i386\NCQ"
[WinntDirectories]
1985 = NCQ
[SourceDisksFiles.x86]
iaStor.sys = 1,,,,,,4_,4,1,,,1,4
iaStor.cat = 1985,,,,,,,1985,0,0
iaStor.inf = 1985,,,,,,,1985,0,0
iaStor.sys = 1985,,,,,,,1985,0,0
iaahci.cat = 1985,,,,,,,1985,0,0
iaahci.inf = 1985,,,,,,,1985,0,0
2、編輯dosnet.inf文件
[Directories]
d5 = \i386\NCQ
[OptionalSrcDirs]
NCQ
[FloppyFiles.1]
d1,iaStor.sys
[Files]
d1,iaStor.sys
d5,iastor.sys
d5,iaStor.inf
d5,iaAHCI.inf
d5,iaStor.cat
d5,iaAHCI.cat
3、編輯HIVESFT.INF
將
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SystemRoot%\inf"改為
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SystemRoot%\NCQ;%SystemRoot%\inf"
不管是從硬盤安裝還是從光盤安裝,都要做這一步。
然后開始操作:
a.在命令行里執(zhí)行“makecab iastor.sys”,得到文件“iastor.sy_”。把“iaStor.sy_”復制到
“D:\WinXP\i386\”(前面做過這一步了的就不用再做了)
b.在i386下創(chuàng)建NCQ目錄,將iastor.sys;iaStor.inf;iaAHCI.inf;iaStor.cat;iaAHCI.cat復制到
i386\NCQ里
至此txtmode和PNP模式驅(qū)動集成完畢
第三部分 生成ISO、刻盤安裝
1、使用UltraISO提取HP SP2光盤的光盤卷標:“HP_OS_RESTORE”和光盤的引導記錄。
2、將修改好相關(guān)文件的文件夾D:\WinXP導入UltraISO,并且修改卷標和加載光盤引導記錄。
3、生成ISO文件,刻盤安裝。
PS:
1、安裝完成后,可以刪除C:\Windows下或者C:\Windows\System32下的NCQ文件夾(具體在哪個目錄下我不記得了),那個文件夾中的驅(qū)動文件在驅(qū)動安裝完成后就沒有什么用了,可以刪除了。因為,驅(qū)動安裝完成后,相關(guān)的驅(qū)動程序都會被自動拷貝到“C:\WINDOWS\system32\drivers”下,原來的“驅(qū)動安裝程序”就沒有用了,可以刪除了。這和我們安裝的其他常規(guī)驅(qū)動是一樣的。
2、如果要更新AHCI驅(qū)動并刻盤,可以下載驅(qū)動安裝包,壓縮新的iastor.sys為iastor.sy_復制到i386文件夾下替換老文件,并且復制新的iastor.sys;iaStor.inf;iaAHCI.inf;iaStor.cat;iaAHCI.cat到i386\NCQ里。最后,執(zhí)行本文第三部分就可以安裝了。
聯(lián)系客服