|
論壇說明 | 標記討論區已讀 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2006-04-08, 05:35 PM | #1 |
榮譽會員
|
教學 - 製作整合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」。 這裡的「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)。 將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)。 重新產生安裝光碟 經過上述步驟,現在已經是萬事俱備,只待燒刻了! 準備任意一款支持製作可啟始型光碟的工具程序,如傳統的軟體「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驅動程式的檔案名稱、數量、訊息文件的內容各不相同,在整合時不能硬套,只有舉一反三才能成功。 |
__________________ |
|
送花文章: 3,
|
2006-04-08, 05:36 PM | #2 (permalink) |
榮譽會員
|
以前在安裝Windows的時候老是要借軟式磁碟機插軟碟,遇到軟式磁碟機軟碟壞了就麻煩了,一直都想把驅動做到光碟或者硬碟上並讓Windows安裝程序自動載入,經過查資料和摸索,得出下面的方法:
安裝Windows 2000/XP之類的關於NT內核的作業系統在RAID容錯式獨立磁碟陣列或SCSI或SATA硬碟上,它們的驅動程式必須在安裝系統之前就正確載入。安裝此類驅動程式一般的模式是將硬體的驅動程式拷貝到軟碟上,在系統開始安裝的時候按下F6,然後系統會為你載入軟碟中的驅動程式。這樣的驅動程式軟碟根目錄下肯定有一個名為Txtsetup.oem的文件,它會告訴安裝程序怎樣安裝SCSI、RAID容錯式獨立磁碟陣列卡的驅動程式。那麼只要我們使用Windows的自動安裝模式,並通過Txtsetup.oem就可以實現讓驅動直接載入(就如同它已經內裝了驅動程式一樣)。以EP-8RDA3+的SATA晶片SI3112為例,其他的可以依瓢畫葫蘆。 1、新增一個目錄,命名為$OEM$。在此目錄下建立兩個目錄,TEXTMODE和$1。 2、把SI3112的驅動文件都拷到TEXTMODE的目錄下: Si3112r.inf Si3112r.mpd Si3112r.sys SIISUPP.vxd SIWinAcc.sys TxtSetup.oem 驅動文件至少應包括包含TxtSetup.oem、.inf和.sys文件。也就是在TxtSetup.oem裡出現的文件都是必須的。 3、用任何文本編輯器編輯Txtsetup.oem文件,移除任何和Windows XP驅動無關的訊息,儲存。我的文件修改後如下: [Disks] disk1 = "Silicon Image SiI 3x12 SATARaid Driver Installation Disk",Si3112r.sys, [Defaults] SCSI = Si3112r [SCSI] ; HwComponent section Si3112r_XP = "Silicon Image SiI 3x12 SATARaid Controller for Windows XP" [Files.SCSI.Si3112r_XP] driver = disk1,si3112r.sys, Si3112r driver = disk1,SiWinAcc.sys, SiFilter inf = disk1,Si3112r.inf ;;catalog = disk1, Si3112r.cat [HardwareIds.SCSI.Si3112r_XP] id = "PCIVEN_1095&DEV_3112&SUBSYS_61121095", "Si3112r" id = "PCIVEN_1095&DEV_3112&SUBSYS_34228086", "Si3112r" id = "PCIVEN_1095&DEV_3112&SUBSYS_809D1043", "Si3112r" id = "PCIVEN_1095&DEV_3512&SUBSYS_65121095", "Si3112r" id = "PCIVEN_1095&DEV_3512&SUBSYS_34228086", "Si3112r" [Config.Si3112r_XP] value = ProblemDevices, "", REG_SZ, "" value = ProblemDevices, "Maxtor 4D060H3 DAK05GK0", REG_SZ, "MaxMode = UDMA-5" value = ProblemDevices, "ST320012AS", REG_SZ, "Mod15Write" value = ProblemDevices, "ST330013AS", REG_SZ, "Mod15Write" value = ProblemDevices, "ST340017AS", REG_SZ, "Mod15Write" value = ProblemDevices, "ST360015AS", REG_SZ, "Mod15Write" value = ProblemDevices, "ST380023AS", REG_SZ, "Mod15Write" value = ProblemDevices, "ST3120023AS", REG_SZ, "Mod15Write" value = ProblemDevices, "ST340014ASL", REG_SZ, "Mod15Write" value = ProblemDevices, "ST360014ASL", REG_SZ, "Mod15Write" value = ProblemDevices, "ST380011ASL", REG_SZ, "Mod15Write" value = ProblemDevices, "ST3120022ASL", REG_SZ, "Mod15Write" value = ProblemDevices, "ST3160021ASL", REG_SZ, "Mod15Write" 4、在$1的目錄下建立Drivers目錄,在Drivers目錄下再建立SI3112目錄,此兩個目錄名稱可隨意,但是必須與下面的unattend.txt文件裡提到的相應路徑一致。把TEXTMODE下的所有文件都拷到SI3112目錄下。 5、建立檔案名為unattend.txt的文本文件,這個文件是WINDOWS自動安裝的指令碼文件,可自己手動寫入參數,也可通過setupmgr.exe產生,setupmgr.exe文件在安裝光碟的SUPPORTTOOLS目錄下的DEPLOY.CAB壓縮包裡。 6、在unattend.txt中,新增 [OEMBootFiles]段,把TextMode目錄下的所有文件列表填寫進去,如我的: [OEMBootFiles] Si3112r.inf Si3112r.mpd Si3112r.sys SIISUPP.vxd SIWinAcc.sys TxtSetup.oem 7、建立[MassStorageDrivers]段,如: [MassStorageDrivers] "Silicon Image SiI 3x12 SATARaid Controller for Windows XP"="OEM" 其中"Silicon Image SiI 3x12 SATARaid Controller for Windows XP"來自於Txtsetup.oem文件[scsi]段中標誌Windows XP控制器的文字。 8、建立[Unattended],在[Unattended]中增加OemPreinstall=Yes,是為了保證Windows安裝程序自動去搜尋我們增加進去的第三方驅動程式。為了防止沒有通過微軟的WHQL認證的驅動安裝失敗,需要指定DriverSigningPolicy=Ignore來忽略WHQL認證檢查。還要指明驅動儲存的目錄路徑,此為riversSI3112。如下: [Unattended] OemPreinstall=Yes DriverSigningPolicy=Ignore OemPnPDriversPath="DriversSI3112" 9、使用此方法有一個缺陷——Windows安裝分區是自動選項的,我們不能在安裝程序中指定分區,不過可以在unattend.txt文件中新增[Data]段,並輸入以下訊息就可以在安裝程序中選項安裝分區。 [Data] AutoPartition = 0 Unattendmode = Yes MSDosInitiated = "0" OemSkipEula=Yes 10、安裝: 把安裝光碟中所有的文件COPY到硬碟(比如:F盤的WINXP目錄下),把一開始新增的整個$OEM$目錄都放到I386的目錄下,並且unattend.txt也放到I386目錄下,在I386目錄下執行安裝指令為Winnt /u:unattend.txt /s:f:winXPi386,其中f:winXPi386為I386所在的絕對路徑。(注:有些網友反映光碟安裝出現很多問題,我試驗之後的確有他們所提的問題,為了不再「誤導」更多網友,故把光碟安裝方法取消,等出了解決辦法之後才貼上,望諒!) 自動安裝文件還有很多其他的作用,如自動填入序列號等,大家可以自己去查閱資料,祝大家都能方便的安裝WINDOWS,另上面如有不對的地方也請提出 |
送花文章: 3,
|
2006-09-26, 11:18 AM | #3 (permalink) |
榮譽會員
|
SATA硬碟安裝XP找不到驅動的解決方法
最近看到很多網友發貼求助:SATA硬碟在安裝WinXP時,已按F6安裝軟碟中的第三方SATA硬碟驅動並找到硬碟,但在複製文件過程中仍提示找不到viasraid.sys、viasraid.inf、viasraid.cat這三個文件,按ESC跳過後,當複製完文件重啟系統便出現錯誤,以致不能繼續安裝系統。 筆者經過嘗試已解決此問題,步驟如下: 1、安裝開始時,按提示按下F6,正確安裝軟碟中的第三方SATA硬碟驅動,選擇安裝系統的分區。 2、在複製文件中提示找不到viasraid.sys、viasraid.inf、viasraid.cat這三個文件時,按ESC跳過。 3、複製完文件重啟時插入軟碟啟動碟,從軟式磁碟機啟動,然後插入有SATA硬碟驅動程式的軟碟,找到軟碟上的viasraid.sys、viasraid.inf、 viasraid.cat這三個文件(一般是在WinXP目錄中)複製到C:\windows\system32\drivers目錄下(這裡假定系統安裝在C區),取出軟碟重啟即可完成系統的安裝。 註:以上方法在「華碩K8V-X主板,MAXTOR 80G SATA 硬碟」上通過。 |
送花文章: 3,
|
向 psac 送花的會員:
|
black-coffee (2013-03-02)
感謝您發表一篇好文章 |
2006-09-26, 11:22 AM | #4 (permalink) |
榮譽會員
|
製作整合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」。 這裡的「si3112.sys = 1,,,,,,3_,4,1」是描述驅動程式所在位置的代碼。代碼的格式為「filename_on_source=diskid,subdir,upgradecode,newinstallcode,spare,spare,newfilename」,在「txtsetup.sif」文件中的「[SourceDisksNames]」和「[WinntDirectories]」等字段中有詳細的描述。有興趣的朋友可以深入研究其它目錄的對應關係,這裡僅簡單介紹。 在實際操作時,絕對不可以照搬代碼!特別是延伸名為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)。 將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)。 重新產生安裝光碟 經過上述步驟,現在已經是萬事俱備,只待刻盤了! 準備任意一款支持製作可啟始型光碟的工具程式,如經典的軟件「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驅動程式的文件名稱、數量、訊息文件的內容各不相同,在整合時不能硬套,只有舉一反三才能成功。 以前在安裝Windows的時候老是要借軟式磁碟機插軟碟,遇到軟式磁碟機軟碟壞了就麻煩了,一直都想把驅動做到光碟或者硬碟上並讓Windows安裝程式自動載入,經過查資料和摸索,得出下面的方法: 安裝Windows 2000/XP之類的基於NT內核的操作系統在RAID或SCSI或SATA硬碟上,它們的驅動程式必須在安裝系統之前就正確載入。安裝此類驅動程式常見的模式是將硬體的驅動程式拷貝到軟碟上,在系統開始安裝的時候按下F6,然後系統會為你載入軟碟中的驅動程式。這樣的驅動程式軟碟根目錄下肯定有一個名為Txtsetup.oem的文件,它會告訴安裝程式怎樣安裝SCSI、RAID卡的驅動程式。那麼只要我們使用Windows的自動安裝模式,並通過Txtsetup.oem就可以實現讓驅動直接載入(就如同它已經內置了驅動程式一樣)。以EP-8RDA3+的SATA晶片SI3112為例,其他的可以依瓢畫葫蘆。 1、新增一個目錄,命名為$OEM$。在此目錄下建立兩個目錄,TEXTMODE和$1。 2、把SI3112的驅動文件都拷到TEXTMODE的目錄下: Si3112r.inf Si3112r.mpd Si3112r.sys SIISUPP.vxd SIWinAcc.sys TxtSetup.oem 驅動文件至少應包括包含TxtSetup.oem、.inf和.sys文件。也就是在TxtSetup.oem裡出現的文件都是必須的。 3、用任何文本編輯器編輯Txtsetup.oem文件,刪除任何和Windows XP驅動無關的訊息,儲存。我的文件修改後如下: [Disks] disk1 = "Silicon Image SiI 3x12 SATARaid Driver Installation Disk",Si3112r.sys, [Defaults] SCSI = Si3112r [SCSI] ; HwComponent section Si3112r_XP = "Silicon Image SiI 3x12 SATARaid Controller for Windows XP" [Files.SCSI.Si3112r_XP] driver = disk1,si3112r.sys, Si3112r driver = disk1,SiWinAcc.sys, SiFilter inf = disk1,Si3112r.inf ;;catalog = disk1, Si3112r.cat [HardwareIds.SCSI.Si3112r_XP] id = "PCIVEN_1095&DEV_3112&SUBSYS_61121095", "Si3112r" id = "PCIVEN_1095&DEV_3112&SUBSYS_34228086", "Si3112r" id = "PCIVEN_1095&DEV_3112&SUBSYS_809D1043", "Si3112r" id = "PCIVEN_1095&DEV_3512&SUBSYS_65121095", "Si3112r" id = "PCIVEN_1095&DEV_3512&SUBSYS_34228086", "Si3112r" [Config.Si3112r_XP] value = ProblemDevices, "", REG_SZ, "" value = ProblemDevices, "Maxtor 4D060H3 DAK05GK0", REG_SZ, "MaxMode = UDMA-5" value = ProblemDevices, "ST320012AS", REG_SZ, "Mod15Write" value = ProblemDevices, "ST330013AS", REG_SZ, "Mod15Write" value = ProblemDevices, "ST340017AS", REG_SZ, "Mod15Write" value = ProblemDevices, "ST360015AS", REG_SZ, "Mod15Write" value = ProblemDevices, "ST380023AS", REG_SZ, "Mod15Write" value = ProblemDevices, "ST3120023AS", REG_SZ, "Mod15Write" value = ProblemDevices, "ST340014ASL", REG_SZ, "Mod15Write" value = ProblemDevices, "ST360014ASL", REG_SZ, "Mod15Write" value = ProblemDevices, "ST380011ASL", REG_SZ, "Mod15Write" value = ProblemDevices, "ST3120022ASL", REG_SZ, "Mod15Write" value = ProblemDevices, "ST3160021ASL", REG_SZ, "Mod15Write" 4、在$1的目錄下建立Drivers目錄,在Drivers目錄下再建立SI3112目錄,此兩個目錄名稱可隨意,但是必須與下面的unattend.txt文件裡提到的相應路徑一致。把TEXTMODE下的所有文件都拷到SI3112目錄下。 5、建立文件名為unattend.txt的文本文件,這個文件是WINDOWS自動安裝的腳本文件,可自己手動寫入參數,也可通過setupmgr.exe產生,setupmgr.exe文件在安裝光碟的SUPPORTTOOLS目錄下的DEPLOY.CAB壓縮包裝裡。 6、在unattend.txt中,創建 [OEMBootFiles]段,把TextMode目錄下的所有文件列表填寫進去,如我的: [OEMBootFiles] Si3112r.inf Si3112r.mpd Si3112r.sys SIISUPP.vxd SIWinAcc.sys TxtSetup.oem 7、建立[MassStorageDrivers]段,如: [MassStorageDrivers] "Silicon Image SiI 3x12 SATARaid Controller for Windows XP"="OEM" 其中"Silicon Image SiI 3x12 SATARaid Controller for Windows XP"來自於Txtsetup.oem文件[scsi]段中標誌Windows XP控制器的文字。 8、建立[Unattended],在[Unattended]中新增OemPreinstall=Yes,是為了保證Windows安裝程式自動去查找我們新增進去的第三方驅動程式。為了防止沒有通過微軟的WHQL認證的驅動安裝失敗,需要指定DriverSigningPolicy=Ignore來忽略WHQL認證檢查。還要指明驅動儲存的目錄路徑,此為riversSI3112。如下: [Unattended] OemPreinstall=Yes DriverSigningPolicy=Ignore OemPnPDriversPath="DriversSI3112" 9、使用此方法有一個缺陷——Windows安裝分區是自動選擇的,我們不能在安裝過程中指定分區,不過可以在unattend.txt文件中新增[Data]段,並輸入以下訊息就可以在安裝過程中選擇安裝分區。 [Data] AutoPartition = 0 Unattendmode = Yes MSDosInitiated = "0" OemSkipEula=Yes 10、安裝: 把安裝光碟中所有的文件COPY到硬碟(比如:F盤的WINXP目錄下),把一開始創建的整個$OEM$目錄都放到I386的目錄下,並且unattend.txt也放到I386目錄下,在I386目錄下執行安裝命令為Winnt /u:unattend.txt /s:f:winXPi386,其中f:winXPi386為I386所在的絕對路徑。(注:有些網友反映光碟安裝出現很多問題,我試驗之後的確有他們所提的問題,為了不再「誤導」更多網友,故把光碟安裝方法取消,等出了解決辦法之後才貼上,望諒!) 自動安裝文件還有很多其他的作用,如自動填入序列號等,大家可以自己去查閱資料,祝大家都能方便的安裝WINDOWS,另上面如有不對的地方也請提出,謝謝! |
送花文章: 3,
|
向 psac 送花的會員:
|
1102 (2007-06-02)
感謝您發表一篇好文章 |
2006-09-30, 05:55 PM | #5 (permalink) |
長老會員
|
有些繁雜但是大體都還有些能了解,但不是完全了解,拷貝存檔,備用
|
__________________ TCP options string: 020405a001010402 MSS: 1440 MTU: 1480 TCP Window: 46080 (multiple of MSS) RWIN Scaling: 0 Unscaled RWIN : 46080 Reccomended RWINs: 63360, 126720, 253440, 506880 BDP limit (200ms): 1843kbps (230KBytes/s) BDP limit (500ms): 737kbps (92KBytes/s) |
|
送花文章: 671,
|
向 poss 送花的會員:
|
bowen0205 (2008-09-11)
感謝您發表一篇好文章 |