Advanced File Recovery

So, a few weeks ago, someone made the mistake of upgrading a computer
to Windows Vista from Windows XP. Besides the 8-hour upgrade process
headache (what was it doing?), it also left the machine unusable.
This person ended up reinstalling Windows XP and also installing
Ubuntu. After the whole process was over, this person claimed to have
lost important files. Excellent :-)

Since the partitions were completely destroyed and the OS reinstalled,
file system level access software would not be helpful. So, I dug
deep, and came up big. foremost. This GPL software seems to have
been written by the US military, and as such, is in the Public Domain
by default. It is now GPL software, and you can use it freely.

I read up on the docs, and here's how I got almost all the files back:
* Boot Ubuntu Live CD (never recover files from the HDD-installed system)
* Add extra software repositories to apt
$ sudo sed -i "s/main restricted$/main restricted universe multiverse/g" /etc/apt/sources.list
* Install the application 'foremost'
$ sudo aptitude install foremost
* Create a recovery directory (put this on USB, instead, if you have one)
$ sudo mkdir /root/recovery
$ sudo foremost -v -i /dev/hda -o /root/recovery
* Maybe you just want all those JPG files you lost and nothing else?
$ sudo foremost -v -i /dev/hda -o /root/recovery -t jpg

Finally, copy your files somewhere safe. If you don't have enough room
in the live system, you could mount a remote partition over NFS, SSH,
etc.

Some of you may be asking yourself what to do if foremost does not support the file types you lost. Maybe you lost some precious OGG files? No worries! Why don't you give 'magicrescue' a try? magicrescue allows you to define the proper "magic bytes" that define the file type. Basically, it's what the 'file' command would check against. You can see all magic definitions in /usr/share/file/magic. You can define your own and use them as input when you run magicrescue. The possibilities are endless.

So, if you need to get your data back desperately, these are
great options for you! Keep on hacking :-)

Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Webcast
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
On Demand
Moderated by Linux Journal Contributor Mike Diehl

Sign up now

Sponsored by Skybot