If your HD really has bad sectors visible to the OS then you need a new HD, the one you are using can fail soon. All modern HD:s have extra sectors that they use to "replace" bad ones with,
giving the impression of a perfect medium to the OS. Once the spares are used up any new faults will be visible, but at that point there is already so many of them that something must be seriously wrong with the disk.
I suppose XP could also have corrupted your filesystem somehow (without any physical damage), in that case some win* based software might be able to fix it (partition magic perhaps)