Ubuntu在更新的时候,有时候会更新内核。如果你装了Grub,那么在下次重启的时候,会看到两组类似的系统选项,其中一个是老的内核(一般排在新内核选项下面)。放着倒也没事儿,但是时间长了,看着总是有点别扭。
有人说用Ubuntu-Tweak可以清除,但是我下载安装了最新的Tweak,却只能看到一个内核,也无法清除,郁闷...在有些论坛里看到,可以敲一个命令就能删除老内核,但是也有人反应这样会导致声卡失效,所以,我也没有这么做。
没办法,在/boot/grub/下面找grub运行时的列表,想去掉多余的那两项。最后,在grub.cfg下面找到了。因为当前用户只有只读权限,所以要先chmod一下:
sudo chmod u+w /boot/grub/grub.cfg
然后,用gedit打开这个config文件,找到需要去掉的两个内核,并注释掉相应的代码:
### BEGIN /etc/grub.d/10_linux ### menuentry "Ubuntu, Linux 2.6.31-15-generic" { recordfail=1 if [ -n ${have_grubenv} ]; then save_env recordfail; fi set quiet=1 insmod ext2 set root=(hd0,6) search --no-floppy --fs-uuid --set f3db37bb-46cb-49df-b3f0-334ee5cf4e5c linux /boot/vmlinuz-2.6.31-15-generic root=UUID=f3db37bb-46cb-49df-b3f0-334ee5cf4e5c ro quiet splash initrd /boot/initrd.img-2.6.31-15-generic } menuentry "Ubuntu, Linux 2.6.31-15-generic (recovery mode)" { recordfail=1 if [ -n ${have_grubenv} ]; then save_env recordfail; fi insmod ext2 set root=(hd0,6) search --no-floppy --fs-uuid --set f3db37bb-46cb-49df-b3f0-334ee5cf4e5c linux /boot/vmlinuz-2.6.31-15-generic root=UUID=f3db37bb-46cb-49df-b3f0-334ee5cf4e5c ro single initrd /boot/initrd.img-2.6.31-15-generic } #menuentry "Ubuntu, Linux 2.6.31-14-generic" { # recordfail=1 # if [ -n ${have_grubenv} ]; then save_env recordfail; fi # set quiet=1 # insmod ext2 # set root=(hd0,6) # search --no-floppy --fs-uuid --set f3db37bb-46cb-49df-b3f0-334ee5cf4e5c # linux /boot/vmlinuz-2.6.31-14-generic root=UUID=f3db37bb-46cb-49df-b3f0-334ee5cf4e5c ro quiet splash # initrd /boot/initrd.img-2.6.31-14-generic #} #menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" { # recordfail=1 # if [ -n ${have_grubenv} ]; then save_env recordfail; fi # insmod ext2 # set root=(hd0,6) # search --no-floppy --fs-uuid --set f3db37bb-46cb-49df-b3f0-334ee5cf4e5c # linux /boot/vmlinuz-2.6.31-14-generic root=UUID=f3db37bb-46cb-49df-b3f0-334ee5cf4e5c ro single # initrd /boot/initrd.img-2.6.31-14-generic #} ### END /etc/grub.d/10_linux ###
然后,重启,多余的选项就消失了。这种办法也只是不让多余选项出现,并没有真正删除多余的内核。虽然,没有从根本上解决问题,但是也是相对安全的办法。最后,别忘了,把grub.cfg的只读权限改回来。