After partitioning and installing linux I tried to boot into XP and was given the following message:

Windows could not start because the following file is missing or corrupt:

<Windows root>\SYSTEM32/hal.dll

Please reinstall a copy of the above file.

When I mount the drive and look in system32 I can see that it is there, so that must mean it is corrupt. How can I go about this in linux to fix this without reinstalling. I already tried recovery and that did not work. Is there another way? I can boot into Kanotix successfully and can still boot into live cds.