Photo recovery limitations
Overwritten images
Once you tell the camera to delete the image, the disk space used to hold the image is marked as "free, available for reuse". Next time you take a new shot, part of this "free" space is reused for that new shot. At this moment, whatever data was there is lost. It is not possible to recover overwritten data. Hence, you should stop using the card immediately after you discovered some photos missing.
This is worth repeating: once you discover the data loss, stop using the card immediately.
Fragmented images
The same action which marks the space "free, available for reuse" also deletes the information about which file was at what location. This is a side effect of all the free space being marked by the same label. Hence, an arbitrary block of free space is used to store the new file once the need arises. These blocks are not necessarily contiguous, so if the new file is larger than the first free space block, it will be stored in a several non-adjacent parts. The "long file" in the following diagram illustrates that case.
File 1 | File 2 | File 3 | Free Space | |
Action: Delete "File 2" | ||||
File 1 | Free space | File 3 | Free Space | |
Action: Write long file | ||||
File 1 | Long file (part 1) | File 3 | Long file (part 2) | Free Space |
Once you delete the fragmented file, the information about its fragments is lost. Note this only applies to the FAT filesystem, used in digital cameras and other small devices. NTFS (used on most of the hard drives) is a little different in this aspect, but that goes beyond the scope of this document. So, if a fragmented file gets deleted, only the first part of it can be located by the data recovery software. There is no way to determine where the subsequent fragments reside.
This results in files that are only partially recovered. Partial JPEG images may not open (with various error messages about "missing marker" and the like), or may have their lower part blank or distorted.
Such files are considered beyond reconstruction at present days.