

R-Linux(Recovery studio) is one of the best.

you'll often get the ' device is busy' message.

Unmounting the drive on a live system can be tricky. Note: extundelete requires you to unmount your drive to work properly (this is a good idea to do ASAP anyway, to avoid potentially overwriting the hopefully-recoverable bytes in the deleted files). Extundelete is really great if your file system is ext3 or ext4.
