ハードディスクのパーティションが動いた

/home のデータを失いました。 それまでの経緯と泣き言を長々とつらねます。 役立つ情報はありません。
5月に購入した500ギガバイトのハードディスクは前半分と後半分(250ギガバイトずつ)のパーティションに切り分け、 前半分のみを /, swap, /usr, /tmp, /home の5つにスライスして FreeBSD をインストールして使っておりました。 最近はずっと 8-STABLE 版を追いかけていたのできまぐれにも9月末に更新作業を行なっていたところ、 起動するときカーネルがデバイスの検査中にエラーを出してリブートするようになりました。 エラーはつぎのとおりです。

GEOM: ad0s1: geometry does not match label (255h,63s != 16h,63s)

これには心当たりがあります。 だいぶ以前に残り半分のパーティションOpenBSD を入れてみたもののブートローダに辿りつけず使わずにいました。 このときパーティションをおかしくしていたのかもしれません。 ともかく9月11日にビルドしたカーネルではこのようなエラーが起きないため、 更新をあきらめてブート時に手動で古いカーネルを選択して起動することにしました。 これでだいじょうぶです。 念のため同じソースで GENERIC カーネルも作っておいて同じ問題が起きないか確かめられるようにしておきました。 完動カーネルは /boot/kernel.old6 に入れておきます。
しかし更新の欲望が日増しに沸き起こり...。 22日の夜、 頭痛がするのでファン騒音の出るパソコンを止めて寝ることにしました。 失敗ビルドからおよそ3週間ぶりの停止です。 ところが翌朝ブート作業がうまくいきません。 あとから思い返せば単にカーネルのパスが正しく入力できていなかっただけなのですが、 old6 と名付けたカーネルはロードできないし GENERIC を含め他のカーネルはどれもエラーで止まるということで随分焦り、 ブート可能なカーネルがもう無いのだと早合点してしまいました。 かなりの落胆です。
いっそのこと残り半分のパーティションに何か入れて作業を続けられるようにしようと思いたち、 以前買っておいた Ubuntu Magazine の付属ディスクを使って Ubuntu 10.04 LTS を試しにインストールしてみました。 もしかしたら GIMP ヘルプ文書の PDF 版作成への道が開けるかもしれないという期待もありました。
とても手間のかからないインストール作業のあと、 インストーラディスクを取り除いて再起動してみたのですが、 grub resque> というプロンプトが出てその先に進めません。 動くコマンドは ls 以外わからないので結局その日はあきらめました。
翌日ようやく FreeBSD は old6 のカーネルで起動できることに気付き喜ぶのもつかのま、 /home ディレクトリを入れているデバイスノードが存在しないエラーに遭遇しました。 何たることだ! /sbin/sysinstall から fdisk を呼び出してみると、どうもサイズがおかしくなっています。 250ギガバイト割り当てたはずの FreeBSD 用領域が123ギガバイト程度になっているのです。
考えうる原因はあのインストーラディスク。 かつて Windows95 をあとから入れたときに既存のパーティションが無視され手酷い事態を招いた苦い経験から、 パーティションの操作はかなり慎重に行なったにもかかわらず、 簡単便利でも慣れていないと思わぬ落とし穴にはまってしまう痛い経験を繰り返すことなりました。

現在はとりあえずもう1台ハードディスク(一部セクタ破損で利用を控えていたもの)を積んでそこに /home 領域を確保して作業を続行しています。