web-dev-qa-db-ja.com

カーネルの更新後にgrub.confにinitrdパスがない

今朝サーバーを更新し、ブート中に最新のカーネルパニックが発生しました。 grub.confファイルを確認したところ、initrdパスが見つからないことがわかりました。この問題を修正する方法はありますか?または、grub.confから最新のカーネルエントリを削除して、以前のカーネルからブートする必要がありますか(動作確認済み)。

grub.confファイル:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_spots-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/vda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-431.20.3.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-431.20.3.el6.x86_64 ro root=/dev/mapper/vg_spots-lv_root rd_LVM_LV=vg_spots/lv_root rd_LVM_LV=vg_spots/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-Sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
title CentOS (2.6.32-358.14.1.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-358.14.1.el6.x86_64 ro root=/dev/mapper/vg_spots-lv_root rd_LVM_LV=vg_spots/lv_root rd_LVM_LV=vg_spots/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-Sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
    initrd /initramfs-2.6.32-358.14.1.el6.x86_64.img

Initファイルを再構築する方法を説明するこのリンクを見つけました。 Initrdの再構築

すべてのリスクを完全に理解しているわけではありませんが、これは試すことをお勧めしますか?これは本番サーバーであり、完全に停止したくありません。 :)

4
prodigerati

initrdを自分で追加し直すことができます。

initrd /initramfs-2.6.32-431.20.3.el6.x86_64.img

/bootディレクトリを作成し、実際に存在することを確認します。

将来のアップグレードのために恒久的に修正するには、

# yum reinstall kernel.x86_64
4
Michael Hampton

古いカーネルバージョンのいずれかで起動できる場合は、update-grubを実行して問題を修正できるかどうかを確認してください。それ以外の場合は、Michaelが言ったように、実際のinitrdファイルが存在すると仮定して、手動でエントリを追加できます。

1
Unix-Ninja