If possible attach another HD & try to boot from it. If ur system boot normally without any trouble tnen d case is ur original HD is faulty.
Then u should partioning ur faulty HD with win98 bootable disk & install fresh OS to see resolve ur issue. (If win xp creates trouble then u may use win98\2000 or anything els.) Becoz i think win98\2000 rmore stable than win xp.
If ur HD is good then there may be some faulty device \ driver issue.