Arranque y configuración del cargador de arranque Ubuntu GRUB Linux

El GRUB Linux Bootloader es el gestor de arranque más utilizado para Linux. Todo aspirante a usuario de Linux se beneficiaría al aprender sobre el GRUB de Ubuntu. En este tutorial, aprenderás qué es GRUB, cómo funciona el proceso de arranque y te sumergirás en varias configuraciones útiles del GRUB de Ubuntu.

Sumérgete para obtener más información.

Prerrequisitos

Si deseas seguir este tutorial, asegúrate de tener un dispositivo Linux que tenga GRUB como gestor de arranque. Este tutorial se basará en Ubuntu 18.04.5 LTS, ejecutándose en una máquina virtual en Oracle VirtualBox.

Comprendiendo el Proceso de Arranque del GRUB de Ubuntu

GRUB es un acrónimo de Grand Unified Boot Loader y es el componente principal y más crucial para arrancar tu dispositivo. GRUB también es el gestor de arranque más prevalente para Linux. Tu viaje comenzará con el conocimiento de cómo funciona el proceso de arranque de GRUB.

En el proceso general de arranque, la BIOS comienza invocando el paso POST y luego busca el gestor de arranque en el Registro Maestro de Arranque (MBR, por sus siglas en inglés).

El MBR es la información en el primer sector de cualquier disco duro. El MBR identifica dónde se encuentra un Sistema Operativo. La información almacenada en el MBR carga (arranca) el SO en la RAM del dispositivo.

Este artículo solo cubre el lado del MBR. Pero también puedes encontrar discos que utilizan GPT, que significa Tablas de Partición GUID. GPT es mejor si planeas crear más de cuatro particiones, ya que un disco MBR puede contener un máximo de 4 particiones primarias como máximo.

En la captura de pantalla a continuación, puedes ver un diagrama del proceso de arranque. Puedes observar que Ubuntu GRUB carga el núcleo en el que optaste en la memoria principal: la Memoria de Acceso Aleatorio (RAM). Después de cargar el núcleo, los usuarios pueden iniciar sesión en el dispositivo.

The role of GRUB during the complete boot process in Linux

Comparación entre los Bootloaders de Ubuntu GRUB y LILO

El mundo Linux tiene tres principales cargadores de arranque: LILO, GRUB y GRUB2. GRUB2 es el cargador de arranque más reciente y principal en las distribuciones Linux. GRUB2 es el más utilizado y se demuestra en este tutorial, ya que es el cargador de arranque predeterminado de Ubuntu, pero LILO aún tiene presencia en Linux. En esta sección, aprenderás cómo se comparan entre sí.

Otros cargadores de arranque de Linux están disponibles en el mercado, como GNU GRUB, que tiene un destacado soporte para la gestión de memoria y un marco orientado a objetos. El otro es SYSLINUX, que es un cargador de arranque ligero.

GRUB permite el arranque de múltiples sistemas operativos. LILO, por otro lado, solo puede arrancar un sistema operativo.

GRUB allows opting among multiple OS

Ubuntu GRUB es compatible con Windows, Linux, Unix, macOS, BSD, Solaris, mientras que LILO admite principalmente sistemas operativos Linux.

Si actualizas el archivo de configuración en LILO, entonces LILO debe reinstalarse en el MBR. Si cambias la configuración de GRUB, no es necesario volver a instalarlo.

Seleccionar Diferentes Núcleos o Modos de Recuperación

Esta sección mostrará cómo seleccionar un núcleo al arrancar el dispositivo recuperándose de un núcleo corrupto.

A kernel works as an interface between hardware and software. It controls all the processes that users run on the device.

Aquí están los pasos para seleccionar un núcleo usando una VM en Oracle VirtualBox.

1. Inicia sesión directamente en la consola del dispositivo Ubuntu utilizando Oracle VirtualBox.

2. Reinicia tu máquina Ubuntu utilizando el comando de apagado como se muestra a continuación.

shutdown -r now

Una vez que tu dispositivo se reinicie, presiona y mantén pulsada la tecla Shift mientras se carga el GRUB de Ubuntu, y verás el menú del cargador de arranque GRUB. Si no seleccionas nada, GRUB arrancará el sistema con el núcleo predeterminado y continuará con el proceso de arranque.

Debe seleccionar Opciones avanzadas para Ubuntu cuando necesite arrancar con un kernel diferente al kernel predeterminado. O si enfrenta problemas dentro del sistema, como corrupción de archivos o carga incorrecta del kernel.

GRUB loading process

4. Después de seleccionar las Opciones avanzadas para Ubuntu, aparecerá un menú GRUB de Ubuntu. En el menú, debería ver varias opciones de kernels entre las cuales puede elegir. Si no selecciona ninguna opción, se cargará por defecto el primer kernel mostrado.

Como se puede ver en la imagen a continuación, hay dos opciones adicionales para cada kernel: upstart y recovery.

  • (upstart): un reemplazo basado en eventos para el demonio /sbin/init, que se encarga de iniciar tareas y servicios durante el arranque, detenerlos durante el apagado y supervisarlos mientras el sistema está en funcionamiento.
  • (modo de recuperación): para recuperar el kernel de cualquier falla en el sistema.
Selecting a kernel from the GRUB menu

5. Una vez iniciada sesión en el dispositivo, el comando uname verifica si se ha cargado el kernel especificado. La opción -r imprime el nombre del kernel.

uname -r 
Verifying the kernel from the console

Configuración del Sistema Operativo Predeterminado

Ahora que está más familiarizado con GRUB, ajustará algunas opciones de configuración de GRUB. Comenzará configurando qué sistema operativo se cargará por defecto.

1. Inicie sesión en su dispositivo Ubuntu usando su cliente SSH favorito.

2. Ahora, enumere las entradas del menú de arranque de GRUB ejecutando el comando awk como se muestra a continuación. El comando awk mostrará todas las entradas almacenadas en /boot/grub/grub.cfg. El contenido del archivo aparecerá en la terminal. Presta atención a las líneas. Necesitarás el número asociado con la línea, que comienza con cero, es decir, la línea Ubuntu es 0 y Ubuntu, with Linux 4.4.0-210-generic es 1.

awk -F\' '/menuentry / {print $2}' /boot/grub/grub.cfg
awk command filtering all the entries stored in /boot/grub/grub.cfg

3. A continuación, edita el archivo de configuración de GRUB. Puedes confiar en vi para editar el archivo y cambiar el valor de GRUB_DEFAULT, pero usa tu editor preferido según lo desees.

vi /etc/default/grub

Ahora, establece el valor de GRUB_DEFAULT en el número de línea de la entrada del SO deseada. ¿Recuerdas el comando awk que ejecutaste? Esas fueron las entradas del SO. Si estableces GRUB_DEFAULT en 0, la primera entrada del SO en el menú de arranque de GRUB se iniciará si lo estableces en 1, el dispositivo iniciará la segunda entrada del SO de forma predeterminada, y así sucesivamente. En la captura de pantalla a continuación, la primera entrada del SO Ubuntu está configurada para arrancar de forma predeterminada.

De forma predeterminada, GRUB no espera en el menú de arranque y comienza el arranque de inmediato, en 0 segundos. Puedes cambiar esta configuración de tiempo de espera cambiando el valor de GRUB_TIMEOUT. El valor significará el número de segundos que el menú estará visible antes de que comience el arranque. Si el valor es 5, el menú de arranque aparecerá durante 5 segundos para que puedas seleccionar qué SO cargar cuando el sistema se inicie.

Editing the GRUB configuration file

4. Una vez que guardes los cambios en el archivo de configuración de GRUB, asegúrate de ejecutar el comando update-grub. El comando update-grub toma el archivo de configuración modificado y lo aplica al sistema.

update-grub
Updating the GRUB configuration

Configurando la Imagen de Fondo en GRUB de Ubuntu

Tu configuración de GRUB no necesita ser aburrida. Puedes agregar un poco de estilo a GRUB añadiendo una imagen de fondo al menú de GRUB. Puedes establecer imágenes como fondo en GRUB con la opción GRUB_BACKGROUND. Sigue los pasos a continuación para personalizar GRUB.

1. Edita el archivo de configuración de GRUB con vi, o tu editor de texto preferido, y agrega la línea GRUB_BACKGROUND como se muestra a continuación. En este tutorial, la imagen está almacenada en la carpeta de inicio de usuario llamada UBUNTU, como GRUB se ejecuta como root, puede acceder a imágenes en todo el sistema de archivos. Una vez modificado, guarda el archivo de configuración.

# Sintaxis: GRUB_BACKGROUND=/ruta-a-la-imagen
GRUB_BACKGROUND=/home/ubuntu/shanky.jpeg

La imagen del archivo shanky.jpeg ya estaba en el sistema. Reemplaza ese nombre con el nombre del archivo que desees como imagen de fondo.

2. A continuación, después de hacer los cambios en el archivo de configuración de GRUB, ejecuta el comando update-grub.

Updating the grub configuration file

3. Además, verifica si la imagen que agregaste en el archivo Grub como fondo está funcionando según lo previsto. Para verificar, reinicia tu máquina y presiona la tecla Shift mientras GRUB se está cargando. Como puedes ver a continuación, GRUB ahora tiene una imagen de fondo.

GRUB menu displaying the background image as specified in the grub configuration file.

Arranque Dual con GRUB

Una de las mejores características de Ubuntu GRUB es que te permite elegir entre Windows y Linux cuando tu dispositivo se inicia: también conocido como arranque dual. El arranque dual te permite usar Linux y Windows juntos en un dispositivo y facilita la vida de los ingenieros de IT que trabajan con múltiples sistemas operativos.

A principios de 2021, el script os_prober predeterminado, que añade automáticamente entradas de menú de sistemas operativos adicionales, se deshabilitó debido a posibles problemas de seguridad con la detección automática de sistemas operativos. Puedes volver a habilitar esta funcionalidad mediante el siguiente comando, siempre y cuando estés consciente de qué sistemas operativos están instalados.

echo GRUB_DISABLE_OS_PROBER=false|sudo tee -a /etc/default/grub && sudo update-grub

Una vez que hayas configurado el arranque dual en tu dispositivo, deberías ver una pantalla similar al menú GRUB cuando se inicie tu máquina.

GRUB menu allows you to either login to Windows or Linux Instance

Conclusión

En este tutorial, aprendiste qué es GRUB y el artículo te introdujo al proceso de arranque de GRUB.

También aprendiste cómo ajustar algunas configuraciones de GRUB en Ubuntu, cargar diferentes núcleos e incluso aprendiste sobre el arranque dual.

Ahora que tienes un conocimiento sólido sobre GRUB, ¿cuáles son algunas de las opciones de configuración que cambiarás?

Source:
https://adamtheautomator.com/ubuntu-grub/