Linuxを強制終了した場合に、起動不良→回復方法

2007年2月15日 オフ 投稿者: KYO
Table of Contents

今日、仕事で使用してるLinuxのサービスがダウンしたのか、SSHもサーバー本体も操作が出来なくなったので、電源ボタン長押しで再起動。
すると、エラー[ Failed ]が出て起動しない。
何とか復旧できたので、その時のメモ。

起動後出るエラー画面

Your system appears to have shut down uncleanly
Press Y within 1 seconds to force filesystem integrity check...
Cheking root filesystem
/contains a file system with errors, check forced.
__ この辺りにinode関連のエラーメッセージ __
/:UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY.
(i.e., without -a or -p options)
***An error occurred during the file system check.
***Dropping you to a shell; the system will reboot
***When you leave the shell.
Give root password for maintenance
(or type control-D to continue):

こんな感じで、「ちゃんと終了しなかったので、ファイルシステムのチェックを行います」→「ファイルチェック中に、inode関連でエラーが出ました!」的なメッセージが出る。
確かに・・・電源から直で落としたので、出てて当然なんですが。。。。
英文のメッセージを見ると、やり方は2つ。
このままshellに残る場合は、rootのパスワードを入れる→その後、fsckコマンドを使ってファイルシステムの検査・修復を行う。
もう1つは、Ctrl+Dでこの画面を抜ける→自動再起動。

とりあえず、再起動してみる

上のメッセージの表示後、Ctrl+Dを押すと、自動的にリスタートを開始します。
その後も、同一のエラー画面なのでこの方法では解決せず。

rootでログイン後、fsckコマンドを使ってみる

調べてみると [ fsck コマンド ] は、WIndowsでいう「スキャンディスク」っぽいことをするらしい。
最初、オプションが分からないので、オプションなしで実行。。。。

#fsck

すると、なにやら対話形式で色々聞かれる・・・。
HD内のblock不良(?)みたいな内容や、inodeが不適切なものを消去(clear)しますか?的な。
分からないので、n(いいえ)連打ww
結局、このfsckは全部 [ y(はい) ] でも良さそうな気もしたので(←この辺りが適当な性格現してますが・・・)、以下のコマンドを実行。

#fsck -y

コマンドオプションとして、 [ y ] を指定すると、全ての質問に [ y(はい) ] で答えたことになるらしい。
で、結果としてはその後再起動するとOKでした。
この方法で良かったのかは分かりませんけど、とりあえず解決したのでメモ。