CentOSで遊んでいたら、起動しなくなったお話
この手順はLinux系のOSが起動しなくなった時の切り分けとしては使えると思います
【現象】
CentOSが起動しない
GRUB画面表示後に画面が暗転し、ある程度処理は進んでいるようだが、途中でとまってしまう
【環境】
OS: CentOS 5.4
パーティション: HDD1:/、/boot HDD2:/work
【メッセージ】
~省略~
Checking filesystems.
fsck.ext3: Unable to resolve ‘LABEL=/work’
【起動しなくなる前の動作】
Windows とデュアルブートをさせようと HDD2 の “/work” を一部削除
【対応】
上記のメッセージから、起動時に”/etc/fstab”を読み込む際に”/work”ディレクトリが削除されたことによってマウントができない為、エラーが発生したと推測
1.メンテナンスモードに入る*** 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):
→rootパスワード を入力するとメンテナンスモードに入る(因みに”Control-D” を押下するとリブートする)
2.”/etc/fstab” を編集する> vi /etc/fstab
“LABEL=/work” が含まれる行を削除する
→削除しようとすると以下警告メッセージが出る
W10: Warning: Changing a readonly file.
E303: Unable to open swap file for “/etc/fstab”, recovery impossible
Press ENTER or type command to continue.
“:wq”にて保存する
→読み取り専用なので、保存できないとのメッセージが出力される
(“E45: ‘readonly’ option is set (add ! to override)”)
3.”/etc/fstab” に書き込めないのでパーミッション変更する> chmod 777 /etc/fstab
(“chmod: changing permissions of ‘/etc/fstab’: Read-only file system”)
↑ファイルシステム自体が読み取り専用とのメッセージが出力される
4.ファイルシステム自体がリードオンリーでマウントされているので”/”を読み書きできるよう再マウントする
> mount -o remount ,rw /
5.再度、”/etc/fstab”を編集する→以下の手順で編集する> /etc/fstab
“LABEL=/work” が含まれる行を削除する
:wq にて保存する
6.リブートする> reboot
【結論】
/etc/fstab の内容が正確で無い場合は、起動しなくなる
起動しなくなった場合はメンテナンスモードになるが、ファイルシステムが読み取り専用でマウントされる
また、レスキューモードからでも同様に手順で復帰させることができる