kernel RPM 软件包配置引导装载程序来引导刚刚安装的内核(除了 IBM eServer iSeries 系统以外),但是它并不配置引导装载程序默认引导新内核。
确认一下引导装载程序已被配置成引导新内核总是值得提倡的。这是至关重要的一步。如果引导装载程序被配置得不正确,系统就不会正确引导红帽企业 Linux。若这种情况发生了,使用你从前创建的引导盘来引导你的系统,然后再试图配置你的引导装载程序。
x86 系统可以使用 GRUB 或 LILO 作为引导装载程序。只有一个例外 — AMD64 系统不能使用 LILO。所有 x86 系统的默认引导装载程序都是 GRUB。
如果你选择了 GRUB 作为引导装载程序,请确认 /boot/grub/grub.conf 文件中包含的 title 部分与你刚刚安装的 kernel 软件包的版本相同(如果你安装了 kernel-smp 或 kernel-bigmem 软件包,它们也会有各自的部分):
# Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/hda2 # initrd /initrd-version.img #boot=/dev/hda default=1 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title 红帽企业 Linux (2.4.21-1.1931.2.399.ent) root (hd0,0) kernel /vmlinuz-2.4.21-1.1931.2.399.ent ro root=LABEL=/ initrd /initrd-2.4.21-1.1931.2.399.ent.img title 红帽企业 Linux (2.4.20-2.30.ent) root (hd0,0) kernel /vmlinuz-2.4.20-2.30.ent ro root=LABEL=/ initrd /initrd-2.4.20-2.30.ent.img |
如果你创建了单独的 /boot/ 分区,到内核与 initrd 映像的路径是相对于 /boot/ 分区而言的。
注意,默认引导项目没有被设置为新内核。要配置 GRUB 来默认引导新内核,把 default 变量的值改成包含新内核的 title 部分的号码。这个号码从 0 开始。例如,如果新内核是第一个 title 部分,把 default 设置为 0。
你可以重新引导计算机来开始测试这个新内核,观察屏幕上的消息来确保硬件被正确地检测到了。
如果你选择了 LILO 作为引导装载程序,请确认 /etc/lilo.conf 文件中包含的 image 部分与你刚刚安装的 kernel 软件包的版本相同(如果你安装了 kernel-smp 或 kernel-bigmem 软件包,它们也会有各自的部分):
注意,默认引导项目没有被设置为新内核。要配置 LILO 来默认引导新内核,把 default 变量的值改成包含新内核的 image 部分中的 label 的值。以根用户身份运行 /sbin/lilo 命令来启用改变。运行后,其输出会与如下相似:
Added 2.4.21-1.1931.2.399.ent * Added linux |
2.4.21-1.1931.2.399.ent 后面的 * 意味着那部分中的内核是 LILO 会默认引导的内核。
你可以重新引导计算机来开始测试这个新内核,观察屏幕上的消息来确保硬件被正确地检测到了。
Itanium 系统使用 ELILO 作为引导装载程序,该程序使用 /boot/efi/EFI/redhat/elilo.conf 作为配置文件。请确认该文件中包含的 image 部分与你刚刚安装的 kernel 软件包的版本相同:
prompt timeout=50 default=old image=vmlinuz-2.4.21-1.1931.2.399.ent label=linux initrd=initrd-2.4.21-1.1931.2.399.ent.img read-only append="root=LABEL=/" image=vmlinuz-2.4.20-2.30.ent label=old initrd=initrd-2.4.20-2.30.ent.img read-only append="root=LABEL=/" |
注意,默认引导项目没有被设置为新内核。要配置 ELILO 来默认引导新内核,把 default 变量的值改成包含新内核的 image 部分中的 label 的值。
你可以重新引导计算机来开始测试这个新内核,观察屏幕上的消息来确保硬件被正确地检测到了。
IBM S/390 和 IBM eServer zSeries 系统使用 z/IPL 作为引导装载程序。该程序使用 /etc/zipl.conf 作为配置文件。请确认该文件中包含一个带有和刚安装的内核版本相同的版本部分:
[defaultboot] default=old target=/boot/ [linux] image=/boot/vmlinuz-2.4.21-1.1931.2.399.ent ramdisk=/boot/initrd-2.4.21-1.1931.2.399.ent.img parameters="root=LABEL=/" [old] image=/boot/vmlinuz-2.4.20-2.30.ent ramdisk=/boot/initrd-2.4.20-2.30.ent.img parameters="root=LABEL=/" |
注意,默认引导项目没有被设置为新内核。要配置 z/IPL 来默认引导新内核,把 default 变量的值改成包含新内核部分的名称。每个部分的第一行在括号内包含名称。
修改了配置文件后,作为根用户运行以下命令来启用改变:
/sbin/zipl |
你可以重新引导计算机来开始测试这个新内核,观察屏幕上的消息来确保硬件被正确地检测到了。
/boot/vmlinitrd-<kernel-version> 文件在你升级内核的时候被安装。不过,你必须使用 dd 命令配置系统来引导新内核:
作为根用户,使用 cat /proc/iSeries/mf/side 命令来判定默认的边(A、B、或 C)。
作为根用户,使用以下命令(这里的 <kernel-version> 是新内核的版本,<side> 是前一个命令返回的边):
dd if=/boot/vmlinitrd-<kernel-version> of=/proc/iSeries/mf/<side>/vmlinux bs=8k |
你可以重新引导计算机来开始测试这个新内核,观察屏幕上的消息来确保硬件被正确地检测到了。
IBM eServer pSeries 系统使用 YABOOT 作为引导装载程序,该程序使用 /etc/aboot.conf 作为配置文件。请确认该文件包含的 image 部分和刚刚安装的 kernel 软件包是同一版本:
boot=/dev/sda1 init-message=Welcome to 红帽企业 Linux! Hit <TAB> for boot options partition=2 timeout=30 install=/usr/lib/yaboot/yaboot delay=10 nonvram image=/vmlinux--2.4.20-2.30.ent label=old read-only initrd=/initrd--2.4.20-2.30.ent.img append="root=LABEL=/" image=/vmlinux-2.4.21-1.1931.2.399.ent label=linux read-only initrd=/initrd-2.4.21-1.1931.2.399.ent.img append="root=LABEL=/" |
注意,默认引导项目没有被设置为新内核。在第一个映像中的内核被默认引导。要把默认引导的内核该成新内核,把新内核的映像实例移到列表首位,或添加一个 default 指令,并把这个指令设置 为包含新内核的映像实例的 label。
你可以重新引导计算机来开始测试这个新内核,观察屏幕上的消息来确保硬件被正确地检测到了。