chkdsk /r (scan for bad sectors) includes /f (attempts to fix errors), there's no harm in using it but it won't do anything extra.
chkdsk /b is probably what you're looking for, it clears the table of bad sectors and rescans (the rescan inclueds the /f /r options), /b only works on NTFS volumes though so if it's using another filesystem what Nemiyem suggested, Spinright, would probably be the best option (or just a Linux live USB).