Energieverschwendung durch Windows 2000 Update Rollup 1 beenden - 1/1
05.08.2005 by doelf
Hintergrund: Windows 2000 Update Rollup 1
Statt eines fünften Service Pack hat Microsoft die wichtigsten Fehlerbereinigungen für Windows 2000 zu einem "Update Rollup 1" zusammengefaßt. Im Gegensatz zu einem Service Pack 5, muß vor dem Aufspielen des "Update Rollup 1" auch der vorangegangene "Service Pack 4" installiert werden. Leider beinhaltet das "Update Rollup 1" einige Fehler, welche das Zusammenspiel mit einigen Virenschutzprogrammen beeinträchtigen, welche für den Betrieb mit dem "Update Rollup 1" aktualisiert werden müssen. Schwerer wiegt allerdings ein Fehler in der Datei "hal.dll" - HAL ist der Hardware-Abstraction-Layer von Windows 2000 - welcher die Nutzung des Halt-State des Prozessors verhindert. Damit ist es der CPU nicht mehr möglich in den IDLE-Modus zu treten: Der Stromverbrauch im Leerlauf wird daher drastisch erhöht!
Defekt: hal.dll
Die Datei hal.dll findet sich im System32-Verzeichnis, üblicherweise "C:\WINNT\system32\HAL.DLL". Sie trägt nach der Installation des "Update Rollup 1" die Versionsnummer 5.00.2195.7006. Diese Version der Datei verhindert auf einigen Testsystemen den Halt-State, was sich mit einem Energiemessgerät leicht nachweisen läß:
Leistungsaufnahme des Systems in Watt | ||
Last DLL.7006 | 173 | ![]() |
Last DLL.6691 | 173 | ![]() |
IDLE DLL.7006 | 149 | ![]() |
IDLE DLL.6691 | 105 | ![]() |
Für obigen Test verwendeten wir fogendes System:
Die Vollast wurde mit Prime95 erzeugt, dabei wurde die Option "Torture Test - In-place lage FFTs" verwendet, um eine möglichst hohe Stromaufnamhe zu provozieren. Nach fünf Minuten IDLE bzw. Last wurden die durchschnittlichen Verbrauchswerte ermittelt.
Betroffene Systeme
Bei genauerer Betrachtung zeigt sich, daß es sich bei der neuen hal.dll um eine Kopie der Datei "C:\WINNT\Driver Cache\i386\halmacpi.dll" handelt. Windows verwendet diese Version der hal.dll für Multi-CPU Systeme. Betroffen sind somit:
Nicht betroffen sind entsprechend Single-Core Athlon 64 und Pentium 4 basierende Computer, sowie Modelle mit Intel Celeron, AMD Sempron oder VIA C3 Prozessor.
Ein Workarround
Wie wir sehen, verbraucht der Test-PC dank der neuen hal.dll im "Leerlauf" satte 44 Watt mehr! Gerade wer mehrere PCs betreibt, z.B. in seiner Firma oder im universitären oder schulischen Umfeld, wird sich über diesen Fehler keinesfalls freuen. Aber es besteht Hoffnung, denn Windows hat die alte hal.dll zum Glück gesichert!
Üblicherweise sollte man sie in folgendem Verzeichnis auf dem PC finden:
"C:\WINNT\$NtUpdateRollupPackUninstall$\hal.dll"
Diese Sicherung der alten hal.dll trägt die Versionsnummer 5.00.2195.6691 und hat den beschriebenen Fehler nicht. Da Microsoft die Datei jedoch sicher nicht zum Spaß ausgetauscht hat, können durch das Zurückspielen der alten Version andere Probleme auftreten. Wir testen die alte Version seit 14 Tagen, ohne irgendwelche Probleme feststellen zu können. Dennoch geschieht die Anwendung der nun beschriebenen Vorgehensweise auf eigene Gefahr!
Das war es auch schon. Zu einfach?
Wir wünschen viel Spaß beim Stromsparen ;-)