そこで、AWS EC2 ベース イメージのカーネルをアップグレードyum -y update kernel
したところ、次のようになりました。
Running Transaction
Installing : kernel-2.6.32-504.3.3.el6.x86_64
grubby fatal error: unable to find a suitable template
/boot/grub/grub.conf の内容は次のとおりです。
default=0
timeout=0
hiddenmenu
title CentOS (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-358.el6.x86_64 ro root=LABEL=rootfs console=ttyS0
initrd /boot/initramfs-2.6.32-358.el6.x86_64.img
したがって、grub.conf は更新されず、kernel-2.6.32-504.1.3.el6.x86_64 が既にインストールされているため、前回カーネルを更新したときに grub も更新されませんでした。手動でカーネルを追加してみました:
grubby --grub --add-kernel="/boot/vmlinuz-2.6.32-504.3.3.el6.x86_64 ro root=LABEL=rootfs \
console=ttyS0" --title="CentOS (2.6.32-504.3.3.el6.x86_64)" \
--initrd=/boot/initramfs-2.6.32-504.3.3.el6.x86_64.img
/boot/grub/grub.conf は次のようになります。
default=0
timeout=0
hiddenmenu
title CentOS (2.6.32-504.3.3.el6.x86_64)
kernel /vmlinuz-2.6.32-504.3.3.el6.x86_64 ro root=LABEL=rootfs console=ttyS0
initrd /initramfs-2.6.32-504.3.3.el6.x86_64.img
title CentOS (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-358.el6.x86_64 ro root=LABEL=rootfs console=ttyS0
initrd /boot/initramfs-2.6.32-358.el6.x86_64.img
しかし、/vmlinuz-2.6.32-504.3.3.el6.x86_64
私が入ったカーネルではありません。だから私はそれを削除し、次のように再試行しました:
grubby --grub --add-kernel="/boot/boot/vmlinuz-2.6.32-504.3.3.el6.x86_64 ro root=LABEL=rootfs \
console=ttyS0" --title="CentOS (2.6.32-504.3.3.el6.x86_64)" \
--initrd=/boot/boot/initramfs-2.6.32-504.3.3.el6.x86_64.img
その結果、次のようになりました。
timeout=0
default=1
hiddenmenu
title CentOS (2.6.32-504.3.3.el6.x86_64)
kernel /boot/vmlinuz-2.6.32-504.3.3.el6.x86_64 ro root=LABEL=rootfs console=ttyS0 root=(hd0,0)
initrd /boot/initramfs-2.6.32-504.3.3.el6.x86_64.img
title CentOS (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-358.el6.x86_64 ro root=LABEL=rootfs console=ttyS0
initrd /boot/initramfs-2.6.32-358.el6.x86_64.img
この時点で、手動で /boot/grub/grub.conf を編集しdefault=0
て再起動しましたが、EC2 が起動しませんでした。そこで、新しいインスタンスのコピーを試みたところ、同じエラーがすべて発生したため、既存の設定を新しいエントリにコピーしました。
default=0
timeout=0
hiddenmenu
title CentOS (2.6.32-504.3.3.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-504.3.3.el6.x86_64 ro root=LABEL=rootfs console=ttyS0
initrd /boot/initramfs-2.6.32-504.3.3.el6.x86_64.img
そして再起動しましたが、再起動に失敗しました。さらに別の試みで、上記を繰り返しましたが、root=/dev/xvda3
、それも起動に失敗しました。したがって、現時点では、カーネルをアップグレードする方法はまったくありません。私は何をしますか?
更新: /boot/boot/ の内容を把握したところ、/boot/grub/grub.conf は次のようになりました。
default=0
timeout=0
hiddenmenu
title CentOS (2.6.32-504.3.3.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-504.3.3.el6.x86_64 ro root=LABEL=rootfs console=ttyS0
initrd /initramfs-2.6.32-504.3.3.el6.x86_64.img
そして、システムを正常に起動できますが、これに関する他のすべてが当てはまります。新しいカーネルをインストールしても、「汚い致命的なエラー:適切なテンプレートが見つかりません」というgrubby --default-kernel
結果になり、出力はまだありません。カーネルの更新のために /boot/grub/grub.conf を手動で編集する必要があります。