Windows: Microsoft includes its own hard drive scanner in Windows, but if you're looking for a bit more flexibility in diagnosing a problem, Macrorit can help you.
Often, after you perform an initial broad scan, you can find that many of your bad sectors are in a small area of your hard drive. Macrorit allows you to rescan just that portion of a drive. It also runs a bit faster than Check Disk, and allows you to save your scan report as a log file. Unfortunately, it can't fix any bad sectors, but as a diagnostic tool, it's quite handy.