Entweder die hal.dll über die Wiederherstellungskonsole deiner Windows-XP CD kopieren (Installation starten -> Wiederherstellungskonsole)
copy x:\i386\hal.dl_ y:\windows\system32\hal.dll
(x = cd/dvd-rom / y = Systempartition --> Laufwerkbuchstaben ersetzen!)
oder
von der Windows XP-CD booten, gehe in die Wiederherstellungskonsol und führe dort den Befehl
bootcfg /rebuild aus. Die boot.ini wird wieder neu auf und eventuell falsche Pfadangaben werden korrigiert.
Hast du vielleicht aber schon alles versucht....
Ansonsten hilft wohl leider nur Festplatten auf anderen Rechner sichern, platt machen und neu installieren