miércoles, 5 de diciembre de 2018

Agregar opciones al GRUB

Yo no soy nada partidario de perder el tiempo estudiando cómo modificar cosas del GRUB, que solo sale un instante, y solo cuando arrancas o reinicias pero, por aquello de anotar cosas que puedan tener algún puntual interés, igual que hace un par de años explicaba cómo cambiar el orden de arranque (del GRUB), hoy me topé, buceando por Google, con otro ‘tip’ curioso, que hacía referencia a poder añadir al GRUB opciones como ‘APAGAR, ‘REINICIAR’, etc.

Ya se que tienen un mínimo interés (quizás, en alguna ocasión, si has reiniciado, cuando lo que querías era ‘salir’, el tener una opción de ‘Apagar’ te evitaría tener que esperar a que se cargue el Display Manager, para poder ‘cerrar’ pero, como digo, me gusta ‘levantar acta’ de las cosas curiosas con las que me topo, por si algún día pueden servir... y aquí está la idea.
Por cierto: la fuente, en este caso, el blog... https://lignux.com/, que está en la lista de los que visito con regularidad.

Resulta que, al parecer, existe un archivo ‘especialmente dedicado’ a poder añadir cosas al GRUB. Este archivo es el 
/etc/grub.d/40_custom
que, si lo editas, dice exactamente (y por defecto) algo como esto 
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.
# Simply type the menu entries you want to add after this comment.
# Be careful not to change the 'exec tail' line above. 
(Es decir que 'te proporciona una fácil forma de personalizar entradas del menú, sin más que añadir, después de estas líneas de comentarios, lo que quieras (y sus pertinentes instrucciones, claro). Y que OJO, no debes cambiar nada de la primera línea, eso de ‘exec tail...’
Así que...
sudo nano /etc/grub.d/40_custom
y voy a probar añadir esta entrada al menu... 
menuentry "Apagar" {
halt
}
que, como decía arriba, puede ser util para dar rápida marcha atrás a un reinicio no deseado (y si quisiera añadir, además, lo de Reiniciar, sería con la instrucción ‘reboot’, claro, pero esto ya me parece muy poco útil)

Bien pues hecho esto, y una vez guardados los cambios, basta a hacer un 
sudo update-grub 
para que, en el siguiente arranque, aparezca lo indicado 

(por cierto… no he sabido cómo hacer una captura de imagen de la pantalla del GRUB, y todo lo que he leido remitía a hacerlo creando un Linux en VirtualBox, etc, etc. Vaya pereza… me quedo con hacer una foto con mi smartphone, aunque quede más chapucera...)

Y NOTA FINAL:
Esa carpeta  /etc/grub.d/ guarda una serie de archivos (en realidad, scripts) para poder modificar cosas del GRUB. 
Por ejemplo, el archivo /etc/grub.d/10_linux contiene una serie de instrucciones sobre el texto que aparece en la pantalla del GRUB, que se podrían cambiar. Para eso hay que ir a la línea donde pone algo así como
linux_entry ()
y siguientes (title=...), y modificarlo. 
Claro que es para estudiosos, porque el script es complejo, está escrito en clave de programación y variables ($nombre_variable) y, como el tema de andar metiendo mano al GRUB es un tema 'sensible', y la puedes 'cagar', yo quedo aquí: y el que quiera profundizar... que profundice, que Google contiene bastante información sobre el tema. En mi Debian este archivo 10_linux tiene esta pinta...   
 así que lo dicho.

Por cierto: en el próximo Debian, el Debian 10 (Buster), ya aparece, dentro de los repositorios oficiales, el paquete 'GRUB-customizer',un GUI ('Graphical User Interface') que, posiblemente, permita hacer, cómodamente, cosas como éstas. Habrá que esperar, supongo, a la próxima primavera...

No hay comentarios:

Publicar un comentario