I would run Spinrite on the disk. Chkdsk is probably hanging on a damaged sector. Spinrite will at least show the damaged sector and do a partial recovery of the sector to a new re-mapped sector. You'll still have to replace the drive but you should be able to get the data back. It's expensive and probably not worth doing if you can get the data off with the drive in the state that it's in. But it's good software to have in general for emergencies. I once had a client with a laptop that was writing to the disk when it was dropped from a table. It would not boot at all. After ~46 bad sectors were relocated and partially recovered, the drive booted up normally and all the data was able to be backed up.