You may have one of two types of errors:
Logical errors in the file structure, because the write process was interrupted. Indices and directories may no longer be in sync with the actual data written to the files.
Damaged physical sectors on the disk because the heads crashed into the platters when the disk hit the floor/desk.
For (1) any software 'fix' tool will work, like Windows
For (2), in order of thoroughness (which generally also indicates the time they will take to run), I recommend one of:
Run Seatools for DOS (not the Windows version; download the ISO), and choose the 'LONG Test'. This program is free.
Run HDD Regenerator. This program is not free ($99 US).
Run SpinRite (running the executable under Windows will extract an ISO that you can burn). Choose level 4 for through testing. This program is not free ($89 US) and is the only one that I know that can often recover data from damaged sectors; this may take a long time though. It comes with a money-back guarantee.
All three programs scan the hard disk at the physical level, and should be run from a bootable CD.
Strictly speaking you should try the repairs in order (2) then (1) because the software mentioned for (2) could recover actual data that is necessary for (1).
You may of course decide to do only (1), maybe that fixes enough for your purpose - but note that changes made by (1) are (also) irreversible, so (2) will not turn up more data after that, it will just fix any bad sectors.