A little background:
Since there is no such thing as the "perfect" platter, all drive manufacturers since ,well FOREVER, have provided extra tracks to be used for re-mapping bad sectors. When a defective sector is found, its address is placed in the bad sector map in the controller's database along with the address of the replacement sector from the extra tracks. The manufacturer will do an initial mapping of bad sectors in an individual drive as part of the QC process when the drive is assembled.
Since the value of (especially) passive components will drift with age and the bias to the read/write heads is an analog function, there is a command which the OS can use to add subsequently discovered bad sectors to the bad sector map.
*End background*
I had long assumed (there's that word) that all modern OSs used that functionality, but only recently (in the last 8 months) discovered that Windows is NOT a modern OS in this regard. Despite what the docs say, "chkdsk /r" will NOT replace sectors that have a CRC error. Nor will a full (not quick) format find and re-map sectors with CRC errors.
Based on your description, I suspect that your error is in sector 0 (the MBR) where the primary partition table is located. If that is the case and you only want to recover a few files, testdisk will do the trick. It will rebuild the partition table in memory and you be able to copy any of the files to an alternate drive. It won't be able to write the corrected partition table to disk because there will still be CRC errors writing to sector 0.
If you need to recover almost all of the data, I suggest using Clonezilla in expert mode. Since (I suspect) the partition table is unreadable, it will need to use dd to copy what it can, but in expert mode you can set the option to continue despite errors.
The only way I've been able to correct CRC errors on bad sectors is to format the partition under linux to a native linux filesystem. I just format to ext2 since I'm going to reformat to NTFS after the bad sectors have been re-mapped. The key is to do error checking during the format. You may be able to simply use the -c option to mkfs.ext2, but I'm a belt & suspenders guy when it come to my data, so I use the -cc option which does a reasonably comprehensive write/read test of every byte in every sector of the drive. BEWARE-- this will take a loooong time on a 1TB drive, ~40 hours. But it will remap the bad sectors on the drive and you will probably be able to use the drive again for quite some time (the one I did 8 months ago is still working well).
All the tools you'll need are on Hiren's BootCD plus the Ultimate BootCD. On UBCD, I primarily use Parted Magic, a Live linux distro with most everything you need: Testdisk, Clonezilla, GParted, etc. I primarily use Hiren's for booting into the mini WindowsXP and using HDTune to do a surface scan of the drive before and after the reformat to confirm that the bad sectors have been re-mapped.
Good luck,
ron