There can be MANY reasons why Windows doesn't work so well or may be completely shattered.
The first thing to try when installing a Linux juxtaposed to a Windows is simply partition a small part of the end of the hard drive and format it with an ext(2-4) file system. If the Windows does not boot properly and you feel uncertain, you can undo this by simply repartitioning the drive back to how it was before, then using chkdsk and defrag in Windows. Yet before doing any of this, the Windows side should be completely clean, which includes using scandisk, defrag, and chkdsk; in addition, it doesn't hurt to have a backup.
Always have a tool around like
PartedMagic. It may come in handy.
Which Windows XP do you have, the one that is based on your HP computer, the one installed by the store so that they can charge you every time, or an "official"?
Did you try chkdsk /f in the command-line?
Troubleshooting Windows can be long and frustrating.
good luck