Linuxを強制終了した場合に、起動不良→回復方法
2007年2月15日今日、仕事で使用してる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でした。
この方法で良かったのかは分かりませんけど、とりあえず解決したのでメモ。