模組化網路開機片

  1. 簡介
  2. 製作步驟
  3. 使用說明
  4. 模組化NDIS網卡驅動程式下載
  5. 製作NDIS網卡驅動程式模組的方法

簡介

有一荷蘭人開發出了一套模組式的網路開機片,這裡所謂的 模組式,指的是:他把例如網路卡驅動程式、通訊協定程式、ssh連線程式、滑鼠驅動程式等等, 一一壓縮成*.cab檔,你可依自己的需要將這些檔案放至磁片中特定的資料夾,開機後這些*.cab檔 依設定會自動被解壓縮、讀取或執行,我們便可使用到這些功能,如不需要某項功能,直接將屬於 此項功能的*.cab檔刪除即可,管理上甚為方便。

作者有設計一些DOS下的選單畫面(menu),方便使用者在開機過程中,用互動式的選單畫面,設定一 些功能與參數,例如網路卡驅動程式(你可以一次將多種網卡驅動程式,同時置入磁片中),通訊協定 的選擇,IP等的設定,均可直接由他所設計的介面完成,減低了許多直接個別修改文字設定檔的困難。

作者所設計的開機片在開機過程中,有設立8M的RAM Drive,開機時會先將一些工具解壓縮,並載入 其中,使執行的速度加快。

製作網路開機片有時讓人覺得有點麻煩的是,網卡驅動程式的下載與安裝,這點你也不必太煩惱,此 作者異常的勤奮,幾乎已把市面上可見的網卡驅動程式整理好(已包裝壓縮成*.cab檔),提供下載, 幾乎已不用自己去原廠下載。

製作步驟

Modular Boot Disk 網路開機片實際製作步驟如下:

  1. 在Windows98下格式化磁片,選擇複製系統檔,使磁片可開機,磁片中隱藏檔DRVSPACE.BIN可刪除之,以增加磁片容量。
  2. 將此壓縮檔modboot.zip下載解壓縮之後,將其全部檔案複製到磁片中。 請檢查lib\ndis資料夾中有無你電腦網卡的驅動程式,若沒有,請下載後複製到此資料夾中,由於磁片容量有限,請依自己的需要,刪除不必要網卡驅動程式。

使用說明

  1. 開機後出現Continue or goto config ?選單時,直接按Enter鍵選擇Ok即可,即使不按任何鍵, 10秒後會自動進入。
  2. 出現Auto detect PCI adapter?網卡選擇畫面時,若不按任何鍵,5秒後會自動進入Auto子選項 開始自動偵測,若有偵測到你電腦的網卡,則進入下一步,若沒有偵測到,則又返回此選單畫面, 此時請選擇Manual子選項,手動自行選擇網卡型號。
  3. 出現TCP/IP Parameters選單畫面時,此時若不按任何鍵,5秒後會自動進入DHCP模式,此時您的網路上若存在DHCP Server或IP分享器,則會自動取得分配的IP,你也可在此畫面,直接手動輸入各項IP相關值。      
  4. 若開機使選擇使用TCP/IP,開機完成後輸入ipconfig指令,可查得目前網路的IP組態。      
  5. 使用下面的指令可連線網路磁碟機,使用他台電腦所開放出來的資源分享:
    Q:\NET>NET USE X: \\PC1\SHARE
    請參考MS-Client 網路開機片中的說明。
    或使用msnet這個指令,執行後會出現對話方塊,再依提示文字,從中設定網路磁碟機。
  6. 開機時若選擇NetBEUI或IPX/SPX通訊協定,使用net use連線時只要對方電腦有安裝相對應協定 即可連線,但若選擇的是TCP/IP,則對方電腦的IP須與你電腦的IP在同一網段,否則無法連線。
  7. 本開機片中附有ssh的連線程式,使用時可用下面的指令語法執行:

    Q:\NET>run sshdos login_id ip_address

    例如ip_address為192.168.8.31的Server上,有帳號edge,則ssh連線指令如此下:

    Q:\NET>run sshdos edge 192.168.8.31

    進入後再按照指示輸入密碼。

模組化NDIS網卡驅動程式下載

下面列出一些常用的模組化NDIS網路卡驅動程式供下載,沒有列出的請自行由原設計網站下載

FileDescriptionVer
dlkfet.cabDLinkDFE530-TX
rtsnd.cabRealtekRTL8139
de22x.cabDLinkDE220
sis900.cabSiSSiS900
e100b.cabIntelPRO/100
ethne.cabAcctonEN165X

若原設計網站也找不到你要的網卡驅動程式,只好去原廠下載原始驅動程式,再自行包裝成*.cab檔。

製作NDIS網卡驅動程式模組的方法

我們以e100b的網卡為例,製作時需要有下列檔案:

  1. e100b.dos:DOS下使用的NDIS網卡驅動程式。
  2. e100b.ini:此為一文字檔,樣本如下表所示,其中至少要有DriverName那一行:

    Sample e100b.ini
    DriverName=e100b$
    ; Some common parameters
    ;
    ;   SPEED       = [Auto | 10 | 100]
    ;   FORCEDUPLEX = [Auto | 1 | 2]
    ;		  1 = Half; 2 = Full
    ;   SLOT        = 0x38
    ;   NODE        = "00AA00123456"
    

  3. ndis.txt:此為一文字檔,樣本如下表所示:

    Sample ndis.txt file
    E100B        Intel(R) PRO PCI Driver v4.27 062101
    

    此ndis.txt檔內容僅能有一行,行末需有歸位字元(CR/LF也就是ENTER),內容上分成兩個欄位:        

    1. 檔案名稱(filename):必須由第1個字元欄位開始,最多8個字元。
    2. 檔案描述(description):必須由第14個字元欄位開始,最多62個字元。
  4. ndis.pci:此為一文字檔,記錄了網卡的製造商與此網卡裝置的ID(PCI Vendor/Device ID)樣本如下表所示:

    Sample ndis.pci file
    ret="E100B"
    ven=8086 "Intel"
    dev=1229 "8255x-based PCI Ethernet Adapter (10/100)"
        2449 "PRO/100 VE Desktop Adapter"
        1038 "PRO/100 VM Adapter"
        1002 "PRO 100 Mobile Adapters"
    

    若*.cab檔中沒有包含ndis.pci這個檔,也是可以用,只是在開機過程中,選擇網卡時,無法採用Auto的方式自動偵測網卡型號。 此開機片自動偵測網卡的機制,便是利用此檔的內容,與開機時BIOS所偵測的資訊比對而得。此檔案內的資訊 (ret、ven、dev)可從網卡原廠驅動程式中類似*.inf的安裝文字檔中查得。

這裡有一個DOS下簡單的工具程式makev3.zip,可將上述四個檔,壓縮成為單一的*.cab 檔,方法如下:將此工具程式解壓縮至一暫存資料夾內(假設此資料夾名稱為makev3),makev3資料夾內應可看到名為source與cab兩個子資料夾,現在假設我們 想將上述四個檔,壓縮成名為e100b.cab的壓縮檔,則需先在source資料夾內新增一名為e100b的子資料夾,並將上述四個檔,存放至此資料夾內, 在DOS下執行下面指令(路徑在makev3資料夾內執行):

C:\makev3>make e100b

完成後便可在cab資料夾內,看到e100b.cab這個壓縮檔。