以前、カーネルのアップデート(2.6.32-71.29.1 → 2.6.32-220.4.2)を試したのですがブートできなくなってしまい、それ以降はできないものと思っていましたが、ブートすることが出来ました。
これは、カーネルをアップデートすると、アタッチしているEBSのデバイスファイルが/dev/xvda1から/dev/xvde1に変更されていたのが問題でした。

それでは早速、アップデート方法を紹介します。

まずは、アップデート前のカーネルやOSのバージョンの確認です。

# uname -a
Linux ip-10-156-21-210 2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686 i686 i386 GNU/Linux
# cat /etc/redhat-release
CentOS Linux release 6.0 (Final)

今までは、上記のことからyumのアップデートからカーネル類を外していたのですが、今回はyum.confから、そのexclude=kernel*の記述を外し、アップデートします。

# cd /etc/
# diff yum.conf.old yum.conf
13d12
< exclude=kernel*
# yum -y update

新しいカーネルがインストールされていることがわかります。

# ls -1 /boot/
System.map-2.6.32-220.4.2.el6.i686
System.map-2.6.32-71.29.1.el6.i686
config-2.6.32-220.4.2.el6.i686
config-2.6.32-71.29.1.el6.i686
efi
grub
initramfs-2.6.32-220.4.2.el6.i686.img
initramfs-2.6.32-71.29.1.el6.i686.img
symvers-2.6.32-220.4.2.el6.i686.gz
symvers-2.6.32-71.29.1.el6.i686.gz
vmlinuz-2.6.32-220.4.2.el6.i686
vmlinuz-2.6.32-71.29.1.el6.i686

この状態でリブート後、カーネルとOSのバージョンを確認すると、OSは6.2になっていますが、カーネルはまだ2.6.32-71.29.1のままです。

# uname -a
Linux ip-10-156-21-210 2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686 i686 i386 GNU/Linux
# cat /etc/redhat-release
CentOS release 6.2 (Final)

カーネルのバージョンアップを行うには、/boot/grub/menu.lstを新しいカーネルのものに変更する必要があります。

# cd /boot/grub/
# diff menu.lst.old menu.lst
6,7c6,7
         kernel /boot/vmlinuz-2.6.32-220.4.2.el6.i686 ro root=/dev/xvde1
>         initrd /boot/initramfs-2.6.32-220.4.2.el6.i686.img

また最初に述べましたが、ルートディスクのデバイスファイルも/dev/xvda1から/dev/xvde1に変更する
必要があります。
このことから、/etc/fstabのルートデバイスの記述も同様に変更します。

# cd /etc/
# diff fstab.old fstab
1c1
 /dev/xvde1      /        ext4   defaults       1 1

この状態でリブート後、カーネルとOSのバージョンを確認すると無事カーネルもアップデートされ、
最新のCentOS 6.2になっていることがわかります。

# uname -a
Linux ip-10-153-59-73 2.6.32-220.4.2.el6.i686 #1 SMP Tue Feb 14 00:24:28 GMT 2012 i686 i686 i386 GNU/Linux
# cat /etc/redhat-release
CentOS release 6.2 (Final)

最後に、もう利用していない古いカーネルを削除します。

# yum erase kernel-2.6.32-71.29.1.el6

SUZ-LAB謹製 CentOS AMI 6.2 Comming Soon! ——– http://www.suz-lab.com

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら