You can copy drives with errors using the Unix dd command from the Terminal
The Unix dd command can copy one volume (disk) onto another and continue even after encountering errors. Use the df command to list all volumes connected and make a note of the unix drive name (like /dev/disk3s6) and use these in the dd command to do the copy.
Note: be very careful here because it is easy to overwrite good disks if you get this command wrong!
Where FROM is the disk name to copy from and TO is the disk to copy to.
The bs option sets the block size to use, and conv=noerror,sync causes bad data to be replaced with zeros. In that case, some files might be damaged, but they might still be partially recoverable.
I usually write a blog post about once a week. The latest post can be viewed here: Garbage: Democracy dies in darkness, especially when it is buried in garbage! (posted 2024-11-01 at 12:31:14). I do podcasts too!. You can listen to my latest podcast, here: OJB's Podcast 2024-08-22 Stirring Up Trouble: Let's just get every view out there and fairly debate them..