Frequently I get messages like “I have accidentally deleted my project. Is there any way to recover it in Linux?” or “I worked really hard on that program and managed to deleted it right before submission 🙁 How do I recover?”. Well I didn’t really have any idea on “How to actually recover deleted files in Linux”.
A few days back I was designing the new logo for Videocache in Inkscape. After finishing the design, I saved the svg file carefully. And deleted other images which I embedded in the logo. A few moments later I realized that I just screwed up myself by deleting all those files as the svg file is now good for nothing.
I searched a lot on recovering files in Linux but in vain. Then a friend (bitgeek) told me about Photorec. I managed to recover all the files using photorec. I thought it would be a good idea to let others know and spread a good word about Photorec. Below is a step by step howto on using Photorec to recover your files.
What is Photorec?
From Photorec website,
PhotoRec is file data recovery software designed to recover lost files including video, documents and archives from Hard Disks and CDRom and lost pictures (thus, its ‘Photo Recovery’ name) from digital camera memory. PhotoRec ignores the filesystem and goes after the underlying data, so it will still work even if your media’s filesystem has been severely damaged or re-formatted.
For This HowTo
Lets say I had a file download_arrow.png in /home/saini/Desktop which I have removed accidentally. Login as root and create a directory recover which will be used to store all the recovered files.
Photorec comes as a part of testdisk package in Fedora (I hope its same for other distributions as well). Use yum to install testdisk.
[root@fedora-tips ~]$ yum install testdisk
Once you are done with installation. Open a terminal and launch photorec (as root).
[root@fedora-tips recover]$ photorec
Select Hard Disk
If you have more than one hard disk in your system, select the one from which you have deleted the file(s).
Select Partition Type
If your hard disk has Linux partitions, then select [Intel].
Select Filetype Option
Move to [File Opt] and press enter. Here you can disable all file types by pressing ‘s’ . Use space to toggle the check button. Now since we removed a png file, we are going to check only png file type.
Photorec also has a list of different options. Under normal circumstances you don’t need to modify them
Move the selector to the partition from which you have removed the file. Then press enter on search.
Select Filesystem Type
If you are using Linux, its going to be ext2/ext3/ext4. So the default selection is file.
Select Space for Analysis
Select free if you didn’t write to that partition after removing the particular file otherwise select whole.
Select a Directory to Recover Files
Now select the path where the recovered files will be stored. Then press ‘Y’.
Photorec will show how many files it has recovered.
All recovered file will be stored in the directory selected above. Open them in a file browser and you’ll get the removed file there. I hope this howto will help you recovering files you accidentally delete 🙂