今朝サーバーを更新し、ブート中に最新のカーネルパニックが発生しました。 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の再構築
すべてのリスクを完全に理解しているわけではありませんが、これは試すことをお勧めしますか?これは本番サーバーであり、完全に停止したくありません。 :)
initrd
を自分で追加し直すことができます。
initrd /initramfs-2.6.32-431.20.3.el6.x86_64.img
/boot
ディレクトリを作成し、実際に存在することを確認します。
将来のアップグレードのために恒久的に修正するには、
# yum reinstall kernel.x86_64
古いカーネルバージョンのいずれかで起動できる場合は、update-grub
を実行して問題を修正できるかどうかを確認してください。それ以外の場合は、Michaelが言ったように、実際のinitrdファイルが存在すると仮定して、手動でエントリを追加できます。