If your Linux command-line fu is strong, try using ddrescue
to make a backup image of your hard disk, then use foremost
to extract the photos (JPGs, I assume?)
From experience, I can say that this is a remarkably effective approach to use on failing drives if your objective is to recover the types of files that Foremost can recognise, including photos, movies, music, and Office documents.
ddrescue
is special because it was designed specifically to read flaky disks. Regular dd
will stop dead when it encounters errors; ddrescue
shrugs, marks the bad sector to be tried again later, and moves on.
GNU ddrescue is a data recovery tool. It copies data from one file or block device (hard disc, cdrom, etc) to another, trying hard to rescue data in case of read errors.
foremost
is special because it does not rely on the filesystem at all. Your partition table or filesystem structures could be completely trashed, yet foremost
will still recover (many of) your files.
Foremost is a console program to recover files based on their headers, footers, and internal data structures. This process is commonly referred to as data carving. Foremost can work on image files, such as those generated by dd, Safeback, Encase, etc, or directly on a drive. The headers and footers can be specified by a configuration file or you can use command line switches to specify built-in file types. These built-in types look at the data structures of a given file format allowing for a more reliable and faster recovery.
Other alternatives are PhotoRec
which runs on Windows, though I'm not sure how well it will do in the face of disk errors, and GetDataBack
which is paid software.