A virus is only dangerous when you allow the code to run. I'd move all the data I could get to a new disk, then do a virus scan on that. It's NOT a good idea to attempt to write to a disk when you know it's failing. Even if the file tables are corrupted and not actually a physical defect, writing just makes a bigger mess.
If you talk to data recover folks, you'll find they don't screw around with the source drive, they copy off an image and tinker with that.