怎样修改LILO(lilo.conf)来引导新的内核?
解决方法:

为使系统从一个新的内核引导,需要为启动引导增加新的内核引导项。如果用LILO, 配置文件为/etc/lilo.conf。 以下为lilo.conf文 件实例:

prompt 
timeout=50 
default=linuxASe25 
boot=/dev/hda 
map=/boot/map 
install=/boot/boot.b 
message=/boot/message 
lba32 
image=/boot/vmlinuz-2.4.9-e.25 
label=linuxASe25 
initrd=/boot/initrd-2.4.9-e.25.img 
read-only 
root=/dev/hda2 

要增加2.4.9-e.27内 核引导项,需要作一些修改。首先添加一个引导项来定义kenel image、label、root和其他附加选项,其中最简单的方法是复制从image到root的5行, 修 改vmlinuz文 件名,initrd文件名和标注。

prompt 
timeout=50 
default=linuxASe25 
boot=/dev/hda  
map=/boot/map 
install=/boot/boot.b 
message=/boot/message 
lba32 
image=/boot/vmlinuz-2.4.9-e.25 
label=linuxASe25 
initrd=/boot/initrd-2.4.9-e.25.img 
read-only 
root=/dev/hda2 
image=/boot/vmlinuz-2.4.9-e.27 
label=linuxASe27 
initrd=/boot/initrd-2.4.9-e.27.img 
read-only 
root=/dev/hda2 

最新内核的引导项修改成功之后,需要将从前的默认引导内核更改为新安装的内核.这只需修改default=行即可.例 如将default=linuxASe25 更改为 default=linuxASe27。 如下:

prompt 
timeout=50 
default=linuxASe27 
boot=/dev/hda 
map=/boot/map 
install=/boot/boot.b 
message=/boot/message 
lba32 
image=/boot/vmlinuz-2.4.9-e.25 
label=linuxASe25 
initrd=/boot/initrd-2.4.9-e.25.img 
read-only 
root=/dev/hda2 
image=/boot/vmlinuz-2.4.9-e.27 
label=linuxASe27 
initrd=/boot/initrd-2.4.9-e.27.img 
read-only 
root=/dev/hda2 

将更改保存在lilo.conf文件中。最后一步是运行lilo进 行安装新的引导装载程序,先运行 lilo -t,进行测试,然后再运行lilo -v完 成整个任务.

# lilo -t 
Added linuxASe25 
Added linuxASe27 * 

引导扇区和映射文件没有被更改。

# lilo -v 
LILO version 21.4-4, Copyright (C) 1992-1998 Werner Almesberger 
'lba32' extensions Copyright (C) 1999,2000 John Coffman 
Reading boot sector from /dev/hda
Merging with /boot/boot.b 
Mapping message file /boot/message 
Boot image: /boot/vmlinuz-2.4.9-e.25 
Mapping RAM disk /boot/initrd-2.4.9-e.25.img 
Added linuxASe25 
Backup copy of boot sector in /boot/boot.0300 
Writing boot sector. 
  • 表示重新启动系统后linuxASe27内核即为默认的内核。