Die Integration von MassStorage Device Treibern in eine Installationsquelle läuft folgendermaßen ab.
Die Erstellung einer bootfähigen CD setze ich voraus. Dieser Step-by-Step Guide beschreibt nur die Änderung der Quellen, da ein Setup auch unattended aus einem Netzwerkshare erfolgen kann.
Als erstes Beispiel verwende ich einen HighPoint HPT366, der in der Windows-2000-Version noch nicht vorhanden ist:
1. hpt366.sys + HPT366.INF im \I386 Verzeichnis in unkompirimierter Form hinterlegen
2. \i386\txtsetup.sif bearbeiten:
[SourceDisksFiles]
hpt366.sys = 1,,,,,,3_,4,1
htp366.inf = 1,,,,,,,20,0,0
Die .inf ist im Textmodesetup nicht notwendig, sie wird durch die "20" ins %systemroot%\inf kopiert und wird zum Zeitpunkt der GUI-PnP-Erkennung ausgelesen, damit der das Gerät einen "Namen" im Gerätemanger bekommt.
[SCSI.Load]
hpt366 = hpt366.sys,4
[SCSI]
hpt366 = "Highpoint U-DMA 66"
[HardwareIdsDatabase]
PCI\VEN_1103&DEV_0004&REV_01 = "Hpt366"
ID-Database-Eintrag ist aus der "txtsetup.oem" des Treibers entnommen, er ist herstellerspezifisch.
Diese Änderungen in der "TXTSETUP.SIF" sind auch möglich für die Wiederherstellungskonsole im Verzeichnis "CMDCONS". Dann wird auch hier der nicht W2K eigene Treiber für die RecoveryConsole geladen.
3. \i386\dosnet.inf Einträge hinzugefügt:
[FloppyFiles.2]
d1,hpt366.sys
[Files]
d1,hpt366.sys
d1,hpt366.inf
Die DOSNET.INF wird, wie der Name andeutet, nur verwendet, wenn das Setup aus einer DOS Umgebung heraus gestartet wird. Bei der Installation von CD ist sie nicht von Nöten.
Zweites Beispiel: Ersetzen eines vorhandenen Treibers, der mittlerweile für die neue Hardware nicht mehr funktionell ist, als Beispiel: MegaRAID SCSI 320-0X RAID Controller, für den der integrierte mraid35x nicht mehr funktioniert. Der Unterschied zum ersten Beispiel ist hauptsächlich der, dass alle vorhandenen Verweise auf diesen Controller gelöscht werden müssen.
1. vorhandene mraid35x.sy_ aus i386 löschen.
mraid35x.sys + mraid35x.inf von Treiberdiskette im \I386-Verzeichnis in unkomprimierter Form hinterlegen
2. \i386\txtsetup.sif bearbeiten und suche nach "mraid35x":
1. Stelle
[SourceDisksFiles]
mraid35x.sys = 1,,,,,,4_,4,1,,,1,4
; bleibt wie er ist, zusätzlich Eintrag der mraid35x.inf
mraid35x.inf = 1,,,,,,,20,0,0
2. Stelle
[HardwareIdsDatabase]
; löschen _aller_(!) vorhandenen PCI\VEN_******* = "mraid35x"
; ersetzen durch:
PCI\VEN_1000&DEV_0407&SUBSYS_05301000 = "mraid35x"
; Eintrag für HW-ID-DB aus txtsetup.oem entnommen.
3. Stelle:
[SCSI.Load]
mraid35x = mraid35x.sys,4
; bleibt wie er ist, Name der Datei hat sich ja nicht geändert.
4. Stelle
[SCSI]
; ersetzen des Eintrags mraid35x = "AMI MegaRaid RAID-Controller"
; durch:
mraid35x = "MegaRAID SCSI 320-0X RAID Controller Driver"
; Name ebenfalls aus der txtsetup.oem entnommen
3. Editieren der DOSNET.inf, suche nach mraid35x
1. Stelle:
[FloppyFiles.2]
; vorhandenen Eintrag lassen, wie er ist.
d1,mraid35x.sys
2. Stelle:
[Files]
; vorhandenen Eintrag d1,mraid35x.sys lassen wie er ist.
; erweitern um:
d1,mraid35x.inf
http://faq-o-matic.net/?p=523