It's not free but I highly, highly recommend Spinrite -
GRC|SpinRite 5.0 - one-of-a-kind hard disk utility
My laptop was taking forever to boot into XP, and the HD was making clicking noises (sure sign of imminent death).
Based on other's recommendations I used Spinrite, booted with it, let it do it's thing for a few hours, and when it was done, my HD clicks were actually gone (yes GONE!) and XP was booting in a normal amount of time.
That was about 5 months ago and my laptop hasn't been better. Just last week, a family member's laptop was experience huge lagging and tasking, after running several cleaners and diagnostics I couldn't figure out what was wrong with it, sure enough, I ran Spinrite and voila, his laptop is back to normal.
I know, I know I probably sound like a commercial but I was simply floored with the consistent results.
It has a very primitive interface but very powerful software.