02.04.2008

Missverständliche Aussagen.

zurück

Nicht immer kommt man mit Aussagen in Zeitschriften klar und fragt nach, ob da nicht was schief gelaufen ist.
So geschehen aufgrund der Ausgabe 8/2008 - Immer wieder Vista- Seite 169, Absatz 2 der c't in der steht:
"Der so erstellte Klon startet auf verblüffend vielen x86-Rechnern problemlos (unter anderem weil Vista im Unterschied zu XP keine unterschiedlichen HALs mehr benutzt) und installiert ......."

Mh, das war und ist nicht eindeutig weil Vista sehr wohl mehr als eine HAL besitzt. Da ein Test mit diversen Maschinen zeitintensiv ist, wäre es wohl einfacher eine Anfrage zu stellen. Also den tastaturbedienenden Redakteur zu dieser Aussage befragt, die leider gar nicht befriedigende und etwas unverständliche Antwort lautete wie folgt:

"Da haben Sie womöglich etwas missverstanden: Die Formulierung "unter anderem, weil Vista im Unterschied zu XP keine unterschiedlichen HALs mehr nutzt" meint nicht, dass Vista gar keine mehr benutzt, sondern eben nur eine statt mehreren."

Der Autor hat hier sicher die BSODs bei unpassender HAL und Kernel verdrängt  - kein Anzeichen vom Laden mehrer HALs - nicht die Spur - die Antwort ist also keinesfalls technisch korrekt.

Andererseits, so könnte man auch argumentieren wenn nicht Artikel aus dieser Tastatur stammten die mehr Hintergrundwissen vermuten ließen. Allein der Explorer hätte schon Auskunft über zwei HALs gegeben, weitere Fragen erspart man sich und geht der Sache eben selbst auf den Grund.

Nun, auch XP nutzt nur jeweils eine HAL zum Start, wie natürlich Vista auch.
XP hingegen besitzt einen Satz von HALs für unterschiedliche Gegebenheiten und Hardware die es zu unterstützen galt. Unter Vista hingegen ist die Anzahl der HALs auf zwei reduziert, der Kernel sogar auf nur einen der bisher alles abdeckte - obwohl zwei vorhanden sind. Selbstredend das jeweils nur eine HAL - die HAL.DLL aktiv und geladen ist, das war in XP auch schon so und ist in Vista nicht anders - das Bootprotokoll zeigt es auf. (oder verschweigt etwas?)
Ein gravierender Unterschied der beiden Systeme ist:
XP hält nur die zur Hardware passende HAL nebst Kernel im %Windir%\System32 bereit, während Vista die beiden verfügbaren HALs dort als Standard vorhält. Mit der als Standard eingesetzten HAL (Multiprozessor und ACPI) klappte ein Umzug auf entsprechende Geräte problemlos, auch wenn nur ein Prozessor vorhanden ist. Ältere Hardware aber wird von Vista ebenso erkannt und die gleiche HAL gestartet bei einem SingleProzessor aber mit ACPI  - lediglich ein paar Treiber und Unterstützung wird nachinstalliert - wie in XP auch im oben angegebenen Artikel  - Rückschritt auf einen SteinzeitPC. Ältestes verfügbare Model war ein AMD2200  mit 1,8Ghz, 133FSB, 1GB Ram  - auch das klappte mit Vista nach einigem rödeln auf der Festplatte wobei der Ursprung ein DualProzessor System (Intel) war und wie im Artikel mit Drivesnapshot nach SingleCPU transferiert wurde. Ein Test mit einem absolut aktuellen Modell, Samsung R60 Duro ausgestattet mit 4GByte lud die gleiche HAL wie auch ein waschechter Celeron! M 540 mit 1,8Ghz - Noch ältere Modelle waren nicht mehr verfügbar die durch die  HAL ebenfalls wohl abgedeckt werden könnten, wobei solche PCs wohl seltener über genügend Speicher - 512MB unbedingt erforderlich - verfügen dürften und damit nicht nutzbar sind.

Die beiden HALs in Vista sind
halmacpi.dll  - Multiproc - ACPI 177208 Bytes
halacpi.dll    -  ACPI/APM  141880 Bytes (noch unbekannte Features)
wobei die Aktive wie unter XP als hal.dll eine Kopie der auserwählten ist und bei dem Transfer des Systems immer noch eben diese war. Das erklärt die Aussage (
startet auf verblüffend vielen x86-Rechnern problemlos) weil die HAL das Spektrum allein abdeckt.  Jedenfalls ist ein weiteres Merkmal wohl ein einziger Kernel in Vista32, während XP32 dagegen zwei besitzt, die 64Bit Versionen sind nicht untersucht worden.

Vista kann bei einem Umzug auf geänderte Hardware tatsächlich alles mit einer HAL abdecken, vom Celeron über den P4 mit HT bis zum Core2Duo und installierte auf allen Geräten eben die halmacpi die sich als ACPI x86 im Gerätemanager meldete.

Selbst der Tausch der HAL auf Mehrkernesystemen indem die halacpi als HAL.DLL untergeschoben wurde, brachte Vista nicht aus dem Tritt oder verursachte Fehlermeldungen - lediglich der Taskmanager meldete eben nun nur eine CPU was auch erwartet wurde, mehr passierte nicht. Nicht gänzlich richtig - beim Start musste zuerst Strg Alt Del gedrückt werden, das war es aber auch schon.

Umgekehrt funktionierte das ebenso, die "SteinzeitHAL" inkl. System auf einen Core2Duo transferiert (schlichter HD-Tausch) lief nach der üblichen Treibererkennung problemlos weiter - natürlich mit nur einem Kern obwohl die CPUs korrekt im Gerätemanager angezeigt wurden. Hier die HAL wieder mit der passenden getauscht und das System bot 2 Kerne (CPUs) an und lief  ohne Probleme. Automatisch macht es Vista beim Umzug nicht.

Bei all den Spielereien blieb der ntoskrnl.exe jeweils identisch - der ntkrnlpa.exe blieb aus dem Spiel.
Nachtrag:
Anfragen bezüglich Umzug auf neuere Systeme mit SATA Festplatten und den damit verbundenen Stopfehlern:
Die nötige Änderung vor dem Umzug, oder per Vista-DVD und Regeditor am  umgezogenem System um das zu ändern:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci
Wert Start auf 0 ändern. Dann startet Vista auch hier nach dem Umzug.

In der gleichen Ausgabe, Seite 91 treffen die Autoren die Aussage:

"Für die 32-Bit-Betriebssysteme hat Microsoft aus Kompatibilitätsgründen den verfügbaren Arbeitsspeicher explizit auf 3.12GByte begrenzt, auch wenn 4GByte installiert sind."

Das auch mit Quellenangabe untermauert, die auch ich sicherlich als Referenz herangezogen hätte.. aber aus Erfahrung heraus nicht unbedingt als Mandatory angesehen. Schon allein weil die eher willkürlich gesetzte Grenze programmtechnisch nicht so einfach umzusetzen ist, will man unterschiedliche Hardware gleichermaßen unterstützen.

Wie die Praxis so spielt - genau wenigstens ein Notebook wagt es, die von Microsoft vorgegebenen Grenzen im völlig normalen Vista Home Premium zu durchbrechen. Die Redaktion sollte sich ein Exemplar des Samsung R60P Duro für 699.- € aus der aktuellen Werbung eines der größten Märkte der Metro AG die am 4.4.2008 anläuft besorgen und den Sachverhalt mal nachprüfen. Der Gewinn ist nicht übermäßig, aber es geht auch eher um Grenzen die Microsoft gesetzt hatte. "Fatal jedenfalls ist, man kann den manipulierbaren Meldungen von Windows nicht mehr völlig trauen." - sagte ich schon in der FAQ von Vista zum SP1 - hier der Beweis der mit anderen Mitteln - Sysinternals - identische Werte hervorbrachte:

Anzeige vom Systemcenter ohne SP1 und echt. ;)

Ebenso der Taskmanager - es geht doch mehr als erlaubt.

Soviel zu den Ungenauigkeiten die hin - und wieder auftreten können, aber in einer Zeitschrift wie der c't besonders der erste Fall, sollten einfach nicht passieren.


Michael Bormann