Aktuelle Treiber und Updates auf die Windows CD integrieren
Jeder hat sich sicher schon geärgert das beim Installieren von Windows 2000/XP der Festplatten Controller nicht direkt vom OS erkannt wurde und man den Umweg über das drücken der F6 Taste wählen musste. Hier hatte man etwas später die Möglichkeit den Treiber mittels einer Diskette einzubinden. Das kann man ändern und diese Anleitung soll den Weg aufzeigen.
Ich gehe hier in dieser Anleitung noch einen Schritt weiter und binde alle Treiber ein die benötigt werden und in der normalen Windowsinstallation nicht vorhanden sind. Bei mir im DELL Dual System sind das eine ganze Menge Treiber, die nach der Installation von Windows alle per Hand eingebunden werden müssten. Dazu gehören die Tastaturtreiber, die Treiber für 3 Soundkarten, die Treiber für die Intel 1GB Lankarte, die Treiber für den Intel Chipsatz und die Treiber für zwei SCSI Controller. Achso den USB 2.0 Controller habe ich ganz vergessen. Also nicht gerade wenig ;o)
Das reichte mir aber noch nicht. Der Mensch ist ja faul. *fg* Also suchte ich nach einer Lösung um auch gleich noch den Windows Media Player 9.0, DirectX 9.0, das Windows Media Bonuspack, diverse Patches die nach dem Relase des letzten Service Packs bereit gestellt wurden und das Windows Media9 Encoder Pack zu integrieren. Nach langem Suchen habe ich nun auch hier einen Weg gefunden.
Meine Anleitung wird jetzt jeden Schritt einzeln beschreiben.
Als erstes muss die komplette Windows 2000/XP CD auf die Festplatte kopiert werden. Wer das aktuelle Service Pack noch nicht integriert hat sollte dies jetzt gleich erledigen.
Der Schritt zum Brennen der CD kann hier übersprungen werden. Das kommt erst wenn die CD komplett fertig ist.
Jetzt wechselt ihr in das Verzeichnis der Windows CD und hier in den Ordner i386. Hier die Datei TXTSETUP.SIF öffnen. Als nächstes braucht ihr die aktuellen Treiber für euren Festplattencontroller. Diesen Entpacken und die xxx.sys Datei kopieren. Die xxx.sys Datei muss in den i386 Ordner kopiert werden. Ich gehe bei dieser Anleitung von meinem SCSI Controller aus und hier nennt sich die xxx.sys Datei aac.sys. Dann muss die Datei TXTSETUP.SIF angepasst werden. Hier den Eintrag:
[SourceDisksFiles.x86]
suchen. Direkt darunter fügen wir jetzt eine neue Zeile ein.
aac.sys = 1,,,,,,4_,4,1,,,1,4
An der Zahlenfolge nichts ändern!! Nur den Dateinamen der aac.sys anpassen. Hier muss der Name für eure xxx.sys Datei eingetragen werden. Dieselbe Datei welche in das i386 Verzeichnis kopiert wurde. Als nächstes sucht die Zeile
PCI\VEN_105A&DEV_4D33 = "ultra"
Solch eine Zeile (ähnlich) findet ihr auch in der .inf Datei eures Treibers. Diesen dann direkt unter der gesuchten Zeile einfügen. Die Zeile muss aber ergänzt werden. Hier wieder mein Beispiel:
PCI\VEN_9005&DEV_0285&SUBSYS_02871028 Diese Zeile steht in meiner .inf Datei
PCI\VEN_9005&DEV_0285&SUBSYS_02871028 = "aac" So muss die Zeile angepasst werden.
aac ist bei Euch der Dateiname der xxx.sys Datei ohne Dateitypenendung. Jetzt sucht ihr nach der Zeile ultra = ultra.sys,4, darunter dann eine neue Zeile Einfügen. Bei mir musste es diese Zeile sein aac = aac.sys,4. Denke mal was hier geändert werden muss, sollte jedem klar sein. Jetzt nach [SCSI] suchen lassen und folgenden Eintrag darunter einfügen aac = "PERC 320/DC". Den genauen Namen eures Controllers könnt ihr der inf Datei entnehmen. Die Datei TXTSETUP.SIF kann nun gespeichert werden und muss wieder ins i386 Verzeichnis kopiert werden.
In das Verzeichnis der Windows CD wechseln und hier einen Ordner $OEM$ anlegen. In diesem Ordner muss ein weitere Ordner $1 angelegt werden. In diesem dann ein weiterer,
für Windows 2000 CD´s WINNT
für windows XP CD´s WINDOWS
Darin erstellt dann einen Ordner Drivers. Hier könnt ihr jetzt Unterordner für eure Treiber anlegen. Zum Beispiel NIC oder Sound. Wichtig, die Treiber dürfen nicht gepackt sein! Es muss das Verzeichnis der Treiber verwendet werden wo die xxxx.inf Datei zu finden ist! Bei den Treibern für eine Soundblaster Live zum Beispiel --> G:\treiber\AUD2DRVL11021217\Drivers\WIN2K_XP. Den Inhalt von diesem Ordner könnt ihr verwenden. Im Ordner Drivers könnt ihr beliebig viele Unterordner erstellen. Wer keine Unterordner will kann auch alle Treiber direkt ins Drivers Verzeichnis kopieren.
Treiber, die während des Abschnitts "Geräteinstallation" der GUI-Modus-Installation installiert werden, müssen in bestimmten Verzeichnisen gefunden werden. An diesem Punkt installiert Setup die Geräte (unter Verwendung von Plug & Play-Kennungen), die von Windows Plug & Play aufgelistet werden. Setup durchsucht einen vordefinierten Pfad auf dem Laufwerk und sucht in den INF-Dateien nach der besten Übereinstimmung mit der Plug & Play-Kennung des jeweiligen Geräts. Dieser Pfad ist an der folgenden Stelle in der Registrierung definiert und ist standardmäßig auf %SystemRoot%\Inf gesetzt:
Setup verwendet diesen Pfad, um INF-Dateien für die Geräteinstallation zu finden. Nach der Ausführung von Setup wird dieser Pfad auch für neue Hardware verwendet, die gefunden und installiert wurde. Wenn ihr diesen Schlüssel während der Ausführung von Setup unter Verwendung einer Antwortdatei für die unbeaufsichtigte Installation ändern, wird der Wert gespeichert und auch nach der Ausführung von Setup verwendet.
Wenn das System während der GUI-Modus-Installation die INF-Dateien nach Plug & Play-Kennungen durchsucht, sucht es auch unter den Pfaden, die im Eintrag OemPnPDriversPath aufgeführt sind, sowie unter dem Standardpfad WinDir%\Inf. Der Pfad %WinDir%\Inf steht zwar an erster Stelle der Suchreihenfolge, wenn ihr jedoch ein Gerät installiert, das von mehr als einer INF-Datei unterstützt wird (Windows enthält möglicherweise einen Treiber mit generischer Funktionalität), durchsucht Setup danach auch alle Pfade, die im Eintrag OemPnPDriversPath angegeben sind. Dabei werden zwar eventuell mehrere Entsprechungen gefunden, Plug & Play verwendet jedoch die INF-Datei, die am besten passt, und installiert dann den zugehörigen Gerätetreiber, um das Gerät zu unterstützen.
Windows verwendet egal ob man andere Treiber einbindet falls vorhanden die eigenen Treiber. Grad bei Grafikkartentreibern ist das nicht so schön. Treiber die auf der CD vorhanden sind, wurden nicht für aktuelle Grafikkarten oder DirectX Version erstellt. Hier muss man die Treiber welche auf CD sind entfernen und damit wird es möglich das durch das Setup die Treiber verwendet werden die man selber auf CD eingebunden hat. Dazu müssen zwei Dateien im i386 Ordner geändert werden:
TXTSETUP.SIF
DOSNET.INF
DRVINDEX.INF
Dateien öffnen und nach nv4 suchen lassen. Alle Einträge löschen. Im Fall der nVidia Treiber sind es folgende Einträge:
Für andere Grafikkarten gilt das selbe, nur das man hier den Suchbegriff auf „ATI“ für ATI Grafikkarten ändern müsste . Als nächstes müssen alle inf Dateien von der CD entfernt werden, die oben aufgeführt werden. In diesem Beispiel die nv4.in_ und die nv4_disp.in_. Da die Dateien gepackt sind gilt hier die Dateiendung in_ .
Jetzt kann der entpackte neue Treiber in den Ordner Drivers kopiert werden und das Setup wird diesen verwenden.
Erstellen einer Antwort Datei für die unbeaufsichtigte Installation (Unattended)
Auf der Windows CD befindet sich der Ordner \SUPPORT\TOOLS. In diesem die Datei DEPLOY.CAB in ein beliebiges Verzeichnis entpacken. Jetzt in diesen Ordner wechseln und die Datei setupmgr.exe ausführen.
Um Euch die Sache leichter zu machen, habe ich hier eine fertige Antwortdatei [Datei befindet sich im Anhang] erstellt. Diese mit SetupMgr öffnen und anpassen. Nötige Einstellungen sind Zeitzonen, Netzwerkeinstellungen.... Wenn alle Einstellungen gemacht sind, die Datei wieder speichern und jetzt mit dem Windows Editor öffnen.
Sollte jetzt diese Zeile vorhanden sein,
[SetupMgr]
DistFolder=
DistShare=
so löscht diese wieder. Bitte prüft das der Wert AutoPartition auf 0 steht. Nur so könnt Ihr beeinflussen auf welche Partition Windows installiert werden soll. Jetzt bitte prüfen ob unter [Unattended] folgende Einträge zu finden sind,
Hier muss jetzt noch der Eintrag OemPreinstall (muss auf YES stehen) und OemPnPDriversPath angepasst werden. Hier tragt ihr bitte den Pfad zu euren Treiber Ordnern ein. Für Windows 2000 muss WINNT und für Windows XP muss WINDOWS eingetragen werden. Ihr könnt in diesem Schlüssel auch mehrere Pfade definieren, indem ihr diese (wie in dem folgenden Beispiel) durch ein Semikolon (;) voneinander trennt:
Der Wert DriverSigningPolicy = Ignore muss so gesetzt werden, damit Treiber die nicht digital signiert sind verwendet werden können. Die Datei WINNT.sif muss jetzt in das Verzeichnis i386 der Windows CD kopiert werden. Wenn nun das Setup gestartet wird, läd das Setup diese Datei und passt den DevicePath nach den Eintragungen an. So sucht jetzt das Setup in den neuen Ordnern nach .inf Dateien und installiert diese Treiber.
Für diesen Schritt muss wie oben beschrieben ebenfalls die unbeaufsichtigte Installation (Unattended) angewendet werden.
Wer jetzt noch aktuelle Windows Software einbinden will, sollte sich diese Anleitung durchlesen. Erstellt im Ordner $OEM$\$1\WINDOWS einen weiteren Ordner und benennt diesen hotfixes. Hier müsst ihr jetzt alle gewünschten Updates rein kopieren. Dazu gehören Windows Moviemaker 2.0 (nur für Windows XP), der Windows Mediaplayer 9.0, DirectX 9.0, das Windows Media Bonuspack und der Windows Media Encoder. Die Downloads findet ihr alle auf der Winhelpline im Menü Punkt Windows Updates. Als weiteres wichtiges Update bindet ihr noch den von uns erstellten Microsoft Windows Post-Sp Updater ein. So sind dann auch alle Patches seit dem letzten SP eingebunden.
Beim Windows Updater besteht jetzt die Möglichkeit Updates wie Windows Movie Maker, WMP9 ... direkt vom Updater installieren zu lassen.
Wichtig die Dateien müssen im 8.3-Namensformat vorliegen, also anpassen. Für den PostSP Updater gilt dies nur für die Starter Datei. Siehe Abschnitt weiter unten.
Die Dateinamen sollten so kurz wie möglich gehalten werden, dann klappt auch das.
Jetzt erstellt eine CMDLINES.TXT Datei und öffnet diese mit dem Editor. Hier nun folgende Zeilen einfügen,
[Commands]
; Prefix a line with a semi-colon to insert a comment
"C:\WINDOWS\hotfixes\postsp1 -s"
"C:\WINDOWS\hotfixes\wmbonus /q"
"C:\WINDOWS\hotfixes\wmenc /q"
Hinweise:
C:\ gibt das Laufwerk an auf welches Windows installiert werden soll. Der Ordner Windows ist für Windows XP, für Windows 2000 muss hier WINNT eingesetzt werden. Der Rest dürfte klar sein.
postsp1 = Windows PostService Pack Updater, hier muss beachtet werden das alle Module im selben Ordner gespeichert werden!! Der Name der Starter Datei kann sich ändern. Beim XP Updater ist es hier die XP-Updater-xxxxxx.exe und beim Windows 2000 Updater ist es die W2KpostSPxupdate-xxxxxx_setup.exe Der Dateiname der Starterdatei darf geändert werden, aber alle anderen Files dürfen nicht geändert werden, da sonst der Updater nicht mehr funktioniert.
wmbonus = Windows Media Bonux Pack
wmenc = Windows Media Encoder
Die Datei CMDLINES.TXT muss jetzt im Ordner $OEM$ abgespeichert werden. Nicht vergessen alle Files in den Ordner hotfixes zu kopieren.
Warnmeldungen die angezeigt werden:
Wenn der MediaPlayer installiert wird, kommt eine Warnmeldung das die Systemwiederherstellung deaktiviert ist. Auch diese Meldung kann mit Okay bestätigt werden. Zu diesem Zeitpunkt der Installation ist diese auch noch nicht aktiviert.
Für die Installation von DirectX muss die Eula akzeptiert werden. Hier gibt es leider keinen Schalter um dies zu automatisieren.
Hierzu verwende ich das Brennerprogramm Nero, weil es einfach fast jeder hat. Benötigt wird noch das Bootfile welches die CD wieder bootfähig macht. Nero wird jetzt gestartet und hier wählt man jetzt CD-ROM/DVD(Boot) aus. Hier wählt man den Pfad zum Boot File aus und stellt die weiteren Optionen (wie im Screenshot) ein.
Die Boot Files befinden sich jeweils im Anhang
Als nächstes wechselt man in den Reiter Titel und trägt hier bei Datenträgerbezeichnung den Namen der CD ein. Bitte auf die eigene schauen wie diese benannt ist!
Wenn diese Optionen eingestellt sind kann man zum Reiter brennen wechseln und die nötigen Einstellungen (siehe Screenshot) machen.
Jetzt kann man den Button Neu klicken und kommt so zum Dateimanager von Nero. Hier dann den Inhalt des Ordners der Windows CD auswählen und in das Brennfenster ziehen. Jetzt kann der Brennvorgang gestartet werden.
Zum brennen sollte eine CDRW/DVDRW verwendet werden. So kann man immer die CD aktuell halten und braucht nicht immer einen neuen Rohling zum brennen. Es kann ja auch mal was schief gehen.
Ich hoffe jeder hat mit dieser Erweiterung soviel Freude wie ich. Bei einem Besuch von Windows Update wurden keine Updates mehr angezeigt.