And I thank you, Lord Almighty up above,
Just for sending down the ‘F’ train to me.
— Mike Doughty,
“Thank you, Lord, for sending me the F train”
Sketches from the notebook of a man walking around in a daze, trying to come to terms with just how hosed he is in terms of the data he has suddenly lost access to:
I left reiserfsck running overnight, having disabled DMA for the wounded drive. (Since reiserfsck failed with lots of ominous-sounding warnings about DMA timeouts and lost interrupts, it seemed worth a shot. Of course, it slowed the process by about a factor of ten — hence the “overnight” part.) In the morning, no joy.
I had to run some errands this afternoon, partly in preparation for John and Jody’s wedding later this week. While I was out and about, I picked up a low-end router, a D-Link DI-604, so that I could restore some reasonable level of network connectivity to the apartment. (I’d have gotten a DGL-4100, but no one had them in stock. It’s probably just as well.)
Walking through the software section at Fry’s, and glancing at the various data-recovery programs on display there, reminded me of the existence of a tool I hadn’t thought about in a while, and had never had occasion to use before: Steve Gibson’s SpinRite. I resolved to look at it more closely once I got home and had re-established web access.
When I got home, I plugged in the little D-Link router, and realized that I should have acquired it, or something like it, a long time ago. Having your own highly-tweakable Linux-based router is nice, but having a foolproof, solid-state box as a backup makes for amazing peace of mind. I will go back to the Linux-based approach in short order, of course, but it will be nice to know that the D-Link is waiting in the wings, ready to pinch-hit the next time I find myself having to juggle hardware. Being able to browse the web for tools and tips did wonders for my peace of mind, to say nothing of having the phone working again.
The first thing I did was scrutinize SpinRite, which looked sufficiently promising that I decided to try it. (Possible salvation for $89 a pop? I’ll take that action!)
Before loosing SpinRite upon the drive, I thought I’d let reiserfsck --rebuild-tree have one last crack at it. In the morning, after the unsuccessful overnight reiserfsck attempt, I had noticed that the drive was a bit dusty, and that some of the dust appeared to be lodged under the integrated-controller PCB. Having a screwdriver nearby, and too much time on my hands, I unscrewed the PCB and blew it clean with a few blasts from a can of compressed air before reassembling the whole thing.
Desperate. Pathetic. Everyone knows that that sort of blind, ritualistic hardware voodoo never does any good.
Except when it does. Except when it does. Because this time around, reiserfsck --rebuild-tree plowed right past the point where it had stopped dead during the five previous recovery attempts, and left me with a successfully-rebuilt and mountable filesystem. I have no idea what convinced the drive to venture back from the sunless lands — for all I know, it was knocking it about eight inches to the carpeted floor when I bumped the box I’d rested it on — and I’m not inclined to care. I’m just grateful for the undeserved third chance I’ve been given. (Yes, tar is chugging away as I write this. I may be stupid, but I’m not criminally stupid.)
All the files I really care about have already been backed up to another disk; I’ll be burning them to optical media in the morning, just to be safe. At this point, I’m down to saving the data I could afford to lose, but would rather not have to recreate. Having paid for SpinRite, I find myself not needing it at the moment. I am utterly unconcerned. I’ll probably unleash it upon the old disk once the backups are complete, just to see what it finds and reports.
I am insanely lucky. My father is fond of saying that it is better to be lucky than good, but I will strive not to push my luck quite so aggressively in the future. Next up: an actual backup strategy.