how do you repair a disk that is reported to have many bad sectors and fsck reports that the filesystem is mounted.
You could use the badblocks command to create a list of bad blocks.
Then you can format the disk with mkfs or mke2fs (with the -l option you can provide a bad blocks list that won't be used in the filesystem).
This is just a temporary solution though. When there are bad sectors, more will follow.
I have a hard drive that I actually throw away because of bad sector years ago. I never bother to partition, How do you know which partition has bad sector?
I first noticed that my hard drive was failing when my Windows installation became unstable. Sometimes it boots up. At other times, it just died. Finally it died totally. I couldn't even re-install it.