Chapter 2. Filesystems
Perl to the Rescue
Laptops fall in slow motion. Or at least that’s the way it looked when the laptop I was using to write the first edition of this book fell off a table onto a hardwood floor. The machine was still in one piece and running when I picked it up, but as I checked to see whether anything was damaged, it started to run slower and slower. Then it began to make sporadic and disturbing humming-buzzing sounds during disk access. Figuring the software slowdown was caused by a software problem, I shut down the laptop. It did not go gently into the night, refusing to shut down cleanly. This was a bad sign.
Even worse was its reluctance to boot again. Each time I tried, it began the Windows NT booting process and then failed with a “file not found” error. By now it was clear that the fall had caused some serious physical damage to the hard drive. The heads had probably skidded over the platter surface, destroying files and directory entries in their wake. Now the question was, “Did any of my files survive? Did the files for this book survive?”
I first tried booting into Linux, the other operating system installed on the laptop. Linux booted fine, an encouraging sign. The files for this book, however, resided on the Windows NT NTFS partition that did not boot. Using Martin von Löwis’s Linux NTFS driver, available at http://www.linux-ntfs.org (now shipping with the Linux kernels), I mounted the partition and was greeted with what looked like all of my files, ...