詳解在Win2003安裝光盤中集成SCSI驅動
2009-04-22 01:23:53
標簽:
SCSItxtsetup.sifSATA [
推送到技術圈]
版權聲明:原創(chuàng)作品,如需轉載,請與作者聯(lián)系。否則將追究法律責任。
如何在Win2003安裝光盤中集成SCSI硬盤驅動
我們在服務器上安裝Win2003時,有時會遇到硬盤驅動導致的故障。2003操作系統(tǒng)已經(jīng)發(fā)布多年,對近年來服務器上使用的一些新型SATA或SCSI控制器并不能很好地支持。由于2003內置的驅動程序無法識別新型的SCSI或SATA控制器,因此安裝2003時會出現(xiàn)安裝向導找不到硬盤,無法繼續(xù)安裝。
解決這種問題的標準方法應該是在光盤啟動時根據(jù)屏幕提示按下F6鍵,然后安裝向導會提示我們插入包含硬盤控制器驅動程序的軟盤,這樣安裝向導就可以從軟盤中加載硬盤控制器的驅動,然后就可以順理成章地識別硬盤了。
由于軟驅已經(jīng)不再是計算機上的標準配置了,因此使用軟盤加載驅動的方法在無軟驅的服務器上會遇到麻煩,因此今天我們將為大家另外一種解決方案,在Win2003的安裝光盤中直接集成SATA或SCSI控制器的驅動,這樣我們在安裝2003時就可以不需要軟驅的配合,能直接識別出硬盤了。
我們在Vmware Workstation上為大家搭建一個實驗環(huán)境,我們在Vmware Workstation6.5上創(chuàng)建一個虛擬機,選擇的SCSI控制器類型是Buslogic,如下圖所示,這種SCSI控制器并不被Win2003支持。
在這個虛擬機上安裝Win2003,如下圖所示,安裝時會出現(xiàn)找不到硬盤的提示,預料之中的結果。
先把Buslogic的驅動準備好,在Vmware的安裝目錄下可以找到一個windows.iso文件,用虛擬光驅加載這個鏡像文件,如下圖所示,在虛擬光驅的Program Files\VMware\VMware Tools\Drivers\SCSI目錄下可以找到Buslogic控制器的驅動程序。
準備好SCSI控制器的驅動后,我們來看看如何把驅動集成到2003的安裝光盤中。我們先把Win2003的安裝文件從光盤復制到一個文件夾中,這樣有利于我們修改光盤內容。集成驅動最關鍵的是要修改安裝光盤中的I386目錄下的txtsetup.sif文件,這個文件定義了文本安裝模式下2003能夠識別的存儲設備以及相應的驅動程序,只要控制好如下圖所示的這個文件,硬盤驅動問題就好解決了。最妙的是,這個文件并不在系統(tǒng)保護文件的范疇內,這意味著我們可以對這個文件任意修改而不用擔心遭到操作系統(tǒng)的阻止。這個文件我們要修改下列幾部分。
一 修改Txtsetup.sif中的[SCSI]段
Txtsetup.sif中的[SCSI]段定義了Win2003支持的硬盤控制器,如下圖所示,我們在[SCSI]段中增加了一項VMSCSI = "VMware SCSI Controller",這項的作用是告訴Win2003,有一個名為VMSCSI的硬盤控制器也是被Windows Server 2003所支持的,而且我們還對VMSCSI控制器進行了注釋,這是一個VMWare的硬盤控制器。其實就是為Buslogic控制器取名為VMSCSI。
VMSCSI其實就是Buslogic控制器,我們對Buslogic控制器的描述其實很靈活,可以隨意起名,并沒有特別嚴格的要求。我們把Buslogic控制器描述成VMSCSI是根據(jù)Buslogic驅動程序中的txtsetup.oem文件來進行的,txtsetup.oem文件的內容如下圖所示。
二 修改Txtsetup.sif文件中的[HardwareIdsDatabase]
Txtsetup.sif文件中的[HardwareIdsDatabase]用來描述被硬盤控制器的硬件ID,我們剛才修改了Txtsetup.sif文件的[SCSI]段,聲明了VMSCSI這個SCSI控制器被Win2003所支持,但是,Win2003怎么知道一個硬盤控制器是不是VMSCSI呢?我們在[HardwareIdsDatabase]中寫上VMSCSI控制器的硬件ID,這樣就不會弄混淆了。這個硬件ID是硬件出廠時被寫入的,不會更改,Windows只要查詢一下硬件的ID,就可以知道這個硬件是不是Buslogic控制器。如下圖所示,我們描述了VMSCSI的硬件ID。
那我們怎么知道Buslogic的硬件ID呢?答案在Buslogic的驅動程序中,如下圖所示,我們在驅動程序的txtsetup.oem文件中發(fā)現(xiàn)了Buslogic的硬件ID。
三 修改Txtsetup.sif文件的[scsi.load]
描述了Buslogic的硬件ID后,我們就要修改[scsi.load]這一段了,這段描述了Win2003應該利用那些文件來驅動Buslogic控制器。如下圖所示,我們描述了Buslogic的驅動程序應該是vmscsi.sys,前面我們已經(jīng)在Buslogic的驅動中看到了這個文件。那么,vmscsi.sys后面還有一個4,這個4代表什么呢?繼續(xù)向下看!
4代表Windows目錄下的一個路徑,如下圖所示,在txtsetup.sif的[WinntDirectories]段中我們發(fā)現(xiàn)4代表著windows\system32\drivers目錄。這個目錄我們非常熟悉,windows的驅動程序基本都放在這個目錄下。
四 修改Txtsetup.sif文件中的[SourceDisksFiles]
最后要進入高潮部分了,我們要解釋一下Buslogic的驅動程序vmscsi.sys到底從何而來。如下圖所示還,我們在[SourceDisksFiles]中對此進行了定義,vmscsi.sys = 1,,,,,,,4,0,0,乍一看讓人莫名其妙,仔細看看其實還是可以分析的。1代表著vmscsi.sys的來源是Win2003安裝光盤的I386文件夾,Why?向下看有答案。
如下圖所示,在Txtsetup.sif的[SourceDisksNames.x86]中定義了1的含義,原來1指的是安裝光盤的I386文件夾。
接著再往下分析,vmscsi.sys = 1,,,,,,,4,0,0,1之后的7個逗號代表了7個默認設置,在此我們不需要對此進行修改。4代表vmscsi.sys的目標路徑,剛才我們已經(jīng)提到了,是windows\system32\drivers目錄。4之后的兩個0代表無論是升級系統(tǒng),還是全新安裝的操作系統(tǒng),都要把vmscsi.sys拷貝到windows\system32\drivers目錄下。
修改了Txtsetup.sif文件后,如下圖所示,我們用makecab命令把vmscsi.sys壓縮為vmscsi.sy_,為什么要對vmscsi.sys進行壓縮呢?因為Win2003默認在安裝時會對文件進行解壓縮操作。我們使用Ultraiso工具把vmscsi.sy_和txtsetup.sif都集成到Win2003的安裝光盤上,然后就可以試試效果了。
用集成了SCSI驅動的光盤啟動虛擬機,如下圖所示,我們看到集成的驅動已經(jīng)發(fā)揮了作用,安裝程序找到了硬盤!希望利用這篇文章,能夠幫助那些被SCSI硬盤或SATA硬盤困擾的朋友,希望大家可以舉一反三,早日定制出自己專用的Windows安裝光盤。
本文出自 “
岳雷的微軟網(wǎng)絡課堂” 博客,轉載請與作者聯(lián)系!
本文出自 51CTO.COM技術博客