CentOS 6.5 新内核在重启后不活跃

CentOS 6.5 新内核在重启后不活跃

今天我运行了一些 yum 更新,想通过确保我有一个新的内核来验证一切是否顺利。令我惊讶的是,我注意到 CentOS 仍在运行 2.6.32-431.5.1.el6.x86_64,尽管看起来好像安装了 2.6.32-431.23.3.el6。

确实 2.6.32-431.23.3.el6 出现在 /etc/grub.conf 中,但没有出现在 upstart 启动选项中。知道为什么吗?

更新日志中写道:

---> Package kernel-firmware.noarch 0:2.6.32-431.5.1.el6 will be updated
---> Package kernel-firmware.noarch 0:2.6.32-431.23.3.el6 will be an update

会不会是这个原因?“将会更新”是什么意思?

我的 /etc/grub.conf:

# grub.conf generated by anaconda
#
# 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/mapper/VolGroup00-root
#          initrd /initrd-[generic-]version.img
#boot=/dev/vda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
password --encrypted $1$auui(i$sODM4ni/Zts9IlMWu.wWF/
title CentOS (2.6.32-431.23.3.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-431.23.3.el6.x86_64 ro root=/dev/mapper/VolGroup00-root rd_NO_LUKS LANG=en_US.UTF-8  KEYBOARDTYPE=pc KEYTABLE=sv-latin1 rd_NO_MD rd_LVM_LV=VolGroup00/swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup00/root rd_NO_DM rhgb quiet rhgb quiet audit=1
    initrd /initramfs-2.6.32-431.23.3.el6.x86_64.img
title CentOS (2.6.32-431.5.1.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-431.5.1.el6.x86_64 ro root=/dev/mapper/VolGroup00-root rd_NO_LUKS LANG=en_US.UTF-8  KEYBOARDTYPE=pc KEYTABLE=sv-latin1 rd_NO_MD rd_LVM_LV=VolGroup00/swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup00/root rd_NO_DM rhgb quiet rhgb quiet audit=1
    initrd /initramfs-2.6.32-431.5.1.el6.x86_64.img
title CentOS (2.6.32-431.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup00-root rd_NO_LUKS LANG=en_US.UTF-8  KEYBOARDTYPE=pc KEYTABLE=sv-latin1 rd_NO_MD rd_LVM_LV=VolGroup00/swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup00/root rd_NO_DM rhgb quiet rhgb quiet audit=1
    initrd /initramfs-2.6.32-431.el6.x86_64.img

答案1

发现问题了... 显然 CentOS 6 没有正确同步 /etc/grub.conf 和 /boot/grub/grub.conf,所以 /boot/grub/grub.conf 在启动过程中被读取。修复方法:

rm /boot/grub/grub.conf
mv /etc/grub.conf /boot/grub/ 
ln -s /boot/grub/grub.conf /etc/grub.conf

答案2

您必须重新启动 Linux 才能使新内核生效。

如果您注意到,新安装的内核版本 2.6.32-431.23.3.el6.x86_64 在 grub 配置中被设置为默认值(默认值 = 0)

你是否核实更新后您是否重新启动了系统?


  • 您能检查一下 /boot 中的可用空间吗?
  • 您可以运行内核包的 yum reinstall 以确保一切都正确安装。
  • 如果您确实重新启动,请查看系统 POST 序列后 GRUB 菜单中显示的内容。

答案3

确保您没有启用直接内核启动从虚拟机外部启动内核。

在 virt-manager 中直接启动内核

直接内核启动 XML 如下所示:

  <os>
    <kernel>/var/lib/libvirt/images/vmlinuz-3.15.8-200.fc20.armv7hl</kernel>
    <initrd>/var/lib/libvirt/images/initramfs-3.15.8-200.fc20.armv7hl.img</initrd>
    <cmdline>console=ttyAMA0,115200n8 rw root=/dev/mapper/armv9-root rootwait</cmdline>
    <dtb>/var/lib/libvirt/images/vexpress-v2p-ca9.dtb</dtb>
  </os>

一些提供商,例如 Digital Ocean boot全部通过直接内核启动来启动虚拟机,在这种情况下没有办法解决这个问题。

相关内容