Problema

En un sistema con la partición “/boot” separada, cuando /boot está corrupta o se formateó erroneamente, no se puede bootear el sistema, pero no queremos reinstalar todo el sistema por completo.

Resolución

Reinstalar la partición /boot manualmente siguiendo los siguientes pasos:

1. Bootear el sistema en modo rescate:

Insertamos el CD #1 o el DVD de Fedora y booteamos el sistema. En el prompt de booteo, tipeamos “linux rescue”. Ésto ejecutará el programa modo rescate.

El sistema preguntará por el lenguaje y teclado. Entramos los valores como si fueramos a instalar el sistema.

Seguidamente, una pantalla aparecerá diciendonos va a intentar encontrar una instalación de Fedora para rescatar. Seleccionamos “Continuar” en esta pantalla.

En el prompt “sh-3.1″, hacemos un chroot a /mnt/sysimage:

# chroot /mnt/sysimage

2. Nos aseguramos que la partición /boot tenga el mismo label que en /etc/fstab. (Asumiendo que la partición boot es /dev/sda1):

# e2label /dev/sda1 /boot

3. Nos aseguramos que /boot esté montada:

# mount /dev/sda1 /boot

4. Montamos el CD/DVD e instalamos los siguientes rpms:

# mkdir /mnt/iso
# mount -o loop,ro /dev/hdc /mnt/iso
# cd /mnt/iso/Server
# rpm -Uvh --replacefiles --replacepkgs grub-0.97-60.fc12.i686.rpm
# rpm -Uvh --replacefiles --replacepkgs fedora-logos-12.0.3-2.fc12.noarch.rpm
# rpm -ivh --replacefiles --replacepkgs kernel-PAE-2.6.31.5-127.fc12.i686.rpm

5. Instalamos GRUB:

# grub-install /dev/sda

6. Si /boot/grub/grub.conf no está, tendremos que crearlo manualmente. El siguiente es un ejemplo de grub.conf, nos aseguramos de que “vmlinuz-2.6.31.5-127.fc12.i686.PAE” e “initramfs-2.6.31.5-127.fc12.i686.PAE.img” existan en el directorio /boot.

default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu

title Fedora (2.6.31.5-127.fc12.i686.PAE)
    root (hd0,0)
    kernel /vmlinuz-2.6.31.5-127.fc12.i686.PAE ro root=/dev/mapper/vg_fedora0002-LogVolRoot  LANG=es_ES.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=es rhgb quiet
    initrd /initramfs-2.6.31.5-127.fc12.i686.PAE.img

7. Creamos un enlace simbólico a grub.conf:

# cd /boot/grub
# ln -s grub.conf menu.lst

Ahora podemos reiniciar el sistema.

Basado en: http://kbase.redhat.com/faq/docs/DOC-22213