There are various causes for "bad sectors" on a hard drive. To find the reason, I'd suggest the following in the order I set them down. Using online scanners should be your first step in identifying and fixing the problem. There are several and they're free. I recommend using 4 or 5 of them as one might pick up something others miss.
Malware: Use a few online scanners to see if you have an infection. If you do, the solution is to clear it. Then do a chkdsk /f /r (right click on the cmd.exe and choose 'Run as Administrator') .
If that doesn't find the problem or if you're clean, and there are no mechanical/hardware problems your problem should be solved.
Improper shutdown of Windows. Best repair? chkdsk /f /r from the cmd prompt (run as Administrator).
Defects of the hard disk, including general surface wear, pollution of the air inside the unit, or the head touching the surface of the disk and other poor quality or aging hardware, including a bad processor fan, dodgy data cables, an overheated hard drive. In this case, the only real repair is identifying and fixing/replacing defective equipment.
If the problem was malware, then after the repair, you might have to restore various services/settings on your computer as cleaning the malware alone won't do that. There are various utilities which can do this. Search ghacks.net for reviews of some.