――本文詳盡,徹底,準(zhǔn)確,可用!此項技術(shù),本文足矣!請細(xì)致閱讀。
――本文以Windows 2003 SP2集成Intel S5000PSLSAS主板SAS RAID驅(qū)動為例講解,但同樣適合Windows XP等操作系統(tǒng)及其他RAID/SATA/SAS驅(qū)動。
――本文主要參考引用讓SATA“嫁給”Windows XP,向認(rèn)真的作者余劉瑯致敬!
――本文部分參考將IBM ServeRAID 8i卡的驅(qū)動整合到Windows 2003安裝光盤里,向不留名的作者致敬!
――網(wǎng)絡(luò)不可用之偽作甚多,不一一列舉。
七大步驟:
一、復(fù)制Windows 2003安裝目錄.
二、準(zhǔn)備驅(qū)動程序文件.
三、編輯“txtsetup.sif”文件(1).
四、編輯“txtsetup.sif”文件(2).
五、修改“winnt.sif”文件內(nèi)容.
六、將RAID驅(qū)動壓縮到安裝文件.
七、重新生成安裝光盤.
為了不再讓W(xué)in2003的安裝過程需要通過軟盤加載RAID驅(qū)動程序,很多人都夢想將主板的RAID驅(qū)動程序集成到安裝光盤中,本文就來DIY一張集成RAID驅(qū)動程序的Windows 2003安裝光盤!
一、復(fù)制Windows 2003安裝目錄
打開資源管理器,在一個擁有足夠磁盤空間(空閑空間至少為700MB;如果將生成后的光盤鏡像也放在該分區(qū),則應(yīng)當(dāng)保證有一張光盤的雙倍容量的空間,即1.4GB左右)的硬盤分區(qū)上創(chuàng)建一個文件夾,比如“D:\w2003RAID\&;,用于保存Windows 2003的全部安裝文件。
把一張完好的Windows 2003安裝光盤[下載]放入光驅(qū),在資源管理器中將光盤中的文
件全部選定,再復(fù)制到“D:\w2003RAID\&;目錄中。
二、準(zhǔn)備驅(qū)動程序文件
一般隨主板附送的驅(qū)動程序安裝光盤中都有RAID的驅(qū)動程序。打開光盤目錄,尋找名稱中含有“SATA”或“RAID”字符的文件夾;也可在主板制造商的網(wǎng)站或其它驅(qū)動程序下載站點(如:驅(qū)動之家等)尋找與自己的主板芯片組相匹配的RAID驅(qū)動程序。
[注意]Intel S5000PSLSAS型號的主板,不是每個版本都能支持Intel四核處理器,得803以上版本才行。而且,Intel S5000PSLSAS 803版本主板盒裝光盤的SAS RAID驅(qū)動,對RAID支持不好,如用此驅(qū)動安裝Windows 2003系統(tǒng),一般在例如最后10分鐘及3分鐘的時候就裝不下去了!所以必須下載最新版本的驅(qū)動,這是下載地址。
下載解壓后,對Windows 2003而言,只需要ESRT2_Windows_v_07_15_0209_2007_WHQL\windows_xp_2003_x86文件夾下的文件。
在D:\w2003RAID目錄下依次建立新的目錄D:\w2003RAID\$OEM$\$1\drivers\IntelMegaSR\,然后將下載解壓得到的文件中windows_xp_2003_x86文件夾中的9個文件全部拷貝到這個目錄下(也就是D:\w2003RAID\$OEM$\$1\drivers\IntelMegaSR目錄下,[注意]這個目錄中,\$OEM$\$1不可以以其它名稱命名,必須照抄此處,因為這涉及到后面“OemPnPDriversPath=drivers\IntelMegaSR”代碼對這些文件地址的指向。Drivers目錄下,除了IntelMegaSR這個目錄,還可以根據(jù)需要增加其他的驅(qū)動目錄)。
這里我們是以MegaSR的RAID驅(qū)動程序為例進(jìn)行介紹。其它類型的RAID驅(qū)動程序的集成步驟幾乎完全相同,所不同的僅僅是驅(qū)動程序文件名的不同而已。
在這個“\IntelMegaSR”的文件夾中,一定會有一個擴(kuò)展名為“.inf”或“.oem”的小文件,如“oemsetup.inf”或者“txtsetup.oem”等(本例中為“txtsetup.oem”),用記事本程序打開它,隨后要用!
就Intel的這款驅(qū)動,共有9個文件,列舉如下:
dpinst.xml
MegaSR
MegaSR.cat
MegaSR.INF
megasr.md5
megasr.sys
megasr2k.sys
nodev.inf
txtsetup.oem
補(bǔ)充說明:如果文件夾下還有文件夾,不要動它,原來是什么樣就是什么樣,比如myraid\win32\
三、編輯“txtsetup.sif”文件(1)
打開“D:\w2003RAID\I386”文件夾,找到一個名為“txtsetup.sif” 的文件,這是Windows 2003在安裝時加載驅(qū)動程序的信息文件,用記事本程序打開它。
按“Ctrl+F”快捷鍵,打開查找對話框,以“[SourceDisksFiles]”為關(guān)鍵字進(jìn)行查找。
找到這個字段后,其下面已經(jīng)存在一些內(nèi)容(圖1)。
圖1
再以“[”為關(guān)鍵字查找到這個字段的末尾(注意:不是整個文件內(nèi)容的末尾),添加以下內(nèi)容:“MegaSR.sys = 1,,,,,,3_,4,1,,,1,4”(圖2)。
圖2
這里的“MegaSR.sys = 1,,,,,,3_,4,1,,,1,4”是描述驅(qū)動程序所在位置的代碼。代碼的格式為“filename_on_source=diskid,subdir,upgradecode,newinstallcode,spare,spare,newfilename”,在“txtsetup.sif”文件中的“[SourceDisksNames]”和“[WinntDirectories]”等字段中有詳細(xì)的描述。有興趣的朋友可以深入研究其它目錄的對應(yīng)關(guān)系,這里僅簡單介紹。
圖3
在實際操作時,絕對不可以照搬代碼!特別是擴(kuò)展名為sys的文件“MegaSR.sys”,它是RAID驅(qū)動程序目錄“D:\w2003RAID\$OEM$\$1\drivers\IntelMegaSR\&;中的驅(qū)動程序文件名,如果您的RAID驅(qū)動程序與本文所述的不同,則只需換成目錄中相應(yīng)的文件即可。而等號后面的代碼,一般可以直接照抄使用。
四、編輯“txtsetup.sif”文件(2)
切換到前面打開的“txtsetup.oem”文件,以“[HardwareIds.”為關(guān)鍵字進(jìn)行搜索,應(yīng)該可以找到類似“[HardwareIds.SICS.MegaSR]”的字段(注意不是[HardwareIds.scsi.MegaSR2K],它是WINDOWS 2000的驅(qū)動)。
圖4
該字段下的代碼如:“id="PCI\VEN_8086DEV_27c3SUBSYS_10a51734", "MegaSR"”。 切換到剛才打開的“txtsetup.sif”文件窗口中,以“[HardwareIdsDatabase]”為關(guān)鍵字進(jìn)行搜索。找到后,將“txtsetup.oem”文件中“[HardwareIds.scsi.MegaSR]”字段下的代碼拷貝到“txtsetup.sif”文件的“[HardwareIdsDatabase]”字段末尾。不過,我們需要更改一下代碼的格式,如將“id="PCI\VEN_8086DEV_27c3SUBSYS_10a51734", "MegaSR"”改為:“PCI\VEN_8086DEV_27c3SUBSYS_10a51734 = "MegaSR"”(其他代碼修改方法相同),更改后的代碼如下:
PCI\VEN_8086DEV_27c3SUBSYS_10851734 = "MegaSR"
PCI\VEN_8086DEV_27c3SUBSYS_10a51734 = "MegaSR"
PCI\VEN_8086DEV_27c3SUBSYS_27c08086 = "MegaSR"
PCI\VEN_1000DEV_0054SUBSYS_10001000 = "MegaSR"
提示:不同RAID驅(qū)動程序的代碼內(nèi)容各不相同,應(yīng)該根據(jù)具體情況靈活處理。
檢查拷貝修改的內(nèi)容是否與原有的內(nèi)容重復(fù),如果有,則把重復(fù)的一行刪除。接著在“txtsetup.sif”文件查找“[SCSI.load]”和“[SCSI]”字段,添加如下內(nèi)容:
[SCSI.load]
MegaSR = MegaSR.sys,4
等號前的字符根據(jù)驅(qū)動酌情更改,等號MegaSR后代碼一般照抄使用。
圖5
[SCSI]
MegaSR = "Intel Embedded Server RAID Technology (Windows XP/2003)"
圖6
[注意]此信息是從驅(qū)動的txtsetup.oem文件(或.INF文件)[SCSI]字段中獲取,如下圖:
圖7
至此,我們就把自己的RAID驅(qū)動程序的相關(guān)信息添加到了Windows 2003安裝信息文件“txtsetup.sif”中了!上述添加自定義RAID信息內(nèi)容的步驟看似很復(fù)雜,其實也就是同時打開Windows 2003安裝文件目錄中的“txtsetup.sif”文件和驅(qū)動程序目錄中的“.inf”或“.oem”信息文件,然后將后者文件中相關(guān)字段下面的內(nèi)容一一對應(yīng)地移植到“txtsetup.sif”文件中。知道了方法,做起來就容易了!
五、修改“winnt.sif”文件內(nèi)容
現(xiàn)在,我們已經(jīng)完成了兩個最重要的步驟:一是獲取了RAID驅(qū)動程序文件,它們現(xiàn)在被保存在“D:\w2003RAID\$OEM$\$1\drivers\IntelMegaSR”文件夾中;二是修改了Windows 2003安裝時自動加載驅(qū)動程序的信息文件“txtsetup.sif”。但現(xiàn)在有一個新的問題:Windows 2003在安裝時如何知道它所需要的驅(qū)動程序文件在哪個目錄下呢?
這個問題則需要通過修改“winnt.sif” 這個文件來解決。這個文件是Windows 2003系統(tǒng)在安裝時的附加信息文件,可以在其中指定非微軟提供的第三方驅(qū)動程序的安裝路徑。用Windows Setup Manager Utility創(chuàng)建 unattend.txt 文件, 重命名文件為winnt.sif 并復(fù)制到D:\w2003RAID\i386 目錄下。下圖中 OemPnpdriverPath 一行添加所有PnP 驅(qū)動路徑[本例是:“OemPnPDriversPath=drivers\IntelMegaSR”,如果不止一個驅(qū)動,請用半角分號分隔,如:“OemPnPDriversPath=drivers\IntelMegaSR;drivers\IntelSAS;drivers\AC97”]。并確保[Unattended]項下的OemPreinstall等于Yes(OemPreinstall=Yes)。請見圖8。
圖8
“OemPnPDriversPath=drivers\IntelMegaSR”這段代碼是指隨后生成光盤時,驅(qū)動程序相對于光盤根目錄所在的相對路徑。如果我們打算把保存驅(qū)動程序的文件夾如IntelMegaSR放到新生成的安裝光盤的根目錄,就不必包含任何子目錄路徑:OemPnPDriversPath= “IntelMegaSR”。
[注意]可以從 Windows 2003 Server 光盤的Supports\Tools文件夾下的Deploy.cab 文件解壓得到Setup Manager utility。Setup Manager 可以引導(dǎo)創(chuàng)建unattend.txt 文件。注意,請用記事本編輯unattend.txt文件。
另外要提醒的一個小點是,[Data]字段下的AutoPartition的值最好更改為0(AutoPartition=0),因為這樣我們在安裝系統(tǒng)的時候可以手工選擇安裝分區(qū),而且在需要格式化該分區(qū)時,可以先刪除該分區(qū),再重建分區(qū),然后格式化;而此值一般默認(rèn)是1,如果這樣,在安裝時程序會自動隨機(jī)選擇一個有足夠空間的分區(qū)安裝,且不對該分區(qū)格式化。請看圖9:
圖9
全部修改完畢后,用記事本保存文件時,一定要輸入完整的文件名,并且一定要用半角的雙引號將文件名引起來,如“"winnt.sif"”,否則實際上生成的仍然是個文本文件(Winnt.sif.txt),這將導(dǎo)致安裝過程中出錯,RAID驅(qū)動程序無法自動加載!當(dāng)然也可以在讓系統(tǒng)顯示文件擴(kuò)展名的情況下將文件名更改為“winnt.sif”,以確保文件后綴名的正確無誤!
六、將RAID驅(qū)動壓縮到安裝文件
使用支持CAB文件格式的工具(如WinRAR等),將驅(qū)動程序目錄中擴(kuò)展名為SYS的文件壓縮到I386目錄下。
這里我們可以使用Windows 2003本身附帶的一個命令行工具“makecab.exe”,它位于“C:WINDOWS\System32”目錄下。由于“System32”是默認(rèn)的搜索路徑,因此使用時不需要程序所在的路徑。
在開始菜單中打開“運行”對話框,輸入cmd命令,再在DOS提示符下運行以下命令:makecab d:\w2003raid\$oem$\$1\drivers\intelmegasr\megasr.sys d:\w2003raid\i386\megasr.sy_(此處為便于截圖,可以直接輸入“運行”對話框運行)
此命令運行的結(jié)果是在i386\文件夾下生成一個名為megasr.sy_的文件,這個文件是用來加載驅(qū)動的!
圖10
此命令中具體的驅(qū)動程序文件名和保存路徑請根據(jù)實際情況靈活更改。
七、重新生成安裝光盤
經(jīng)過上述步驟,現(xiàn)在已經(jīng)是萬事俱備,只待刻盤了!
準(zhǔn)備任意一款支持制作可引導(dǎo)型光盤的工具程序,如經(jīng)典的軟件“WinISO”、“ISOCommander”及國產(chǎn)軟件“UltraISO”等均可。生成可引導(dǎo)光盤的方法有很多種,為避免大家到處尋找那些生僻的工具軟件,這里以UltraISO[下載地址]為例,分若干個步驟進(jìn)行:
?。?)制作原始安裝光盤鏡像
這一步的目的是方便從制作出來的光盤鏡像中提取引導(dǎo)文件。其實也有專門的直接提取光盤引導(dǎo)區(qū)的工具,但操作稍麻煩,因此在這里多花費一兩分鐘還是很值得的。
將Windows 2003的原始安裝光盤放入光驅(qū)中,啟動UltraISO,按“F5”鍵,或者執(zhí)行“工具”菜單中的“制作光盤映像文件”(圖5),根據(jù)提示指定一個鏡像文件的保存位置,隨后程序會自動開始讀取光盤并完成鏡像文件的制作。
圖11
?。?)提取光盤鏡像中的引導(dǎo)信息
在UltraISO主界面中,依次點擊“文件”――“打開”――定位剛制作好的映像文件――“打開”,再執(zhí)行“啟動光盤”菜單中的“保存引導(dǎo)文件”命令(下圖),將引導(dǎo)信息保存到硬盤上備用,比如保存為“D:\Win2k3Boot.bin”。
圖12
?。?)新建光盤鏡像
在UltraISO的“文件”菜單中執(zhí)行“新建”命令;從資源管理器中,點擊左下角,定位到D:\w2003RAID文件夾,再將光標(biāo)移至右下角區(qū)域并點擊一下,再用組合鍵Ctrl+A全選 “D:\w2003RAID”文件夾中的所有文件,“鼠標(biāo)右鍵”――“添加”,將所有文件加入。
圖13
[注意]添加時一定不要包含w2003RAID目錄本身!也就是說,文件添加成功后,在光盤的根目錄下應(yīng)當(dāng)可以看到“I386”文件夾。
(4)加載引導(dǎo)信息文件
執(zhí)行“啟動光盤”菜單中的“加載引導(dǎo)文件”命令,找到上一步提取的光盤鏡像的引導(dǎo)文件,即“D:\Win2k3Boot.bin”。現(xiàn)在,新建的光盤鏡像就具備與原版Windows 2003安裝光盤相同的引導(dǎo)功能了。
圖14
?。?)更改光盤名稱
將光標(biāo)移至窗口左上角光盤名稱處,右鍵――“重命名”,將光盤取個容易理解的名稱,好比:NRMEVOLCNS2SR。
圖15
?。?)保存光盤鏡像
按“CTRL+S”或者執(zhí)行“文件”→“保存”命令,指定一個保存光盤鏡像的路徑和文件名(如“D:\NRMEVOLCNS2SR.iso”等),確定后UltraISO就開始向指定路徑生成光盤鏡像文件了。
(7)刻錄安裝光盤
使用Nero或者其他任意一款支持光盤鏡像文件刻錄的工具軟件,將上述得到的光盤鏡像文件(這里即D:\NRMEVOLCNS2SR.iso)刻錄到光盤中?,F(xiàn)在,用這張安裝盤在支持RAID的硬件環(huán)境下全新安裝Windows 2003,你就既不必按F6,也不需使用什么軟盤,非常方便。
[總結(jié)]制作集成RAID驅(qū)動程序的Windows 2003安裝光盤是一件比較復(fù)雜的工作,任何一個小小的失誤都可能導(dǎo)致無法正確地加載驅(qū)動程序。此外,不同主板附帶的RAID驅(qū)動程序的文件名稱、數(shù)量、信息文件的內(nèi)容各不相同,在集成時不能硬套,只有舉一反三才能成功。
在用此法制作的光盤安裝系統(tǒng)時,如果出現(xiàn)認(rèn)RAID盤成功、復(fù)制安裝文件成功,但重啟后找不到硬盤的情況,那可能是您的服務(wù)器安裝了多個RAID,請把系統(tǒng)之外的其他RAID暫時卸載后再安裝,系統(tǒng)安裝成功后再裝其他RAID。
全文到此結(jié)束,若按此法還是未能制作成功您想要的光盤,請認(rèn)真檢查您的每一步設(shè)置,設(shè)置正確了,成功的可能性應(yīng)該在99.99以上!請勿徒勞地找尋其他資料來消耗您寶貴的青春!