Blogトップページ » Linux, 自宅サーバ » /bootパーティション破損そして復旧

自宅サーバ(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

自宅サーバでよかった~

コメントを投稿する