After my recent hard disk woes, my computer is back online.
Yesterday I booked an appointment with the Apple Genius Bar and took my machine there. I explained to the rep the system freeze I had experienced during an innocuous operation, and that during my diagnosis the disk repair utility decided it could not repair the disk.
He booted my machine off a portable drive, and at that point I was able to copy my most recent important data from my drive to my portable drive. This meant I didn’t lose a week or two worth of data since the last backup.
The rep then performed some more diagnosis on the disk. During a disk check, fsck complained about I/O errors, which I knew was not good. I already figured that the disk had physical problems (bad sectors, perhaps) and that a replacement was a likely outcome. I was already mentally prepared for the inconvenience of downtime and a lengthy rebuild.
Unfortunately Apple didn’t have in stock a hard disk with the specs I needed (7,200rpm and 500GB). I asked Apple to order one, but I explained that I’d also try and find one somewhere else. The rep had no problem with that approach, and told me to inform the Apple rep who’d later call me that I’d no longer need the disk. It’s a part that isn’t a special order, and would get used eventually by another customer.
Today I sought a new hard disk from a supplier, and found a suitable model for a significantly lower price than Apple was asking. I picked up the new disk on my way home, replaced the faulty disk and set about the long and tedious process of installing the OS, my applications, configuring the machine and restoring my data from my backups. I didn’t need Apple to install the disk or the OS, as I could do both of these things myself and rather conveniently avoid the associated service fee.
It’s been an inconvenient, time-consuming experience, but thankfully it wasn’t as bad as it could have been had I not been so religious about backups and redundancy; but in spite of it, I have come away with some key learnings, which I intend to put into practice.