there's a number of problems the file/disk recovery programs need to address. if it does an
integrity scan against the file tables and indexes and determines that there's corruption
there, then it may need or want to fix it before continuing.
theoretically, it would be a bad assumption to assume the disk's file tables and indexes
are perfect and only "find" the missing deleted file chains. file chains are where the
file tables, for a given filename, points to the first block of that file, then the next
and all the way to the end. break anywhere and you lose the ability to recover.
occasionally, some of these links go random or go backwards.
I'd look at any and all file/disk recovery programs. and look into what and how they work.
another approach. you can do this on any good disk on a Windows system. Run
the check disk integrity on a disk, note how it runs several passes in CHKDSK
and other apps. this ensures the disk is good regardless of whether it's a boot disk
or any other disk, and includes USB drives, and SSDs.
the key to recuva or "check disk integrity" is finding a utility that copies ALL blocks
(sectors or clusters) and makes NO assumptions as to OS (windows, dos, Linux,
Mac, UNIX), ignores all file tables and whether they are perfect or corrupt or missing,
and can read the disk contents (no matter what size the disk is).
this last requirement is because the just-previous file systems were MBR based
and is now GPT, the original disks back in IBM PCs were MFM and all the
way to just earlier were all 512-byte sectors. and you could write a simple
program (even in Visual Basic) to read all the sectors and write them somewhere
else. nowadays, advances the disk formatting to 4K clusters so the basic OS read
is no longer a 512-byte sector read but a 4K cluster I/O.
again it's your choice how you proceed.