ext2が壊れたときに

私が初めてLinuxをインストールしたマシンは、
Pentium-120MHz(133MHzにオーバークロック)、EDOメモリ16MB、
HDD1GB、Windows3.1なGateway2000のフルタワーでした。
今考えると高すぎる買い物です。
Gatewayの日本法人がなかった頃の話で、並行輸入されたものを購入しました。

当時日本でもLinuxが流行り始めていて、
雑誌の付録についていたSlackwareのCDからインストールしました。
残念ながらバージョンは覚えていませんが。
HDDのパーティションを分けWindows3.1とデュアルブートにしていたのですが、
Linuxにはswap含めて最低でも2つもパーティションを与えなければならず、
贅沢なOSだと思ったものです。

で、ルート用のパーティションはとりあえずext2でフォーマットしました。
現在Linuxでよく使われているext4はext2の上位互換版です。
なのでext2/ext3/ext4をひっくるめてext2と言ってしまうのは私だけではないでしょう。
ところで”ext”をなんと読むのか未だによく知りません。
“イーエックスティー”でいいのでしょうか?

さて、ext2ではパーティション上の特定の場所にスーパーブロックなるものがあり、
これを起点としてファイルにアクセスします。
つまり、もしスーパーブロックが壊れてしまうとファイルの読み出しができなくなってしまいます。
実はそんなもしものときのためにスーパーブロックには予備があるのです。

# dumpe2fs /dev/<パーティションのデバイスファイル>

を実行すると

Block size: <ブロックサイズ>
...
Backup superblock at <ブロック番号>

の情報が出てきます。これをもとに

# e2fsck -b <ブロック番号> -B <ブロックサイズ> /dev/<パーティションのデバイスファイル>

のようにすることでスーパーブロックを予備に切り替え、
パーティションが復活することができます。
まあ世の中何が起こるかわかりませんので、
定期的なバックアップは忘れないようにしましょう。

話は元にもどりますが、当時Linuxを何に使っていたかと言うと…まあディスクの肥やしです。
それなりに使いこなせるようになるのは相当後のことです。
それでも、ATI Mach64のためにX-Windowを2日かけて再ビルドしたりしてましたね。
で、そのX-Windowで何を動かしていたかと言うと…xeyesだったりします。