I've saved a lot of Windows disks using GNU ddrescue and Linux.
Copy/rescue the partition (not the whole disk) so it later can be easily loopback mounted as a read-only NTFS disk in Linux.
ddrescue copies the good parts of the disk first, zeroing in on the bad blocks and eventually retries...