Ubuntu 10.04 lucidでのカーネルの手動更新

/bootを見たらやたらカーネルがころがっているわりに

/boot$ ls                                                                                        
System.map-2.6.32-22-server  config-2.6.32-24-server      initrd.img-2.6.32-24-server  vmlinuz-2.6.32-25-server
System.map-2.6.32-24-server  config-2.6.32-25-server      initrd.img-2.6.32-25-server  vmlinuz-2.6.32-26-server
System.map-2.6.32-25-server  config-2.6.32-26-server      initrd.img-2.6.32-26-server  vmlinuz-2.6.32-27-server
System.map-2.6.32-26-server  config-2.6.32-27-server      initrd.img-2.6.32-27-server  vmlinuz-2.6.32-28-server
System.map-2.6.32-27-server  config-2.6.32-28-server      initrd.img-2.6.32-28-server  vmlinuz-2.6.32-29-server
System.map-2.6.32-28-server  config-2.6.32-29-server      initrd.img-2.6.32-29-server  vmlinuz-2.6.32-30-server
System.map-2.6.32-29-server  config-2.6.32-30-server      initrd.img-2.6.32-30-server  vmlinuz-2.6.32-31-server
System.map-2.6.32-30-server  config-2.6.32-31-server      initrd.img-2.6.32-31-server  vmlinuz-2.6.32-32-server
System.map-2.6.32-31-server  config-2.6.32-32-server      initrd.img-2.6.32-32-server
System.map-2.6.32-32-server  grub                         vmlinuz-2.6.32-22-server
config-2.6.32-22-server      initrd.img-2.6.32-22-server  vmlinuz-2.6.32-24-server

使用しているカーネルはuname -aで見ると2.6.32-22-serverだったりしたので更新してみた。
/boot/grub/menu.lstを編集するだけで良いみたいですね。

/boot/grub# diff -u menu.lst.20110617 menu.lst
--- menu.lst.20110617   2011-06-17 11:47:37.000000000 +0900
+++ menu.lst    2011-06-17 11:48:05.000000000 +0900
@@ -3,5 +3,5 @@
 
 title           Debian/Ubuntu
 root            (hd0,0)
-kernel          /boot/vmlinuz-2.6.32-22-server root=/dev/xvda1 ro
-initrd          /boot/initrd.img-2.6.32-22-server
+kernel          /boot/vmlinuz-2.6.32-32-server root=/dev/xvda1 ro
+initrd          /boot/initrd.img-2.6.32-32-server

あとはいらないカーネルをapt-get purge linux-image-2.6.32-31-virtualなどとして削除する。
ほいほい削除して一つ前のを削除してしまうとシンボリックリンクが切れてしまって
警告される。

linux-image-2.6.32-31-virtual を削除しています ...
The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old 
 
The link /initrd.img.old is a damaged link
Removing symbolic link initrd.img.old 
 you may need to re-run your boot loader[grub]

あとはupdate-grubで更新すれば良い。

/boot# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-32-server
Found initrd image: /boot/initrd.img-2.6.32-32-server
Found linux image: /boot/vmlinuz-2.6.32-22-server
Found initrd image: /boot/initrd.img-2.6.32-22-server
done

これで、/bootもすっきり。