Hallo,
die Meldung mit dem Prozedureinsprungpunkt kommt eigentlich nur, wenn die entsprechende *.dll beschädigt oder in der falschen Version vorhanden ist. Sfc /scannow würde eine unbeschädigte aktuellere Version einer *.dll jedoch nicht gegen eine ältere Version (von CD) austauschen und wenn die shlwapi.dll tatsächlich beschädigt war und deshalb ersetzt wurde, hätte die Meldung eigentlich schon vor der Systemdateienüberprüfung kommen müssen. Leider hast du zur Vorgeschichte und zum Anlass für diese Systemdateienüberprüfung nichts gesagt.
Da die shlwapi.dll für die Desktopanzeige benötigt wird, kann bei einer Beschädigung bzw. Unbrauchbarkeit der DLL logischerweise kein Anmelde-Screen, oder bei einer automatischen Anmeldung keine Benutzeroberfläche angezeigt werden.
Wie du unter Linux vorgegangen bist und woher du die DLL genommen hast, hast du auch nicht erzählt. Dass dieser Versuch untauglich war, hat sich dann jedenfalls schnell gezeigt.
STOP 0xC0000221 – STATUS_IMAGE_CHECKSUM_MISMATCH
das besagt ganz einfach nur, dass die aufgerufene System-DLL (oder ein Treiber) beschädigt ist.
Ich tippe mal darauf, dass du irgendwoher eine shlwapi.dl_ einfach nach System32 kopiert und dann zur shlwapi.dll umbenannt hast. So einfach geht das jedoch nicht, da eine *.dl_ immer eine komprimierte Datei ist und zur späteren Verwendung erst noch über die Expand.exe von XP (in der Eingabeaufforderung) 'entkomprimiert' werden muss.
Die shlwapi.dll für XP wurde mehrfach durch Microsoft überarbeitet, die letzte Version ist wohl die vom 14.04.2008 und wurde über das SP3 installiert.
Falls du wieder mal ein Problem mit XP oder einem anderen Windows haben solltest, dann schildere hier doch besser mal das Problem selbst und nicht nur das Ergebnis aus deinen auch nicht näher erläuterten Lösungsversuchen.
Gruß
Kalle