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

grub.conf отсутствует путь initrd после обновления ядра

Я обновил сервер сегодня утром, и последнее ядро ​​паникает во время загрузки. При просмотре файла grub.conf я обнаружил, что путь initrd отсутствует. Есть ли способ решить эту проблему? Или мне следует удалить самую последнюю запись о ядре из grub.conf и загрузиться с предыдущего ядра (проверено, работает)?

файл 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/vg_spots-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/vda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-431.20.3.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-431.20.3.el6.x86_64 ro root=/dev/mapper/vg_spots-lv_root rd_LVM_LV=vg_spots/lv_root rd_LVM_LV=vg_spots/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
title CentOS (2.6.32-358.14.1.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-358.14.1.el6.x86_64 ro root=/dev/mapper/vg_spots-lv_root rd_LVM_LV=vg_spots/lv_root rd_LVM_LV=vg_spots/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
    initrd /initramfs-2.6.32-358.14.1.el6.x86_64.img

Я нашел эту ссылку, объясняющую, как пересобрать файл инициализации. Восстановить Initrd

Не совсем понимая все риски, стоит ли попробовать? Это рабочий сервер, и я не хочу его полностью отключать. :)

Вы можете просто добавить initrd обратно в себя.

initrd /initramfs-2.6.32-431.20.3.el6.x86_64.img

Вы должны проверить свой /boot каталог и убедитесь, что он действительно присутствует.

Чтобы исправить это навсегда для будущих обновлений, запустите

# yum reinstall kernel.x86_64

Если вы можете загрузиться в одну из более старых версий ядра, посмотрите, сможете ли вы запустить update-grub чтобы исправить проблему. В противном случае, как сказал Майкл, вы можете просто добавить запись вручную, предполагая, что фактический файл initrd существует.