grub.conf faltando o caminho initrd após a atualização do kernel

2

Eu atualizei um servidor esta manhã e o kernel mais recente entrou em pane durante a inicialização. Após a revisão do arquivo grub.conf, descobri que o caminho initrd estava faltando. Existe uma maneira de corrigir esse problema? Ou devo remover a entrada de kernel mais recente do grub.conf e inicializar a partir do kernel anterior (testado funcionando)?

arquivo 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

Eu encontrei este link explicando como reconstruir o arquivo init. Rebuild Initrd

Não compreendendo totalmente todos os riscos, seria uma boa ideia tentar? Este é um servidor de produção e não quero derrubá-lo completamente. :)

    
por prodigerati 03.07.2014 / 18:09

2 respostas

2

Você pode adicionar o initrd novamente em si mesmo.

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

Você deve verificar seu diretório /boot e garantir que ele esteja realmente presente.

Para corrigi-lo permanentemente para futuras atualizações, execute

# yum reinstall kernel.x86_64
    
por 03.07.2014 / 18:19
0

Se você puder inicializar em uma das versões antigas do kernel, veja se você pode executar update-grub para corrigir o problema. Caso contrário, como Michael disse, você pode simplesmente adicionar a entrada manualmente, supondo que o arquivo initrd real exista.

    
por 03.07.2014 / 18:26