Una situación en la que el sistema no tiene kernel desde el que arrancar, tal vez porque todos los kernel se eliminaron del sistema o debido a una corrupción, se requiere la instalación del kernel desde el modo de rescate. Todavía puede instalar un nuevo kernel desde el modo de rescate y hacer que el sistema vuelva a funcionar.
Iniciando en modo de rescate
Inicie el sistema usando el DVD de instalación o ISO y entre en el modo de rescate. Siga los pasos a continuación para obtener instrucciones detalladas sobre cómo iniciar el modo de rescate.
1. Adjunte la imagen ISO
Puede usar un DVD de instalación real en lugar de una imagen ISO, pero me resulta fácil usar una imagen ISO y no es necesario ir al centro de datos para insertar físicamente el DVD en el sistema. Las diferentes plataformas de virtualización tienen características similares para adjuntar/montar la imagen ISO en una máquina virtual invitada. Asegúrese de cambiar el orden de inicio para iniciar desde la imagen ISO.
2. Arrancar el sistema
Inicie el sistema CentOS 7 desde la imagen ISO. En la pantalla de inicio, seleccione la opción de solución de problemas al final de la pantalla.
3. En la siguiente pantalla, seleccione la opción Rescate a CentOS Linux system .
4. En la siguiente pantalla, presione enter para continuar. Cuando se le pregunte si desea que Rescue encuentre su instalación, seleccione Continuar.
Si tiene problemas para detectar su instalación, vuelva a intentar usar la opción Omitir y detecte y monte manualmente su almacenamiento. Recibirá un mensaje que se muestra en la imagen a continuación si el modo de rescate ha detectado la instalación correcta.
Ahora omitimos el paso de chroot aquí porque no queremos ingresar al entorno raíz.
Instalando el núcleo
1. Lo siguiente es instalar el kernel apropiado para su sistema instalado. Es importante tener los mismos medios de instalación que la versión del sistema instalado. Instale el kernel usando el comando rpm en el entorno raíz /mnt/sysimage.
# cd /mnt/install/repo/Packages # rpm -ivh --root=/mnt/sysimage kernel-3.10.0-514.el7.x86_64
# chroot /mnt/sysimage # grub2-mkconfig -o /boot/grub2/grub.cfg
ls -lrt /boot/vmlinuz-* -rwxr-xr-x. 1 root root 5392080 Nov 22 2016 /boot/vmlinuz-3.10.0-514.el7.x86_64 -rwxr-xr-x. 1 root root 5392080 Oct 1 12:44 /boot/vmlinuz-0-rescue-4bd23218ddab41e587bdd39ae2cfc09a
# cat /boot/grub2/grub.cfg ..... menuentry 'CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-7efe94a2-10ec-40e4-8d89-a52faf13535e' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' f88bd588-6f4d-4050-bd3f-443cf2049ee7 else search --no-floppy --fs-uuid --set=root f88bd588-6f4d-4050-bd3f-443cf2049ee7 fi linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=en_US.UTF-8 initrd16 /initramfs-3.10.0-514.el7.x86_64.img } .....
Cree el archivo /.autorelabel para volver a etiquetar los sistemas de archivos, durante el próximo reinicio, en caso de que esté utilizando SELinux:
# touch /.autorelabel
Ahora puede salir del entorno chroot y reiniciar el sistema.