Cuentos de la Sysadmin: Volcado en la línea de mando de Grub

Hoy tengo una historia de misterio, de horror y de esperanza. El encanto de un nuevo núcleo y paquetes era demasiado para resistirse, así que me encontré actualizando a Fedora 30. Todos los paquetes se habían descargado, todo lo que quedaba era dejar que DNF reiniciara la máquina e instalara todos los nuevos paquetes. Empecé el proceso y me fui a buscar una taza de café: negro, y más oscuro que la mancha que esta línea de trabajo deja en el alma. Después de que el tiempo suficiente había transcurrido, volví, esperando la cálida luz de un escritorio recién actualizado. En cambio, lo único que me saludó fue la dura oscuridad de una línea de mando de la comida. Algo estaba mal, y era malo.

(Aparte del lector, tuve esta experiencia en dos máquinas diferentes, que surgió de dos problemas de raíz diferentes. Uno era un ajuste de la configuración y el otro un problema de permisos inusual).

¿Cómo se recupera el joven administrador de sistemas Linux de un problema de este tipo? La línea de comandos grub es un misterio inescrutable para los no iniciados, pero una vez que entienda lo básico, no es terriblemente difícil arrancar su sistema e intentar restaurar el proceso de arranque normal. Esto depende de lo que se haya roto, por supuesto. Si el disco que contiene su partición raíz se ha roto, entonces lo siento, este artículo no le ayudará.

Para poder arrancar el sistema, ¿qué es lo que tiene que pasar exactamente? ¿Cómo funciona el arranque de Linux, incluso? Dos componentes necesitan ser cargados en la memoria: el kernel y los initramfs. Una vez que estos dos elementos se cargan en memoria, grub realiza un salto al código del kernel, que toma el control y termina el arranque de la máquina. Hay un detalle más importante que nos preocupa: el núcleo necesita saber dónde encontrar la partición raíz. Esto es típicamente parte de los parámetros del núcleo, especificados en la línea de arranque del núcleo.

Cuando se trabaja con un shell desconocido, el comando help es un buen punto de partida. grub se ejecuta en un entorno muy limitado, y la ejecución del comando help desplaza la mayor parte del texto fuera de la pantalla. Hay una variable de entorno que ayuda aquí, habilitando la salida paging:set pager=1.


Encontrar lo que estás buscando

Es tu amigo. ¿No sabes qué unidad es cuál? lsis al rescate. grub utiliza una nomenclatura única para acceder a las particiones. Puede que vea entradas como (HD0,0) o (hd0,msdos1). Un grub moderno incluso le permitirá listar los archivos y carpetas contenidos en esa partición usando un comando como ls (hd0,msdos1)/.

Queremos empezar averiguando qué partición almacena los archivos del kernel y del initrd. Esos archivos pueden estar en una carpeta de arranque, o sólo en una de las particiones. El kernel se llama generalmente vmlinuz-kernel_version.architecture así que por ejemplo: vmlinuz-5.3.7-200.fc30.x86_64. El initrd que necesitamos coincidirá con la versión del núcleo. Algo así como initramfs-5.3.7-200.fc30.x86_64.img.

La última información necesaria, la ubicación del sistema de archivos raíz, puede ser un poco más difícil de encontrar. Mientras busca en las particiones, puede encontrar una con una disposición del sistema de ficheros raíz, que contenga el arranque, la papelera, etc, home, etc. Es probable que pueda averiguar cómo llamará el núcleo a la partición basándose en el nombre en grub.

hd0 es probablemente sda, hd1 es probablemente sdb. La segunda mitad del nombre de grub le dice qué partición es, así que (hd0,msdos1)es probablemente sda1.


Poniéndolo todo junto

Para arrancar realmente, emitimos tres comandos en grub. El primer comando establece la imagen del kernel y cualquier opción de arranque del kernel. La única opción requerida es establecer la ubicación de la raíz:linux (hd0,msdos1)/boot/vmlinuz-4.19.0-6-amd64 root=/dev/sda1

A continuación establecemos la opción initrd:initrd (hd0,msdos1)/boot/initrd.img-4.19.0-6-amd64

Una vez que esas opciones están establecidas, podemos decirle a grub que intente arrancar el núcleo. Es un simple comando:boot

Asumiendo que establezcamos las opciones correctas, y que el sistema no esté por lo demás terriblemente roto, eso debería arrancar su máquina de nuevo a la normalidad. Es hora de solucionar los problemas que causaron que Grub se descarrilara para empezar. Eso, sin embargo, es para otra ocasión.

Ya que estamos aquí, hay algunos otros trucos que vale la pena saber sobre la comida y el arranque. El más útil es probablemente el modo monousuario, que se activa añadiendo un «1» a las opciones de arranque.

linux (hd0,msdos1)/boot/vmlinuz-4.19.0-6-amd64 root=/dev/sda1 1

En algunas distribuciones, esto incluso evita la necesidad de saber una contraseña de root, lo cual es útil si se encuentra bloqueado en un sistema. Muchos sistemas modernos todavía requieren registrarse como root para proceder. Aún así, el modo monousuario es útil para solucionar otros problemas de arranque y del sistema.

Un truco más para tener en la manga es la capacidad de poner en la lista negra a un conductor. Añadir a la lista negra amdgpu, por ejemplo, evitaría que se cargara el controlador amdgpu, independientemente del hardware presente. Si un controlador defectuoso o mal configurado está causando un fallo durante el arranque, ponerlo en la lista negra probablemente le permitirá arrancar con éxito.

Esperemos que esto sea suficiente para darle la ventaja la próxima vez que esté depurando un problema de arranque de Linux, y añada un par de herramientas a su repertorio. Feliz pirateo.

RC Strandbeest está a la cabeza del resto

RC Strandbeest está a la cabeza del resto

El prolífico fabricante [Jeremy Cook] ha dado recientemente los últimos retoques (al menos, por ahora) a su impresionante Strandbeest con ...
Leer Más
Circuito DIYEl cerebro de una pitón serpentea en espacios pequeños

Circuito DIYEl cerebro de una pitón serpentea en espacios pequeños

Tanto si eres nuevo en la electrónica y la programación, como si te has dedicado al metal desnudo mucho antes ...
Leer Más
Sustancias Raras: Baba de Pez Bruja

Sustancias Raras: Baba de Pez Bruja

En los fríos y oscuros recovecos de los fondos marinos de todo el mundo, los peces brujos se deslizan como ...
Leer Más
Un eficiente horno de madera casero

Un eficiente horno de madera casero

Para los pobres [taller desde cero], el invierno trae la alegría de un taller frío. Como el edificio está construido ...
Leer Más
Cultivando guisantes: Cómo plantar, cultivar y cosechar guisantes verdes

Cultivando guisantes: Cómo plantar, cultivar y cosechar guisantes verdes

¡Los guisantes verdes son la bomba absoluta! ¿Por qué lo preguntas? Bueno, porque cuando se pueden plantar guisantes verdes, eso ...
Leer Más
Atrapa el error de la vieja escuela BÁSICA con este kit de ordenador

Atrapa el error de la vieja escuela BÁSICA con este kit de ordenador

¿La complejidad de la computación moderna alguna vez te deprime? ¿Se encuentra anhelando los viejos tiempos, en los que podía ...
Leer Más
Desmontaje de la pulsera PixMob LED (más emisores IR y cómo detectarlos)

Desmontaje de la pulsera PixMob LED (más emisores IR y cómo detectarlos)

Las unidades PixMob son dispositivos LED vestibles destinados a las multitudes de asistentes a eventos como conciertos. Estos dispositivos permiten ...
Leer Más
El flash se carga en 40 segundos gracias a los supercondensadores

El flash se carga en 40 segundos gracias a los supercondensadores

Todos hemos cometido el pecado de hacer un pequeño robot arduino y hacerlo funcionar con pilas AA. Little Flash es ...
Leer Más
Chat de propulsión satelital de código abierto

Chat de propulsión satelital de código abierto

Acompáñenos el miércoles 11 de diciembre al mediodía en el Pacífico para la Charla de Propulsión Satelital de Código Abierto ...
Leer Más
NET a FPGA con Hastlayer

NET a FPGA con Hastlayer

Hay muchas maneras de usar las FPGAs. Una de ellas es convertir el software de computación en hardware. Esto puede ...
Leer Más
No cuelgue las luces de Navidad, insértelas

No cuelgue las luces de Navidad, insértelas

¿Te cuesta entrar en el espíritu navideño este año? Tal vez sólo necesita un proyecto oportuno para iluminar las tardes ...
Leer Más
Hacer trampa en los bolos, a la manera de los hackers

Hacer trampa en los bolos, a la manera de los hackers

Cualquier persona que haya ido alguna vez a una bolera sabrá la técnica preferida (pero ineficaz) para controlar telepáticamente una ...
Leer Más
Rescate de un costoso servo con algo de ingeniería inversa

Rescate de un costoso servo con algo de ingeniería inversa

[Andrew] tenía un servo dañado por alguien que conectaba la fuente de alimentación a los pines equivocados (whoops), lo cual ...
Leer Más
Simulación de circuitos en Python

Simulación de circuitos en Python

El uso de SPICE para simular un circuito eléctrico es una práctica bastante común en la ingeniería que "SPICEing a ...
Leer Más
La fresadora CNC DIY utiliza las cadenas de la manera correcta

La fresadora CNC DIY utiliza las cadenas de la manera correcta

Hay un millón de formas de construir su propia ruteadora CNC, dependiendo de sus gustos, presupuesto y aplicación, sus opciones ...
Leer Más
Linux Fu: Depuración de los scripts de bash

Linux Fu: Depuración de los scripts de bash

Un reciente post sobre la depuración de construcciones me sorprendió. Hubo bastantes comentarios sobre cómo no necesitabas un depurador, siempre ...
Leer Más
Parche, o sus unidades de estado sólido se voltean y mueren

Parche, o sus unidades de estado sólido se voltean y mueren

¿Fechas de caducidad de los discos de ordenador? Eso es a lo que se enfrenta una línea de unidades de ...
Leer Más
El Plotter Vintage recibe una actualización de Bluetooth

El Plotter Vintage recibe una actualización de Bluetooth

Recientemente [iot4c] tropezó con este magnífico plotter Robotron Reiss de 1989, completamente nuevo y todavía en su caja original. Construido ...
Leer Más
Colorear las imágenes con la ayuda de la IA

Colorear las imágenes con la ayuda de la IA

El mundo nunca fue en blanco y negro, simplemente carecíamos de la tecnología para capturarlo a todo color. Muchos han ...
Leer Más
Un grabador láser súper fácil

Un grabador láser súper fácil

El CNC viene en todas las formas y tamaños, desde tornos industriales enormes hasta dobladoras de alambre de construcción casera ...
Leer Más
Un árbol pequeño es un termómetro para la fiebre de Navidad

Un árbol pequeño es un termómetro para la fiebre de Navidad

¿Cansado de los métodos habituales para animar todos esos LEDs RGB para su pantalla de vacaciones? ¿Qué tal si utiliza ...
Leer Más
Recocido de impresiones 3D: Un enfoque científico

Recocido de impresiones 3D: Un enfoque científico

A todos nos han enseñado el método científico: Formar una hipótesis, hacer algunos experimentos, reunir algunos datos, y probar o ...
Leer Más
Pistachos en crecimiento: La guía completa para plantar, cultivar y cosechar pistachos

Pistachos en crecimiento: La guía completa para plantar, cultivar y cosechar pistachos

Los pistachos son uno de mis bocadillos favoritos. Hay algo satisfactorio en abrirlos como aperitivo, uno tras otro, mientras veo ...
Leer Más
Un novato toma el desafío de SMD en Supercon

Un novato toma el desafío de SMD en Supercon

Los que visitan por primera vez Disneyworld suelen pensar ingenuamente que van a "hacer" el parque en tres días: un ...
Leer Más
Santa Claws: Afila tus habilidades por una buena causa

Santa Claws: Afila tus habilidades por una buena causa

¿Quieres hacer algo bueno en esta temporada de fiestas sin dejar tu sofá o estación de batalla? Pues acércate y ...
Leer Más
Bruselas mira hacia la prohibición del transporte de combustibles fósiles ya en 2035

Bruselas mira hacia la prohibición del transporte de combustibles fósiles ya en 2035

Muchas ciudades del mundo luchan rutinariamente contra el smog. Además de ser antiestético, la fuerte contaminación atmosférica tiene graves efectos ...
Leer Más
Barcaderator es un arcade de monedas arriba y Kegerator abajo

Barcaderator es un arcade de monedas arriba y Kegerator abajo

Es común en nuestra comunidad que un gabinete de arcada que ha expirado su vida sea reutilizado como un gabinete ...
Leer Más
Escucha tus pies, tienen mucho que decirte

Escucha tus pies, tienen mucho que decirte

[Umar Qattan] está en sintonía con su suela y se esfuerza por escuchar lo que tiene que decir. En un ...
Leer Más
Transmisores de Hacking, estilo 1920s

Transmisores de Hacking, estilo 1920s

El origen del término "breadboard" viene de un divertido pasado cuando las tablas de madera para el pan fueron arrancadas ...
Leer Más
El sintetizador de muñeca programable empuja el sobre

El sintetizador de muñeca programable empuja el sobre

Los sintetizadores son muy divertidos, no importa lo bien o mal que suenen. En realidad, no hay ninguno que suene ...
Leer Más

Deja un comentario