Назад | Перейти на главную страницу

Новое ядро ​​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, но не в параметрах загрузки выскочки. Есть идеи, почему?

В журнале обновлений написано:

---> 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

Обнаружил проблему ... По-видимому, 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

Вам необходимо перезагрузить Linux, чтобы новое ядро ​​стало активным.

Если вы заметили, недавно установленное ядро ​​версии 2.6.32-431.23.3.el6.x86_64 установлено по умолчанию в конфигурации grub (по умолчанию = 0)

Ты проверить что вы запускали перезагрузку системы после обновлений?


  • Можете ли вы проверить свободное место в / boot?
  • Вы можете запустить yum переустановку пакетов ядра, чтобы убедиться, что все установлено правильно.
  • Если вы ДЕЙСТВИТЕЛЬНО перезагружаетесь, посмотрите, что появляется в меню GRUB после системной последовательности POST.

Убедитесь, что вы не включили прямая загрузка ядра для загрузки ядра извне виртуальной машины.

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 все виртуальные машины через прямую загрузку ядра, и в таких случаях не обойтись.