Cómo usar GRUB Rescue para arreglar Linux


Jordan Gloor / Instructores Geek

Si sus shells GRUB muestran un aviso «grub>», puede usar el ls, set, linuxy initrd Comandos para reparar su sistema Linux. Si, en cambio, ve un mensaje de «rescate de grub>», use set, insmod, linuxy initrd Comandos para arrancar tu PC.

Si su computadora Linux no puede iniciarse en su sistema operativo, es probable que se encuentre frente a un mensaje en el shell de GRUB. Siga estos pasos para reparar sus procesos de arranque dañados.

Cuando su gestor de arranque no arranca

Hay muy pocos problemas informáticos que hagan que su corazón se hunda tan profunda y rápidamente como la falta de arranque. Sin un sistema operativo que funcione, su computadora no es realmente una computadora.

Puede ser un problema muy opaco, sin una manera fácil de profundizar en la causa raíz. Sin acceso a Linux, no puede usar ninguna de las herramientas y procesos de diagnóstico habituales que usaría para investigar el problema. Y sin determinar cuál es el problema, ¿cómo puede solucionarlo?

En Linux, GRUB es el software que controla el proceso de arranque. Si tiene varios sistemas operativos instalados, le permite elegir el que desea iniciar.

GRUB está controlado por su configuración. También se basa en otros archivos de soporte para realizar sus funciones. Si alguno de estos falta o se corrompe, GRUB no funcionará. Los cambios en los discos duros y las particiones de su computadora deben reflejarse en la configuración de GRUB. Si este no es el caso, las instrucciones de GRUB no tendrán sentido y su proceso de arranque no funcionará.

Como nota al margen, lo que todos llamamos GRUB es en realidad GRUB 2. Esta es una versión avanzada de GRUB que se lanzó en 2012. Entre otros cambios, cambió la forma en que se creó el archivo «grub.cfg» y le permitió arranque desde medios extraíbles.

Si GRUB no puede cargar un sistema operativo, se quedará mirando un aviso en el shell de GRUB. Este es un entorno minimalista que te permitirá realizar un puñado de acciones. Sin embargo, si se realizan correctamente, estos pasos pueden resucitar su computadora.

Hay dos shells GRUB diferentes. Dependiendo de la causa raíz del problema, es posible que se encuentre en un indicador de shell de GRUB:

grub>

o en un GRUB rescate indicador de shell:

grub rescue>

El shell de rescate de GRUB es aún más restringido que el shell de GRUB, pero aún así tiene suficiente potencia para que su computadora arranque. Una vez que su computadora haya arrancado, estará en una posición mucho mejor para curar la causa raíz.

Uso de la consola GRUB

El shell de GRUB es una interfaz de línea de comandos que le permite usar un pequeño subconjunto de comandos de Linux. Si se encuentra aquí en lugar de en su pantalla de inicio de sesión habitual, significa que su proceso de arranque está en mal estado.

El indicador de shell de GRUB

Los comandos a los que tiene acceso no son los mismos que en las versiones habituales de Linux. Por ejemplo, el shell de GRUB ls el comando no es el Bash ls dominio. Tiene muy poco en común con él. Esto lo podemos ver usando el --help opción.

ls --help

Uso de la opción --help con la versión de shell de GRUB de ls

Enumera solo cinco opciones. Eso está muy lejos de las docenas de opciones admitidas por ls en bash. Sin embargo, incluso con nuestra paleta de comandos algo silenciada, aún podemos rectificar la situación.

En el indicador, escriba ls y presione «Entrar».

ls

El resultado de la versión de shell de GRUB de ls, que muestra unidades y particiones

En esta computadora, enumera tres elementos.

  • (hd0) es el primer disco duro.
  • (hd0,gpt1) es la primera partición en el primer disco duro.
  • (hd0, gpt2) es la segunda partición en el primer disco duro.

La etiqueta «gpt» representa la tabla de particiones GUID. Tenemos que incluir los corchetes «()” cuando hacemos referencia a una partición, pero podemos omitir la etiqueta.

Para mirar las particiones a su vez, usaremos ls.

ls (hd0,1)
ls (hd0,2)

Uso de la versión de shell de GRUB de ls para identificar la partición de Linux

Hemos encontrado que la segunda partición tiene un sistema de archivos Linux. Investigaremos un poco más al mirar el directorio raíz de esa partición.

ls (hd0,2)/

Uso de la versión de shell de GRUB de ls para examinar una partición en particular

Claramente, esta es la partición de Linux, con el directorio de arranque en ella. Aquí es donde se almacenan los archivos GRUB, las imágenes de arranque de Linux y otros archivos de arranque.

En esta computadora, necesitaremos hacer referencia a la partición (hd0,2) cuando emitimos nuestros comandos. En su computadora, usaría cualquier partición en la que encuentre su instalación de Linux.

Podemos usar el cat Comando para buscar archivos de texto agregando la ruta del directorio y el nombre del archivo al nombre de la partición, así:

cat (hd0,2)/etc/issue

Mirando la versión de Linux usando el comando cat en el shell de GRUB

En instalaciones de arranque múltiple, esta es una forma útil de verificar que está en la partición correcta. También es excelente para mirar dentro de los archivos de configuración.

Aquí, estamos usando el ls comando con el -l (largo y -h (tamaños legibles por humanos) opciones para enumerar los archivos en el directorio «/ boot».

ls -lh (hd0,2)/boot

Listado de archivos en el directorio /boot usando la versión GURB de ls

Para que esta computadora arranque, necesitamos decirle a GRUB que nuestra partición Linux recién descubierta contiene los archivos de arranque.

set root=(hd0,2)

Necesitamos especificar desde qué kernel de Linux arrancar. Esto lo hacemos con el linux dominio. Tenga en cuenta que también tenemos que proporcionar el directorio raíz utilizando el esquema habitual de nomenclatura de partición y disco duro de Linux.

linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2

En nuestra computadora de ejemplo, estamos usando (hd0) que es el primer disco duro. Se llama sda en la nomenclatura habitual de Linux. Descubrimos que la segunda partición es la partición de Linux, por lo que debemos especificar sda2.

Su máquina puede ser diferente. Por ejemplo, si su partición de Linux se informa como (hd2,1) eso significa la partición uno en el tercer disco duro, o sdc1.

También debemos especificar qué imagen del sistema de archivos basada en RAM usar cuando se inicia la computadora. Esto debe usar el mismo componente numérico que el kernel de Linux que estamos usando.

initrd /boot/initrd.img-6.2.0-20-generic

Configuración de los parámetros de arranque en el shell de GRUB

Ahora, para iniciar nuestro sistema, escriba «boot» y presione «Enter».

Esto debería iniciar su computadora en Linux. Eso nos tiene funcionando de nuevo, pero todavía tenemos que arreglar GRUB para que no tengamos que hacer esto cada vez que encendemos nuestra computadora.

vamos a correr update-grub. Esto escaneará nuestro sistema, identificará los sistemas operativos y creará una nueva configuración de GRUB. Necesitamos ejecutar esto como usuario root.

sudo update-grub

Ejecutando update-grub para reconstruir el archivo grub.cfg

En raras ocasiones, es posible que también deba reinstalar el cargador de arranque GRUB, usando grub-install.

sudo grub-install /dev/sda

Tenga en cuenta que no necesita especificar en qué partición instalar, solo en qué unidad. En instalaciones normales, es la misma unidad en la que se encuentra su Linux.

La prueba del pudín viene con el próximo reinicio. Su computadora debería reiniciarse normalmente.

RELACIONADO: Cómo configurar los ajustes del cargador de arranque GRUB2

Uso de la consola de rescate de GRUB

Dependiendo de la naturaleza del problema de arranque, es posible que no lo coloquen en el shell de GRUB. Es posible que te quedes en el GRUB rescate modo. Si ese es el caso, su aviso se verá así:

grub rescue>

Los comandos que necesitamos emitir en este shell son diferentes. necesitamos usar ls para encontrar la partición de Linux, como si estuviera usando el shell de GRUB. Una vez identificada la partición de Linux, puede continuar e ingresar estos comandos.

Recuerde usar los identificadores de unidad y los números de versión del kernel que sean correctos para su computadora. El insmod El comando carga los módulos del kernel.

set prefix=(hd0,2)/boot/grub
set root=(hd0,2)
insmod normal
insmod linux
linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2
initrd /boot/initrd.img-6.2.0-20-generic

Configuración de los parámetros de arranque en el shell de rescate de GRUB

Luego puede escribir «arranque» y presionar «Entrar» para reiniciar su computadora. Una vez que se haya reiniciado y haya iniciado sesión, actualice GRUB con el update-grub dominio.

Otros posibles remedios

Si el problema resulta que faltan archivos de arranque, como los archivos «vmlinuz» e «initrd.img», puede arrancar su computadora desde un Live DVD o una unidad flash USB de arranque de Linux y copiar los archivos faltantes en su lugar.

Tenga en cuenta que los archivos «vmlinuz» e «initrd.img» debe tienen los mismos números de versión porque funcionan como un par coincidente.

RELACIONADO: Cómo crear un Linux Live USB de arranque en tu Mac





Source link-39