GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo usar Grub Rescue para reparar la falla de arranque de Linux

Introducción

GRUB (Grand Unified Bootloader) es una herramienta para iniciar y cargar kernels de sistemas operativos y el cargador de arranque predeterminado para sistemas basados ​​en el kernel de Linux. Aunque se ejecuta primero cuando se enciende una máquina, los usuarios habituales rara vez ven GRUB en acción. Funciona automáticamente y no requiere intervención del usuario.

Sin embargo, al intentar arrancar otro sistema operativo junto con Linux en la misma máquina, el cargador de arranque del otro sistema puede sobrescribir GRUB, lo que hace que el sistema Linux no pueda arrancar.

Este artículo le mostrará cómo solucionar el error de arranque de Linux mediante los comandos de rescate de GRUB y la herramienta de reparación de arranque.

Requisitos previos

  • Una cuenta con privilegios de sudo.
  • Acceso a la línea de comandos.

Problemas de arranque de GRUB

La razón más común por la que GRUB no arranca en el sistema operativo es que el gestor de arranque de otro sistema operativo sobrescribe la configuración de arranque de GRUB. El problema ocurre durante un intento de arranque dual con una instalación de Linux existente. Otro motivo es la eliminación accidental de los archivos de configuración de GRUB.

Cuando GRUB no puede iniciar el sistema, aparece el aviso de GRUB Rescue.

El ejemplo anterior muestra que GRUB muestra el error "no existe tal partición" antes de mostrar el grub rescue oportuno. Otro error común de GRUB es "sistema de archivos desconocido", seguido del mismo aviso.

A veces, la pantalla puede mostrar el grub solo aviso.

Comandos de rescate de GRUB

A continuación se muestra la lista de los comandos GRUB Rescue más utilizados. Use los comandos en las indicaciones mencionadas en la sección anterior.

Reparación de fallos de arranque

Este tutorial cubre dos formas de resolver problemas de arranque de GRUB, usando el mensaje de rescate de GRUB y la herramienta de reparación de arranque .

A través de Terminal Grub

1. Utilice el comando set sin argumentos para ver las variables de entorno:

set

El resultado del ejemplo muestra que GRUB está configurado para arrancar desde (hd0,msdos3) partición:

2. El comando ls enumera las particiones disponibles en el disco.

ls

La salida muestra la lista de particiones.

Usa el ls comando para encontrar la partición que contiene el boot directorio.

ls [partition-name]

El ejemplo muestra el boot directorio en el (hd0,msdos1) partición.

3. Configure la partición de arranque como el valor de root variable. El ejemplo usa la partición llamada (hd0,msdos1) .

set root=(hd0,msdos1)

4. Cargue el normal modo de arranque.

insmod normal

5. Inicie el normal modo de arranque.

normal

Lo normal le permite emitir comandos más complejos.

6. Cargue el kernel de Linux utilizando linux dominio.

linux /boot/vmlinuz-4.2.0-16-generic root=/dev/sda1 ro

7. Ejecute el boot comando.

boot

El sistema ahora arranca correctamente.

A través de imagen en vivo

Otra forma de solucionar los problemas de arranque de GRUB es usar una imagen en vivo de Linux para arrancar desde un dispositivo externo.

1. Descargue un instalador de Linux en vivo. Este ejemplo usa la imagen ISO de Ubuntu 20.04.

2. Use una herramienta como Etcher para escribir la imagen de Linux en una tarjeta SD o una unidad flash USB.

3. Inserte el dispositivo de arranque e inicie la computadora.

4. Seleccione Probar Ubuntu en la pantalla de bienvenida.

5. Cuando se inicie el sistema en vivo, conéctese a Internet.

6. Abra la terminal y escriba el siguiente comando para agregar el repositorio para la herramienta de reparación de arranque.

sudo add-apt-repository ppa:yannubuntu/boot-repair

Pulsa Intro y espere a que se agregue el repositorio.

7. Actualice los repositorios.

sudo apt update

8. Instale la herramienta de reparación de arranque.

sudo apt install boot-repair

9. Inicie la herramienta de reparación de arranque a través de la terminal.

boot-repair

10. Seleccione Reparación recomendada .

Espere a que la herramienta termine de reparar el gestor de arranque.

Actualizando el archivo de configuración de GRUB

Cuando el sistema se inicie correctamente, asegúrese de que la configuración de GRUB esté actualizada.

Ejecute este comando:

update-grub

Reinstalar GRUB

Siga los pasos a continuación para reinstalar GRUB en su sistema Linux.

1. Monte la partición que contiene la instalación del sistema operativo. El ejemplo monta el /dev/sda1 partición al /mnt directorio.

sudo mount /dev/sda1 /mnt

2. Enlace el /dev , /dev/pts , /proc y /sys directorios a los directorios correspondientes en el /mnt carpeta.

sudo mount --bind /dev /mnt/dev &&
sudo mount --bind /dev/pts /mnt/dev/pts &&
sudo mount --bind /proc /mnt/proc &&
sudo mount --bind /sys /mnt/sys

3. Instala GRUB.

sudo grub-install -root-directory=/mnt/ /dev/sda

4. Desmonte los directorios cuando la instalación se complete correctamente.

sudo umount /mnt/sys &&
sudo umount /mnt/proc &&
sudo umount /mnt/dev/pts &&
sudo umount /mnt/dev &&
sudo umount /mnt

Ubuntu
  1. Cómo usar BusyBox en Linux

  2. Cómo uso cron en Linux

  3. ¿Cómo reparar el error de falla de autenticación de Cron en Linux?

  4. ¿Cómo arrancar en Arch Linux usando Initramfs, en Ubuntu's Grub?

  5. ¿Cómo obtener información sobre la configuración actual de Grub / Boot?

Repare las fallas de arranque de Linux en el modo de rescate de GRUB 2

Cómo usar Ubuntu GRUB Bootloader Recovery para solucionar problemas del sistema

Cómo usar el comando cd en Linux

Cómo usar un comando de archivo en Linux

Cómo usar el comando LDD en Linux

Cómo resolver:error:no existe tal rescate de grub de partición en Ubuntu Linux

    Comando Descripción Ejemplo
    boot Comenzar a arrancar (accesos directos:F10 , CTRL + x ). El comando se emite sin argumentos.
    cat Escribe el contenido de un archivo en la salida estándar. cat (hd0,1)/boot/grub/grub.cfg
    configfile Cargar un archivo de configuración. configfile (hd0,1)/boot/grub/grub.cfg
    initrd Cargue el archivo initrd.img. initrd (hd0,1)/initrd.img
    insmod Cargar un módulo. insmod (hd0,1)/boot/grub/normal.mod
    loopback Montar un archivo de imagen como dispositivo. loopback loop0 (hd0,1)/iso/image.iso
    ls Muestra el contenido de un directorio o partición. ls (hd0,1)
    lsmod Mostrar una lista de módulos cargados. El comando se emite sin argumentos.
    normal Activar el módulo normal. El comando se emite sin argumentos.
    search Buscar dispositivos. Opción --file busca archivos, --label busca etiquetas, --fs-uuid busca el UUID del sistema de archivos. search -file [filename]
    set Establecer una variable de entorno. Si se emite sin argumentos, el comando imprime la lista de todas las variables de entorno y sus valores. set [variable-name]=[value]