Controller-Treiber in Windows-XP-Installations-CD einbinden

Ich habe einen Raid-Controller, der nicht mit der Windows-CD mitgeliefert wird. Nun ist es ziemlich lästig, immer F6 bei der Windows-Installation zu drücken und eine Treiber-Diskette einzulegen, zumal viele Rechner gar kein Diskettenlaufwerk mehr haben (leider).
Die Raid-Treiber kann man in die Windows-CD einbinden, so daß dies bei der Installation gehandhabt wird, als käme der Treiber direkt von Windows selbst... Kein F6, keine Disketten...

Wie man sich eine Windows-XP-CD erstellt, die bereits die nötigen Updates und Service-Packs und noch vieles weitere enthält, findet man unter Unattended XP-CD - Das Tutorial. Wenn man also noch gar nichts über eine benutzerdefinierte XP-CD weiß, sollte man erst dort nachlesen. Genauso, um zu erfahren, wie man die CD am Ende brennen soll. Es gibt dort zwar auch eine Beschreibung, wie man Controller-Treiber einbinden kann, ich fand diese aber nicht ganz übersichtlich, weil die Hinweise fehlen, die ich in Schritt 1 und 4 bespreche. Führt man die Schritte 1 und 4 nicht aus, muß man zwar nicht F6 drücken und Windows wird installiert, man bekommt aber einen Bluescreen beim ersten Start des Betriebssystems, weil die Treiber nicht endgültig installiert wurden.

Der Inhalt der Windows-XP-CD wurde von mir nach E:\XPCD kopiert. Der Pfad muß natürlich entsprechend geändert werden, je nachdem, wo man den Inhalt seiner XP-CD hinkopiert hat...

Die heruntergeladenen Raid-Treiber müssen entpackt werden. In meinem Fall sah das dann so aus:

1. Installationsdateien ins OEM-Verzeichnis kopieren

Die für's Setup wichtigen Dateien (*.sys, *.inf, *.cat, *.mpd, *.vxd, *.cpl) müssen in das OEM-Verzeichnis der Windows-Installations-CD kopiert werden. In meinem Fall waren das die fasttx2k.sys, fasttx2k.INF und Fasttx2k.cat, die ich nach
E:\XPCD\$OEM$\$1\Treiber\ kopiert habe.

2. Treiber-Datei ins I386-Verzeichnis komprimieren

Die *.sys-Datei (hier fasttx2k.sys) muß außerdem in den I386-Ordner der Windows-Installations-CD kopiert werden. Man kann das gleich in gepacktem Zustand machen, indem man im Startmenü unter "Ausführen" folgendes eintippt (an evtl. unterschiedliche Pfade und Dateinamen denken!):

MAKECAB E:\XPCD\$OEM$\$1\Treiber\fasttx2k.sys E:\XPCD\i386\FASTTX2K.SY_

Zur Kontrolle sollte man überprüfen, ob nun im I386-Ordner des XP-CD-Verzeichnisses eine Datei ist, die FASTTX2K.SY_ heißt.

3. TXTSETUP.SIF aktualisieren

Man öffnet die Datei TXTSETUP.SIF im I386-Verzeichnis der XP-CD mit einem Texteditor. Folgende Zeilen mußten in meinem Beispiel hinzugefügt werden:

[SourceDisksFiles]
fasttx2k.sys = 1,,,,,,4_,4,1,,,1,4

[HardwareIdsDatabase]
PCI\VEN_105A&DEV_3376 = "fasttx2k"

[SCSI.Load]
fasttx2k = fasttx2k.sys,4

[SCSI]
fasttx2k = "Promise FastTrak 376 (tm) Controller"


Natürlich muß man "fasttx2k" durch den Namen seines eigenen Treibers ersetzen!

Die nötigen Parameter für [HardwareIdsDatabase] findet man in der mit dem Controller-Treiber mitgelieferten *.inf-Datei. Diese öffnet man mit einem Editor und sucht nach einem Eintrag, der PCI\VEN enthält. Das sah bei mir so aus:

[Promise]
%PCI\VEN_105A&DEV_3376.DeviceDesc% = FasttrakPCI_376 , PCI\VEN_105A&DEV_3376


In der *.inf-Datei können auch mehrere Einträge mit PCI\VEN sein. Diese fügt man alle in entsprechender Form in die txtsetup.sif ein.

Den unter [SCSI] angegebenen Treibernamen findet man ebenfalls in der *.inf-Datei des Controller-Treibers. In meinem Fall war das:

PCI\VEN_105A&DEV_3376.DeviceDesc="WinXP Promise FastTrak 376 (tm) Controller"

Den Namen könnte man auch beliebig ändern, das hat keinen Einfluß auf den Erfolg der Controller-Installation! Wenn man seinen Controller-Treiber "Dämlichen diskettenverlangenden von XP nicht direkt unterstützten fucking Treiber" nennen will, bittesehr!

Im Prinzip ist es egal, ob man die oben aufgeführten Einträge am Ende der txtsetup.sif einfügt oder die entsprechenden Werte unter den Überschriften in eckigen Klammern einträgt, die alle schon in der txtsetup.sif vorhanden sind. Wichtig ist nur, daß die Einträge unter den entsprechenden Überschriften erfolgen. Kommt eine Überschrift dabei doppelt vor, macht das bei der Installation nichts aus.

Für Perfektionisten nenne ich jetzt dennoch die "richtigen" Positionen für die Parameter:

fasttx2k.sys = 1,,,,,,4_,4,1,,,1,4 unter [SourceDisksFiles]

PCI\VEN_105A&DEV_3376 = "fasttx2k" unter PCI\VEN_105A&DEV_4D33 = "ultra" unter [HardwareIdsDatabase]

fasttx2k = fasttx2k.sys,4 unter ultra = ultra.sys,4 unter [SCSI.Load]

fasttx2k = "Promise FastTrak 376 (tm) Controller" unter [SCSI]

4. WINNT.SIF aktualisieren

Die WINNT.SIF ist eine Antwortdatei für die unbeaufsichtigte Windows-Installation. Man hat sie entweder auf Diskette oder direkt auf der XP-CD. Existiert sie nicht, öffnet man seinen Editor, erstellt eine neue Datei und speichert sie unter dem Namen winnt.sif. Dabei muß man darauf achten, daß man sie nicht als Textdatei speichert, sondern als Dateityp Alle "Dateien" angibt!



In ihr müssen für unseren Raid-Treiber mindestens folgende Zeilen enthalten sein:

[Unattended]
OemPreinstall=Yes
OemPnPDriversPath="Treiber\"


Der Pfad muß natürlich entsprechend geändert werden, je nachdem wohin man bei Schritt 1 die Treiber hinkopiert hat!