August 9, 2004

Linux can save your data

Author: Chris DiBona

There are a lot of reasons to use Linux. You've seen people write or heard people speak about its use in clusters, offices, Web servers, and other common uses. One thing that hasn't been talked about enough is its utility as a superior tool for recovering data from other operating systems.

Linux excels at accessing and, more importantly, recovering data from otherwise troubled machines. Let me set the stage for you: Christine brought an oldish Macintosh 610 into our marriage. On this machine were vast numbers of recipes, menus, and other documents from her days as a chef, stretching back at least a decade.

To retrieve a menu or recipe, she would have to bring this increasingly flaky machine up and print out a recipe on an aging Canon BubbleJet printer. As time passed, the machine developed a nasty habit of dropping the video and not coming back up until you hit some combination of wiggle and dance with the power switch.

As an engineer, I wasn't happy with the situation. The way we dealt with this initially was to buy a replacement chassis and motherboard from WeirdStuff Warehouse. WeirdStuff is this great shop in Silicon Valley that has every old machine you might want, in quantity. We were able to find a 610 chassis for $20. I swapped the hard drive, CPU, and memory from the old one into the new one and we had a machine that turned on reliably.

It was still a bit of a mess, however, so we decided to get a copy of FileMaker for Windows (a copy is not available for Linux) and get the data off the Macintosh drives. Most of the data files were multi-megabyte in size, so a diskette was not an option. Also, the Zip drive where Christine had most of her backups would, upon connection to the 610 (old or new), simply not be recognized. I tried this with multiple SCSI Zip drives to no avail.

So we were in a position where our data was trapped on a machine with a clearly finite lifespan. We had to get the data off, and the 610 had no network capability, and diskettes were too small. What was the answer? As you can likely guess, Linux.

The Linux kernel supports a great number of filesystems. A filesystem is a term used to describe the methods an operating system uses to read and write data to a hard drive. And while not all filesystems are supported in a standard stock kernel (which commonly support only a few to save space and time), the ability is there to support filesystems reaching back into the dusty back rooms of computer history.

I recompiled my kernel to support Apple's HFS+ filesystem and then used that kernel to access the hard drive and Zip disks (via an Adaptec PCMCIA SCSI adapter) and copy the data off the old machine. Now I had a copy of the data that would work for my wife, and we could back it up as well. Things were good.

This is a fairly domestic story, I realize, but similar stories in corporations are legion. Using a simple bootable Linux like Knoppix or the LNX-BBC, you can easily recover data off of recalcitrant machines that refuse to boot their native Windows systems, or you can do as I did and just pull the drive. Linux excels at these kinds of delicate operations, including deriving old data from backup tape.

The Linux kernel can support a vast array of filesystems, including VxFS (SCO and others), UFS (BSD and others), the aforementioned HFS, and of course NTFS and a variety of FAT systems. Keep in mind that for some, Linux can only read them, and others could at best be called experimental, but even so, you have a terrific array of arrows in your quiver.

People who dual-boot Linux and Windows are used to using FAT and NTFS. Support for them commonly is pre-compiled, sometimes as a module, for most mainstream distribution kernels.

The next time you are faced with having to wipe a drive and start over, but you aren't 100% certain that your nightly backup saved that file or program or document you need, give Linux a try. You'll be amazed how much trouble it can save you.

Chris DiBona is best known for having been an editor/author
for Slashdot. He is an internationally
known advocate of open source software and related methodologies, writes for a
great number of publications, and speaks internationally on software
development and digital rights issues.

Click Here!