I actually recently just ran into a bad sector disc issue myself. A good program for linux is "badblocks", however it's a bit un-user friendly though does work great. As an alternative, I would recommend using the Ultimate Boot CD which has a very user friendly live cd boot environment with tools that will do what you need. I think Vivard is what I used. Depending on the size of your drive, it will take quite a while. (For me I let it run nearly 3 days, finding a bunch of bad sectors, however it would have taken almost a week with 500GB 0.o ) so I ended up biting the bullet and got myself an SSD. Very happy with that now
Fact, Science and the Pursuit of Knowledge. Working to secure your networks from threats; Outside and Within.