タイトルだけを見ると何だかわからないが、事の顛末はこうである。
昨晩、どうもハードディスクへのアクセスにひっかかりを感じたので、インストールDVDで起動してディスクユーディリティの修復をかけてみることにした。そもそもこれが間違いの元で、本当ならデータをバックアップしてから始めるべきだったのだが、まさかApple純正のディスクユーティリティに後述する恐るべき罠が隠されているなどとは思いもしなかったもので、鼻歌交じりに修復を開始した。
表示を見ていると、案の定カタログファイルに誤りがあるなどと出ている。HDDから頑張っている音が聞こえてくる。どうせ暇だからと、DSでスーパーマリオをプレイしていると、しばらくして修復完了──かと思いきや、そこには「修復出来ませんでした」の文字が。基になるプロセスでエラーが発生して云々とある。何だそれは。再度修復。やはり駄目のようである。
仕方がないのでディスクユーティリティを終了し、ターミナルを起動。fsckしてみると、こちらでもエラーが発生(当たり前といえば当たり前なのだが)。エラーメッセージには「BAD SUPER BLOCK: MAGIC NUMBER WRONG」とある。
あちこちを見て回ってみたところ、これがなかなか大変な事態のようで、要するにパーティション情報がどうかなってしまっているらしい。実際、HDDを認識出来てはいるのにどうしてもマウント出来ない。すぐ目の前にデータが転がっているのに、どれだけ手を伸ばしても届かない、そんな文字通り悪夢のような状況である。
とはいってもデータ自体はディスクに残っているはずだし、同じような状況から復帰できた人もちらほらいるようなので(FreeBSDの場合とかMac OS Xの場合とか)、諦めるには早い。というか、重要なデータがてんこ盛りであるので、諦めるという選択肢を採るわけにはいかない。
Macにはディスクウォーリアという伝統的な修復ユーティリティがあり、当然うちにもある。それも二種類もある。すなわち、旧バージョンと旧々バージョンである。この記事の時点での最新バージョンは4だが、このとき手元にあったのは3までだったので、とりあえずそのCDで起動を試みる。が、失敗。まあシステムのバージョンが微妙に古いとMacは容赦なく起動しないので、特に驚くには値しない。
起動できないなら、別のHDDから起動して、その上で動かしてやれば良い。ということで、相方が使っているFireWire接続のリムーバブルディスクをG5に繋ぎ、今は使っていないHDDを挿してシステムをインストール。そこから起動し、もう一度ディスクウォーリアを試してみる。と、「バージョンが古いので無理」とすげなく断られてしまった。収録されているシステムのバージョンを起動ディスクから確認すると、10.3のようだ。そりゃ無理だよな。
仕方がないので、ターミナルからnewfs -Nしてalternate super blockを調べ、出てきた数値を使ってfsck -bするというのを試してみる。しかし、数が多すぎるため最初の三つくらいで飽きる。これはもうディスクウォーリアの最新版を買ってくるしかない。そう思って、昨晩は寝た。
で、今日になってディスクウォーリアの最新版を買ってきて、試してみたところ、実にすんなりと問題が解決した。善哉々々。ずらーっと並んだエラーのリストを眺めながら、たまにはメンテナンスしてやらないといかんなぁというのを実感した次第である。
あと、せっかくだから250GBのHDDを増設して、データ置き場にすることにした。シリアルATAのHDDを扱うのは初めてなので軽く緊張したが、何も難しいことは無く、やってみたらUltra ATAよりも簡単なくらいだった。
という訳で、どうやら無事に復活したようである。めでたしめでたし。