In June I switched over from a combination of Windows and Linux to pretty much using OS X solely, and being largely familiar with Windows software (and painfully aware of the lack of many Linux alternatives) I had to replace a few oft-used programs with Mac-friendly alternatives. At some point I realised I was bereft of a file recovery tool and it was at that point I discovered PhotoRec.
Previously I’ve resorted to Recuva and written about Pandora Recovery, neither of which play nicely with OS X. PhotoRec overcomes this by being compatible with just about every major OS including OS X, DOS and Windows 9x, modern Windows, Linux and even NAS drives. The source code is also available for compiling on other systems, if you’re that way inclined.
PhotoRec & TestDisk
Despite the name, PhotoRec isn’t just a photo recovery tool – though it performs this function better than any other I have encountered. In reality PhotoRec is capable of recovering more than 390 file types including documents, archives, video files, executables and even disk images. If you’re after an exhaustive list of supported extension then check out the wiki which lists each any every one.
PhotoRec comes bundled with another, more advanced recovery tool called TestDisk. For now we’ll be focusing on PhotoRec which will suit most data recovery tasks. TestDisk is on another level of data recovery and capable of recovering whole partitions which is overkill when all you want to do is recover accidentally deleted digital camera snaps.
I’ve used PhotoRec a few times in the past, mostly to test what it’s capable of. Only this morning did I truly need it, after realising I had deleted hundreds of photographs that were stored on a USB stick (and nowhere else). This is a foolish error I’d urge you not to make, but if you have to then at least make sure you have a tool like PhotoRec to hand. For those of you looking for “proof” of the software’s effectiveness then I’ll give you a little insight into my recovery options.
In a recent article I ran over the process of installing Amahi home server using Ubuntu 12.04 LTS. I had to “burn” an .ISO to USB in order to install Ubuntu, though one thing I didn’t mention in the article is the fact that I accidentally downloaded Ubuntu 12.10 first. It was only during the install procedure did I notice I had the wrong version, so I then had to download 12.04 LTS, “burn” it again and carry on. A few hours later I realised my mistake of not checking the USB drive for precious data first.
I resigned myself to the fact that recovery was highly unlikely. It was only out of curiosity I thought I’d give PhotoRec a go.
Recovering With PhotoRec
The software uses the console, so there’s no flashy GUI to click or prod at. For the purpose of this article I’ll be using OS X, but the process is virtually identical on other operating systems.
First download PhotoRec and extract it to anywhere except the drive you want to recover deleted files from. Don’t forget, the more data you write to a volume you’d like to recover from, the more data you are potentially destroying. Execute PhotoRec and you should see a window appear in your default console app (Terminal for OS X and Ubuntu users, Command Prompt on Windows).
PhotoRec requires root (admin) access to your PC, and OS X users will see the screen I’ve included above. At this prompt on a Mac system simply hit enter to restart, input your password and you’re good to go. On Windows, you will need to run PhotoRec from an administrator account and on Linux you will need to do this from the command line using the sudo command, e.g. “sudo testdisk-6.13/photorec-static” followed by your administrator password.
Once you’ve got PhotoRec running it’s a case of simply following the on-screen commands. First choose the device you would like to recover deleted files from, in my case it was the 2GB drive listed in the screenshot above.
Next you’re prompted to choose a partition, along with a few options along the bottom of the screen. The Options screen has preferences for keeping corrupted files and enabling additional controls, while File Opt allows you to omit certain file types from the recovery process.
If you’re simply out to see what you can recover, I’d recommend leaving everything as default and hitting Search. The next screen asks whether you’re using an EXT2/EXT3 file system, or something else. For NTFS, FAT, HFS+ and other drive types choose Other.
Next up you’ll be prompted whether to scan the whole volume or just unallocated space. On large drives a whole partition scan will take a long time, though on USB drives and memory cards it’s probably worth waiting a couple of hours if it means regaining lost data.
The final prompt asks where you would like to recover the data to. The only really important thing to remember here is not to recover to the volume you are recovering from! I made a folder on my desktop and let PhotoRec go to work. Hit C to start the process, then let PhotoRec do its thing.
I was lucky this time, I managed to recover more than 600 photos, despite erasing and writing to the volume twice. PhotoRec is an invaluable free tool to have at your disposal, especially on Mac OS X where so many companies charge for file recovery software.
Have you had any close calls with data loss? Have you used PhotoRec or TestDisk in the past? Share your “oops!” moments in the comments, below.