2011年7月13日水曜日

Ubuntuマシン起動不能?

ウチにはx86省電力作業マシンとしてEeeBoxをUbuntu化したものを
稼動させているのですが、今日突然うんともすんとも言わなくなりました。
外部ログインすら受け付けなくなったので、ローカルで様子をみることに。

普段は電源とLANケーブル以外とっぱらってるので、
ディスプレイとキーボードを接続。いろいろ入力しても真っ暗。
フリーズしているっぽい。
しょうがないので電源を強制OFFして再起動したところ。。。

mount: mounting /dev/disk/by-uuid/なんたらかんたら on /root failed: Invalid argument
mount: mounting /dev on /root/dev failed : No such file or directory
mount: mounting /sys on /root/dev failed : No such file or directory
mount: mounting /proc on /root/dev failed : No such file or directory
Trarget file system doesn't have /sbin/init.
No init found. Try passing init= booting

と表示され、rootfsのプロンプトになってしまいました。
ブートレコードが壊れたのか、grubの問題なのか・・・
起動しないことにはなんとも言えないので、例によってGoogle先生に頼ることに。

とりあえずUbuntuの起動用CDとしてライブCDのイメージをDLしてCDRに焼く。
EeeBoxなので内蔵CDドライブはないので外付けドライブを接続。
まずはディスクチェック・・・問題なし。
bootargをUUIDからsda1に変えて起動させてみる。
・・・あ、真っ暗になってとまった。

しょうがないのでライブCDを立ち上げて起動。
ターミナルからディスクの状態を確認することに。
  1. UUIDの確認 bootargでのUUIDと実際の/dev/disk/by-uuidの対応がおかしくなってないか確認。
  2. マウントできるか確認、できるようならchrootしてディスク内のgrub-installerでMBRを再構成。
  3. e2fsckでパーティションのチェック。
んで、結局のところsda2がマウントできずにエラーで帰ってきたので、
dmesgで読んでみると、

sd 2:0:0:0: [sda] Add. Sense: Unrecovered read error - auto reallocate failed
sd 2:0:0:0: [sda] CDB: Read(10): ...............
end_request: I/O error, dev sda, sector なんたらかんたら
ata3: EH complete
JBD: Failed to read block at offset (忘れた)
JBD: recovery failed
EXT4-fs (sda2): error loading journal

…えー、どうもext4のジャーナルが壊れているのが原因のようで。
ちなみにsda1は/bootに割り当てているため、普通にマウントできました。
3のe2fsckでどうにもならなかったらすべてを消して再セットアップに(汗
さすがにユーザデータもろもろ設定なんかが入っているのでそれは勘弁願いたい。

sda2のチェックして、
どうも壊れたブロック?かジャーナルがあるけど上書きしていい?
と聞かれたのでドキドキしつつyes。
修復が完了し、あらためてマウント。
お、今度はできた。
あとは設定や過去のデータに影響がないか軽くチェックして再起動。

こんどは普通に起動できた!
ディスクチェックが走ったけど問題なくログイン画面に。

それにしてもまあヒヤヒヤさせるぜ(汗

おまけ
ubuntu.canonical.com/lucid/partnerが重過ぎてjava6の更新ができねえじゃねえかw

0 件のコメント:

コメントを投稿