En algunas condiciones excepcionales, puede obtener una corrupción del cargador GRUB. Esta publicación ilustra cómo reinstalar el cargador GRUB en CentOS/RHEL 5 o 6.
¿Cómo sabes que GRUB se ha corrompido?
A continuación se muestran algunos de los síntomas que vería cuando hay un daño en el cargador GRUB.
1. El menú de GRUB no se muestra al iniciar el servidor
2. Inicie el servidor en modo de rescate usando el DVD de instalación y verifique el encabezado del disco de inicio. Si el cargador GRUB está dañado:
# file -s /dev/sda /dev/sda: x86 boot sector; partition 1: ID=0x83, active, starthead 1, startsector 63, 64998927 sectors; partition 2: ID=0x82, starthead 254, startsector 64998990, 2104515 sectors
Mientras que una buena parece:
# file -s /dev/sda /dev/sda: x86 boot sector; partition 1: ID=0x83, active, starthead 1, startsector 63, 64998927 sectors; partition 2: ID=0x82, starthead 254, startsector 64998990, 2104515 sectors, code offset 0x48
La salida puede variar de diferentes versiones, pero el punto clave es que a la primera salida le falta 'compensación de código 0x48 ', que es un indicador del código GRUB Stage 1.
Reinstalando el cargador GRUB
Supongamos que el disco de arranque es sda , el / la partición es sda2 y /boot la partición es sda1 .
1. Inicie el servidor en modo de rescate y monte el sistema de archivos automáticamente. Consulte la publicación a continuación para iniciar el servidor en modo de rescate.
CentOS / RHEL 6:Cómo iniciar en modo de rescate2. El / la partición se montaría en /mnt/sysimage automáticamente. Si no, móntelo manualmente:
# mount /dev/sda2 /mnt/sysimage
3. Monte la partición /boot y /dev manualmente para preparar el entorno chroot:
# mount /dev/sda1 /mnt/sysimage/boot # mount -o bind /dev /mnt/sysimage/dev # chroot /mnt/sysimage
4. Vuelva a instalar el cargador GRUB
# grub-install /dev/sda
Reinicie el servidor y debería poder volver a ver el menú de GRUB.
# rebootCentOS / RHEL 7:Cómo reinstalar GRUB2 desde el modo de rescate
Vuelva a instalar grub en un dispositivo de múltiples rutas
Siga los pasos a continuación cuando un servidor configurado para iniciarse desde una red de área de almacenamiento (SAN) que utiliza dispositivos de múltiples rutas requiere que se reinstale grub. Grub requiere la reinstalación cada vez que otros cargadores de arranque dañan o sobrescriben el Registro de arranque maestro (MBR) en el dispositivo de arranque. También es necesario en situaciones en las que el dispositivo de arranque cambia después de la instalación, como cuando la configuración de arranque desde SAN está habilitada después de instalar el servidor o cuando un dispositivo de arranque SAN de ruta única se reconfigura para convertirse en multirruta.
1. Inicie el servidor en modo de rescate con las rutas múltiples habilitadas usando el “mpath de rescate de Linux " opción de arranque. Para ver la configuración actual de múltiples rutas, puede ejecutar el siguiente comando desde un entorno de rescate:
# multipath -ll
2. Edite /etc/fstab para usar nombres de dispositivos de rutas múltiples (/dev/mapper/mpathX) en lugar de nombres sin formato (/dev/sdY) para montar /boot. Recomendamos usar el UUID de /boot para que la identificación del dispositivo sea más confiable.
3. Agregue el dispositivo de múltiples rutas que contiene /boot a grub e instale el cargador de arranque usando:
# grub grub> device (hd0) /dev/mapper/mpatha grub> root (hd0,0) grub> setup (hd0) grub> quit
Nota :El comando grub-install no funciona para dispositivos de rutas múltiples.
4. Vuelva a generar el ramdisk inicial consultando la publicación a continuación.
CentOS/RHEL 6:cómo reconstruir la imagen de disco ram inicialCentOS/RHEL 5:cómo reconstruir la imagen de disco ram inicial