查看單個文章
舊 2006-04-08, 05:35 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 製作整合SATA驅動程式的Windows XP安裝光碟(共2種方法)1為燒刻法,2位硬碟安裝法

製作整合SATA驅動程式的Windows XP安裝光碟(共2種方法)1為燒刻法,2位硬碟安裝法

第2種方法是不刻光碟,用硬碟安裝法,在2樓帖出來!第2種方法相對比較簡單!這2個方法都是網上提供的,大家不必要在沒有軟式磁碟機,又要用SATA硬碟的情況下,不情願的用番茄版XP了
SATA硬碟有不少優點,但安裝作業系統實在麻煩,不僅要抓住機會按「F6」鍵載入STAT的驅動程式,還要製作帶驅動程式的軟碟。要命的是如果新機器沒有組態軟式磁碟機,那可就大眼瞪小眼了……來製作一張含SATA驅動程式的WinXP安裝光碟吧。你會發現:原來載入SATA硬碟驅動其實很簡單。

為了不再讓WinXP的安裝程序需要通過軟碟載入SATA驅動程式,很多人都夢想主機板的SATA驅動程式整合到安裝光碟中,本文就來DIY一張整合SATA驅動程式的Windows XP安裝光碟!

Windows XP安裝目錄及文件準備
開啟檔案總管,在一個擁有足夠磁牒空間(可用空間至少為700MB;如果將產生後的光碟映射也放在該分區,則應當保證有一張光碟的雙倍容量的空間,即1.4GB左右)的硬碟分區上新增一個資料夾,比如「D:\XPSATA」,用於儲存Windows XP的全部安裝文件。

把一張完好的Windows XP安裝光碟放入光碟,在檔案總管中將光碟中的文件全部選定,再複製到「D:\XPSATA」目錄中。

準備驅動程式文件
一般隨主機板附送的驅動程式安裝光碟中都有SATA的驅動程式。開啟光碟目錄,尋找名稱中含有「SATA」或「RAID容錯式獨立磁碟陣列」字串的資料夾;也可在主機板製造商的網站或其它驅動程式下載站點(如:驅動之家「http://www.mydrivers.com」等)尋找與自己的主機板晶片組相匹配的SATA驅動程式。

在D碟中建立一個新的目錄(如「STATDRV」),然後將找到的SATA驅動程式文件全部拷貝到這個目錄中(D:\SATADRV)。這裡我們以Si3112的SATA驅動程式為例進行介紹。其它檔案類型的SATA驅動程式的整合步驟幾乎完全相同,所不同的僅僅是驅動程式檔案名的不同而已。

在這個「D:\STATDRV」的資料夾中,一定會有一個副檔名為「.inf」或「.oem」的小文件,如「oemsetup.inf」或者「txtsetup.oem」等(本例中為「txtsetup.oem」),用記事本程序開啟它,隨後要用!

編輯「txtsetup.sif」文件
開啟「D:\XPSATA\I386」資料夾,找到一個名為「txtsetup.sif」 的文件,這是Windows XP在安裝時載入驅動程式的訊息文件,用記事本程序開啟它。

按「Ctrl+F」快捷鍵,開啟搜尋對話視窗,以「[SourceDisksFiles]」為關鍵字進行搜尋(圖1)。找到這個字段後,其下面已經存在一些內容(圖2)。翻頁到這個字段的末尾(注意:不是整個文件內容的末尾),增加以下內容:「si3112.sys = 1,,,,,,3_,4,1」。


http://bbs.crsky.com/1128632304/Fid_6/6_111796_6dbd8e501e4885d.jpg

http://bbs.crsky.com/1128632304/Fid_6/6_111796_f0f023085a36bb5.jpg

這裡的「si3112.sys = 1,,,,,,3_,4,1」是描述驅動程式所在位置的程式碼。程式碼的格式為「filename_on_source=diskid,subdir,upgradecode,newinstallcode,spare,spare,newfilename」,在「txtsetup.sif」文件中的「[SourceDisksNames]」和「[WinntDirectories]」等字段中有詳細的描述。有興趣的朋友可以深入研究其它目錄的對應關係,這裡僅簡單介紹。


http://bbs.crsky.com/1128632304/Fid_...fc8a7bde96.jpg
在實際操作時,絕對不可以照搬程式碼!特別是副檔名為SYS的文件「si3112.sys」,它是SATA驅動程式目錄「D:\STATDRV」中的驅動程式檔案名,如果讀者的SATA驅動程式與本文所述的不同,則只需換成目錄中相應的文件即可。

切換到前面開啟的「txtsetup.oem」文件,以「[HardwareIds.」為關鍵字進行搜尋,應該可以找到類似「[HardwareIds.SICS.Si3112]」的字段。

該字段下的程式碼如:「id ="PCI\VEN_1095&DEV_3112 &SUBSYS_31121095", "Si3112"」。

切換到剛才開啟的「txtsetup.sif」文件視窗中,以「[HardwareIdsDatabase]」為關鍵字進行搜尋。找到後,將「txtsetup.oem」文件中「[HardwareIds.SICS.Si3112_XP]」字段下的程式碼拷貝到「txtsetup.sif」文件的「[HardwareIdsDatabase]」字段末尾。不過,我們需要更改一下程式碼的格式,如將「id ="PCI\VEN_1095&DEV _3112&SUBSYS_31121095", "Si3112"」改為:「PCI\VEN_1095&DEV_3112&SUBSYS_31121095 = "Si3112"」(其他程式碼修改方法相同),更改後的程式碼如下:

PCI\VEN_1095&DEV_3112&SUBSYS_31121095 = "Si3112"
PCI\VEN_1095&DEV_3112&SUBSYS_34238086 = "Si3112"
PCI\VEN_1095&DEV_3112&SUBSYS_311215D9 = "Si3112"
PCI\VEN_1095&DEV_3112&SUBSYS_B0021458 = "Si3112"
PCI\VEN_1095&DEV_3112&SUBSYS_01661028 = "Si3112"
PCI\VEN_1095&DEV_3112&SUBSYS_82141033 = "Si3112"
PCI\VEN_1095&DEV_3512&SUBSYS_35121095 = "Si3112"
PCI\VEN_1095&DEV_3512&SUBSYS_01661028 = "Si3112"

Easy提示
不同SATA驅動程式的程式碼內容各不相同,應該根據具體情況靈活處理。

檢查拷貝修改的內容是否與原有的內容重複,如果有,則把重複的一行移除。接著在「txtsetup.sif」文件搜尋「[SCSI.load]」和「[SCSI]」字段,增加如下內容:

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

[SCSI]
si3112 = "Silicon Image SiI 3112 SATALink Controller"

至此,我們就把自己的SATA驅動程式的相關資訊增加到了Windows XP安裝訊息文件「txtsetup.sif」中了!

上述增加自訂SATA訊息內容的步驟看似很複雜,其實也就是同時開啟Windows XP安裝文件目錄中的「txtsetup.sif」文件和驅動程式目錄中的「.inf」或「.oem」訊息文件,然後將後者文件中相關字段下面的內容一一對應地移植到「txtsetup.sif」文件中。知道了方法,做起來就要容易些了!
修改「winnt.sif」文件內容
現在,我們已經完成了兩個最重要的步驟:一是獲取了SATA驅動程式文件,它們現在被儲存在「D:\STATDRV」資料夾中;二是修改了Windows XP安裝時自動載入驅動程式的訊息文件「txtsetup.sif」。但現在有一個新的問題:Windows XP在安裝時如何知道它所需要的驅動程式文件在哪個目錄下呢?

這個問題則需要通過修改「winnt.sif」 這個文件來解決。這個文件是Windows XP系統在安裝時的附加訊息文件,可以在其中指定非微軟提供的第三方驅動程式的安裝路徑。

對於本例,在「D:\XPSTAT\I386」資料夾中用記事本新增一個文本文件,寫好內容後,再將檔案名改為「winnt.sif」即可。

Easy提示
在用記事本儲存文件時,一定要輸入完整的檔案名,並且一定要用半形的雙引號將檔案名引起來,如「"winnt.sif"」,否則實際上產生的實際上仍然是個文本文件(Winnt.sif.txt),這將導致安裝程序中出現錯誤,STAT驅動程式無法自動載入!

在「winnt.sif」文件中增加以下內容(如果已經存在部分內容,則應進行修改或增加,且保證每行的內容不要重複):
[Unattended]
OemPreinstall=Yes
OemPnPDriversPath="STATDRV"

上述程式碼最後一句引號中的內容是指隨後產生光碟時,驅動程式相對於光碟根目錄所在的相對路徑。由於我們打算把儲存驅動程式的「D:\STATDRV」資料夾放到新產生的安裝光碟的根目錄,因此不必包含任何子目錄路徑(圖3)。


http://bbs.crsky.com/1128632304/Fid_6/6_111796_ef0ad0b50fbc08c.jpg將SATA驅動壓縮到安裝文件中
使用支持CAB檔案格式的工具(如WinRAR等),將驅動程式目錄中副檔名為SYS的文件增加到WindXP安裝目錄的CAB檔案中。

這裡我們可以使用Windows XP本身附帶的一個指令行工具「makecab.exe」,它位於「C:\WINDOWS\System32\」目錄下。由於「System32」是預設值的搜尋路徑,因此使用時不需要程序所在的路徑。

在開始選單中開啟「執行」對話視窗,輸入如下指令:「MAKECAB D:\STATDRV\SI3112.SYS D:\XP-STAT\i386\SI3112.SY_」(圖4)。

http://bbs.crsky.com/1128632304/Fid_6/6_111796_3920fc0a9f71946.jpg


重新產生安裝光碟
經過上述步驟,現在已經是萬事俱備,只待燒刻了!

準備任意一款支持製作可啟始型光碟的工具程序,如傳統的軟體「WinISO」、「ISOCommander」及大陸軟體「UltraISO」等均可。產生可啟始光碟的方法有很多種,為避免大家到處尋找那些生僻的工具軟體,這裡以UltraISO為例,分若干個步驟進行:

(1)製作原始安裝光碟映射
這一步的目的是方便從製作出來的光碟映射中抽取啟始文件。其實也有專門的直接抽取光碟啟始區的工具,但操作稍麻煩,因此在這裡多花費一兩分鍾還是很值得的。

將Windows XP的原始安裝光碟放入光碟中,啟動UltraISO,按「F5」鍵,或者執行「工具」表單中的「製作光碟映射文件」(圖5),根據提示指定一個映射文件的儲存位置,隨後程序會自動開始讀取光碟並完成映射文件的製作。
盤映射中的啟始檔案
在UltraISO主介面中,執行「啟動光碟」表單中的「儲存啟始文件」指令(圖6),將啟始檔案儲存到硬碟上備用,比如儲存為「D:\Boot.bin」。
(3)新增光碟映射
在UltraISO的「文件」表單中執行「新增」指令;從檔案總管中,將前面我們已經準備好的「D:\XPSTAT」資料夾中的所有文件拖入UltraISO右上側的文件視窗中。

將「D:\STATDRV」目錄直接拖放到UltraISO右上側的文件視窗中,完成後在光碟的根目錄中應當可以看到「STATDRV」的資料夾。

Easy提示
拖放時一定不要包含XPSTAT目錄本身!也就是說,文件增加成功後,在光碟的根目錄下應當可以看到「I386」資料夾。

(4)載入啟始檔案文件
執行「啟動光碟」表單中的「載入啟始文件」指令,找到上一步抽取的光碟映射的啟始文件,即「D:\Boot.bin」。現在,新增的光碟映射就具備與原版Windows XP安裝光碟相同的啟始功能了。

(5)儲存光碟映射
按「CTRL+S」或者執行「文件」→「儲存」指令,指定一個儲存光碟映射的路徑和檔案名(如「F:\XPSTAT.ISO」等),確定後UltraISO就開始向指定路徑產生光碟映射文件了。

(6)燒錄安裝光碟
使用Nero或者其他任意一款支持光碟映射文件燒錄的工具軟體,將上述得到的光碟映射文件(這裡即F:\XPSTAT.ISO)燒錄到光碟中。現在,用這張安裝碟在支持SATA的硬體環境下全新安裝Windows XP,你就既不必按F6,也不需使用什麼軟碟,非常方便。

製作整合SATA驅動程式的Windows XP安裝光碟是一件比較複雜的工作,任何一個小小的失誤都可能導致無法正確地載入驅動程式。此外,不同主機板附帶的SATA驅動程式的檔案名稱、數量、訊息文件的內容各不相同,在整合時不能硬套,只有舉一反三才能成功。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次