Ubuntu9.10 grub2 新内核

来源:互联网 发布:销售数据分析报告ppt 编辑:程序博客网 时间:2024/06/05 21:10

如何替换Ubuntu新内核

特别指出的,Ubuntu 9.10新手请勿替换新内核,否则操作出错,无法进入Ubuntu系统!!!

打开终端,并输入如下命令:

$more /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
saved_entry=${prev_saved_entry}
save_env saved_entry
prev_saved_entry=
save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,9)
search --no-floppy --fs-uuid --set f46f56ce-0fb5-448b-a734-1ddf8708fc72
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-19-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,8)
search --no-floppy --fs-uuid --set 7b7a825a-8653-42b0-bf7b-6373c87ddb44
linux    /vmlinuz-2.6.31-19-generic root=UUID=f46f56ce-0fb5-448b-a734-1dd
f8708fc72 ro   quiet splash
initrd    /initrd.img-2.6.31-19-generic
}
menuentry "Ubuntu, Linux 2.6.31-19-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,8)
search --no-floppy --fs-uuid --set 7b7a825a-8653-42b0-bf7b-6373c87ddb44
linux    /vmlinuz-2.6.31-19-generic root=UUID=f46f56ce-0fb5-448b-a734-1ddf8708fc72 ro single 
initrd    /initrd.img-2.6.31-19-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16    /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16    /memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
insmod ntfs
set root=(hd0,1)
search --no-floppy --fs-uuid --set e42816b2281683a8
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

上述的grub.cfg为Ubuntu 9.10中的Grub程序启动配置文件,其中以“#”起始的行为注释行,紫色字体为Grub中的启动标签,红色字体为Linux内核。若您运行更新管理器,下载了新内核,如何替换这个新内核?

您所需的操作非常简单,只需将上述grub.cfg中红色字体部分换成新内核即可。具体操作如下所示:

1.先备份(默之认为备份是个好习惯)grub.cfg文件,以防万一替换新内核后无法进入系统(操作失误--对于这个,默之做了一个自启动U盘,以防替换后无法进入系统之用,用来修复系统。):
$sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg_bak

2.给grub.cfg文件赋予可编辑权限(默认情况下,这个文件是只读文件):
$sudo chmod a+w /boot/grub/grub.cfg

3.编辑并替换新内核:
$sudo gedit /boot/grub/grub.cfg

以笔者最近的一次更新内核为例:
原来内核的版本号为2.6.31-19,替换后的内核版本号为2.6.31-20,只需要将上述grub.cfg文件中紫色字体和红色字体部分的版本号替换成新版本号2.6.31-20。

编辑完毕后保存,并还原文件访问权限,删除临时文件:
$sudo chmod a-w /boot/grub/grub.cfg
$sudo rm -f /boot/grub/grub.vfg~

上述操作无误后,重启电脑。

此外,删除系统旧内核操作如下:
$ uname -a  # 查看系统当前内核信息
$ sudo apt-get remove linux-image-2.6.31-19-generic  # 删除旧内核
$ sudo update-grub #更新 grub

ps:上述方法适合Ubuntu 9.10系统,而Ubunt 9.04系统用的是menu.lst文件,操作方法类似。
0 0