Conclusion
I will have to back up the data and replace the hard disk:
What does command do: `badblocks -svn /dev/sda`? does it just report the bad blocks?
Tried
I just used badblocks -svn /dev/sda command to handle the bad blocks of the hard disk. As suggested here. It took almost two days to finish!
