詳解在Win2003安裝光盤中集成SCSI驅動

如何在Win2003安裝光盤中集成SCSI硬盤驅動

 

         我們在服務器上安裝Win2003時,有時會遇到硬盤驅動導致的故障。2003操作系統已經發布多年,對近年來服務器上使用的一些新型SATASCSI控制器並不能很好地支持。由於2003內置的驅動程序無法識別新型的SCSISATA控制器,因此安裝2003時會出現安裝嚮導找不到硬盤,無法繼續安裝。
解決這種問題的標準方法應該是在光盤啓動時根據屏幕提示按下F6鍵,然後安裝嚮導會提示我們插入包含硬盤控制器驅動程序的軟盤,這樣安裝嚮導就可以從軟盤中加載硬盤控制器的驅動,然後就可以順理成章地識別硬盤了。
         由於軟驅已經不再是計算機上的標準配置了,因此使用軟盤加載驅動的方法在無軟驅的服務器上會遇到麻煩,因此今天我們將爲大家另外一種解決方案,在Win2003的安裝光盤中直接集成SATASCSI控制器的驅動,這樣我們在安裝2003時就可以不需要軟驅的配合,能直接識別出硬盤了。
         我們在Vmware Workstation上爲大家搭建一個實驗環境,我們在Vmware Workstation6.5上創建一個虛擬機,選擇的SCSI控制器類型是Buslogic,如下圖所示,這種SCSI控制器並不被Win2003支持。

 

在這個虛擬機上安裝Win2003,如下圖所示,安裝時會出現找不到硬盤的提示,預料之中的結果。
 

 

先把Buslogic的驅動準備好,在Vmware的安裝目錄下可以找到一個windows.iso文件,用虛擬光驅加載這個鏡像文件,如下圖所示,在虛擬光驅的Program Files\VMware\VMware Tools\Drivers\SCSI目錄下可以找到Buslogic控制器的驅動程序。
 

 

準備好SCSI控制器的驅動後,我們來看看如何把驅動集成到2003的安裝光盤中。我們先把Win2003的安裝文件從光盤複製到一個文件夾中,這樣有利於我們修改光盤內容。集成驅動最關鍵的是要修改安裝光盤中的I386目錄下的txtsetup.sif文件,這個文件定義了文本安裝模式下2003能夠識別的存儲設備以及相應的驅動程序,只要控制好如下圖所示的這個文件,硬盤驅動問題就好解決了。最妙的是,這個文件並不在系統保護文件的範疇內,這意味着我們可以對這個文件任意修改而不用擔心遭到操作系統的阻止。這個文件我們要修改下列幾部分。
 

 

修改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是根據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文件中發現了Buslogic的硬件ID
 

 

  修改Txtsetup.sif文件的[scsi.load]

描述了Buslogic的硬件ID後,我們就要修改[scsi.load]這一段了,這段描述了Win2003應該利用那些文件來驅動Buslogic控制器。如下圖所示,我們描述了Buslogic的驅動程序應該是vmscsi.sys,前面我們已經在Buslogic的驅動中看到了這個文件。那麼,vmscsi.sys後面還有一個4,這個4代表什麼呢?繼續向下看!
 

 

4代表Windows目錄下的一個路徑,如下圖所示,在txtsetup.sif[WinntDirectories]段中我們發現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,01之後的7個逗號代表了7個默認設置,在此我們不需要對此進行修改。4代表vmscsi.sys的目標路徑,剛纔我們已經提到了,是windows\system32\drivers目錄。4之後的兩個0代表無論是升級系統,還是全新安裝的操作系統,都要把vmscsi.sys拷貝到windows\system32\drivers目錄下。
修改了Txtsetup.sif文件後,如下圖所示,我們用makecab命令把vmscsi.sys壓縮爲vmscsi.sy_,爲什麼要對vmscsi.sys進行壓縮呢?因爲Win2003默認在安裝時會對文件進行解壓縮操作。我們使用Ultraiso工具把vmscsi.sy_txtsetup.sif都集成到Win2003的安裝光盤上,然後就可以試試效果了。
 

 

用集成了SCSI驅動的光盤啓動虛擬機,如下圖所示,我們看到集成的驅動已經發揮了作用,安裝程序找到了硬盤!希望利用這篇文章,能夠幫助那些被SCSI硬盤或SATA硬盤困擾的朋友,希望大家可以舉一反三,早日定製出自己專用的Windows安裝光盤。
 

本文出自 “嶽雷的微軟網絡課堂” 博客,轉載請與作者聯繫!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章