Boot a linux cd, then use badblocks.

"badblocks -nv -o logfile /dev/hddX"

As Relyt touched on, most drives will attempt to remap bad sectors when they encouter an error. If the drive cannot...