自宅サーバ(CentOS)がリブートした直後から起動できなくなりました。
GRUBは起動するんですがプロンプト表示になって止まってしまします。
状況が分からないので手元にあったCentOSのLiveCDで起動してみてHDDの状態を見てみると・・・
/bootのパーティションがきれいさっぱりなくなってました・・・・。
インストール時のパーティション設定は
/dev/hda1 → /boot
/dev/hda2 → swap
/dev/hda3 → /
としていたんですがLiveCDからは/dev/hda3しか見えていません。
てゆうか / が残っていただけでも幸運でしたね。
fsckコマンドでも復旧しなかったので改めて/bootパーティションを作り直しました。
LiveCD起動後にまずは/bootを作り直しました。
# mke2fs -j -L /boot /dev/hda1
その後/bootがなくなったことでkernelのイメージもないのでkernelもインストールしなおします。
まずはreadonlyになっているHDDをマウントしなおします。ついでに/bootパーティションもマウントします。(CentOS LiveCDの場合)
# mount -o remount,rw /mnt/disc/hda3
# mount -o rw /dev/hda1 /mnt/disc/hda3/boot
chrootしましょ。
# chroot /mnt/disc/hda3
chrootしたらkernelをインストールしなおします。
# yum remove kernel-xxx(インストールしてあるkernel。rpm -q kernel で確認)
# yum install kernel
カーネルイメージの確認をします。
# ls /boot
ここでvmlinuz-~のとinitrd-~のファイルが/bootにできました。
さてリブートしてみると・・・・
相変わらず
grub>
で止まっています。
とりあえず手動で起動させよう!!
grub>root (hd0,0)
grub>kernel /vmlinuz-2.6.18-164.el5 root=/dev/hda3
grub>initrd /initrd-2.6.18-164.el5.img
grub>boot
(指定しているファイル名はうちの場合ですから注意してくださいね。メモったファイルを指定してください。また/bootを別パーティションにしてるかしてないかでpathも変わってきますんで参考にする場合は注意してください。)
とりあえず起動したんですが・・・毎回リブート時にこれでは面倒くさいです。
yum で grubを再インストールしましたが改善しませんでした。
そこで普通にコンパイルしてみました。
一応パッケージは削除してみます。
# yum remove grub
さてソースをとってきてインストールします。
# wget ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz
# tar zxvf grub-0.97.tar.gz
# cd grub-0.97
# ./configure
# make
# make install
grubをMBRにインストールします。
# grub-install /dev/hda
設定ファイルをコピーします。
# cp ./docs/menu.lst /boot/grub/grub.conf
設定ファイルを編集します。
# vi /boot/grub/grub.conf
現状に合わせて編集します。参考までにうちの場合は・・・
—-ここから—-
#
# Sample boot menu configuration file
#
# Boot automatically after 30 secs.
timeout 30
# By default, boot the first entry.
default 0
splashimage=(hd0,0)/grub/splash.xpm.gz
title CentOS 5.3 kernel-2.6.18-164.el5
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/
initrd /initrd-2.6.18-164.el5.img
—-ここまで—-
これでリブートしてみると・・・
やっとこさ普通に起動してくれるようになりました。
ここだけの話/boot消えたのはのは俺自身の人災なのは内緒w
自宅サーバでよかった~

コメントを投稿する