Recuva is a data recovery and an undeletion program for Windows, developed by Piriform. It is able to undelete files that have been marked as deleted (the operating system marks the areas of the disk in which deleted files were stored as free space). It can recover files deleted from internal and external hard disk drives, USB flash drives, memory cards, portable media players or all random-access storage mediums with a supported file system.
TestDisk is an open source data recovery utility that runs exclusively from the command-line interface and allows users to check and undelete partitions from a given disk drive. It is primarily designed to help recover lost data storage partitions and/or make non-booting disks bootable again; when these symptoms are caused by faulty software, certain types of viruses or human error (such as accidentally erasing a partition table). It can also be used to collect detailed information about a corrupted drive.