Instalación de un gestor de arranque

Conceptos Clave

  • Proporcionar lugares alternativos de arranque y realizar copias de seguridad de las opciones de arranque.
  • Instalar y configurar un gestor de arranque como GRUB Legacy.
  • Realizar los cambios de configuración básicos para GRUB 2.
  • Interactuar con el gestor de arranque

Términos y utilidades

  • /boot/grub/menu.lst
  • grub-install
  • MBR
  • superbloque

Introducción

Los gestores de arranque se ejecutan antes que cualquier sistema operativo sea cargado, aunque normalmente son configurados desde Linux o algún otro sistema operativo.

De alguna u otra manera, el firmware de la computadora lee y carga el código del gestor de arranque. El gestor de arranque, una vez cargado, será responsable de llamar al kernel de Linux. Por lo que una correcta configuración del gestor de arranque es necesaria para poder dar inicio a Linux.

Si bien los instaladores provistos por las distribuciones tienen métodos automáticos para configurar gestor de arranque, es importante saber como funciona. Ya que en ciertos casos, como puede ser recompilación de un kernel, podría ser necesario hacer modificaciones en el gestor para iniciar la ejecución con el kernel nuevo.

MBR

El Master Boot Record, Registro de Arranque Maestro o MBR, es un programa muy pequeño que contiene información sobre las particiones del disco duro y carga el sistema operativo en memoria.

Se ubica en el primer sector del disco duro y tiene 512 bytes de tamaño. Si este programa se corrompe, el sistema no arrancara, por lo que es importante realizar una copia de resguardo. Para realizar la copia se suele usar el programa de copiado de bajo nivel dd.

Con el siguiente comando podemos guardar una copia en nuestro directorio personal

dd if=/dev/sda of= ~/mbr.txt count=1 bs=512

Asumiendo que el disco duro es /dev/sda. Para restaurar la copia, se utiliza el siguiente comando:

dd if=~/mbr.txt of=/dev/sda count=1 bs=512

GRUB

GRUB o GRand Unified Boot loader, es uno de los mas famosos gestores de arranque hechos en Linux. Puede estar instalado en el MBR del disco de arranque o en el código de arranque de una partición (Partition Boot Record).

Generalmente, el archivo de configuración de GRUB, se encuentra en /boot/grub/grub.conf, probablemente haya un vinculo simbólico llamado /boot/grub/menu.lst a /boot/grub/grub.conf.

Este archivo de configuración se divide en secciones globales y secciones por imagen.

GRUB nombra los discos de manera diferente a Linux, empezando por hd0 y siguiendo así en adelante. Las particiones son también numeradas de 0 en adelante, donde la primera partición del primer disco seria (hd0, 0), la segunda seria (hd0, 1) y así en adelante.

Opciones de configuración globales

Sistema Operativo por defecto: La opción default indica el sistema operativo por defecto.

Timeout: Define cuanto tiempo en segundos, esperar, antes de lanzar el sistema operativo por defecto.

Imagen de fondo: La opción splashimage apunta a un archivo grafico que se muestra como fondo del proceso de arranque.

Opciones esenciales por imagen

Titulo: La opción title nos muestra la etiqueta que tendrá la imagen en el menú del gestor de arranque.

Partición raíz: La opción root nos muestra la locación de la partición raíz.

Especificaciones del Kernel: Muestra la ubicación del Kernel.

Disco Inicial RAM: La opción initrd nos permite indicar un disco inicial RAM, el cual contiene un conjunto mínimo de drivers, utilidades y archivos de configuración que el kernel usa para montar el filesystem raíz.

Raíz No Linux: La opción rootnoverify es similar a root, a excepción de que GRUB no intenta montar el sistema de archivos o verificar sus parámetros. Suele usarse en sistemas de archivos como NTFS que no son soportados por GRUB.

Carga en cadena: La opción chainloader le indica a GRUB que le ceda el control a otro gestor de arranque.

Instalación

El comando que se utiliza para instalar GRUB en un ambiente con firmware BIOS es grub-install. Se debe especificar el sector de arranque indicando en que dispositivo se encuentra.

Estos dos comandos instalan GRUB en el MBR del primer disco rígido:

grub-install /dev/sda

o

grub-install ‘(hd0)’

Si se quiere instalar GRUB en el sector de arranque de una partición en lugar del MBR, se debe incluir un identificador para la partición como /dev/sda1 o (hd0, 0).

GRUB 2

GRUB 2 fue totalmente re-escrito para hacerlo significativamente mas modular y portable. Soporta diferentes arquitecturas y métodos de arranque y trae nuevas funcionalidades. Es bastante diferente a GRUB y estas son algunas de las diferencias mas notorias:

  • El archivo de configuración de GRUB es /boot/grub/grub.cfg.
  • Title es reemplazada por menuentry
  • El título esta entre comillas.
  • Luego del titulo del menú se abren y cierran llaves y se procede a ingresar las opciones.
  • La palabra set se pone antes de root, para la partición raíz.
  • Las particiones se numeran comenzando en 1. Y permite indicar que tipo de esquema de partición se utiliza. Como por ejemplo (hd0, gpt2) para especificar la segunda partición dentro de un disco GPT o (hd0, mbr3) para la tercera partición MBR.

Configuración

GRUB 2 introduce mas cambios, utiliza una serie de scripts y otras herramientas que ayudan a mantener automáticamente el archivo. Lo que esto intenta, es que uno nunca deba editar el archivo /boot/grub/grub.cfg directamente, editando archivos dentro de /etc/grub.d y /etc/default/grub.

Los archivos dentro de /etc/grub.d sondean el sistema buscando sistemas operativos y kernels y luego agregan automáticamente entradas dentro de /boot/grub/grub.cfg para soportar estos sistemas operativos.

El archivo /etc/grub/default controla las imágenes por defecto creadas por los scripts de configuración de GRUB 2.

Una distribución que esta diseñada para usar GRUB 2 ejecutara estos scripts automáticamente después de ciertas acciones, como instalar un nuevo Kernel con el gestor de paquetes de la distribución.

Si se requiere realizar cambios manuales, hay que editar el archivo /etc/default/grub o alguno de los que se encuentra dentro de /etc/grub.d/.

Luego hay que ejecutar alguno de los siguientes comandos, para que se plasmen las modificaciones dentro del grub.cfg:

grub-mkconfig > /boot/grub/grub.cfg

o

update-grub

Superbloque

La mayoría de los bloques en Linux almacena archivos con datos de usuario o del sistema. Hay algunos bloques que almacenan metadatos del sistema de archivos, que describen la estructura del mismo.

Un superbloque es un bloque con los siguientes metadatos:

  • Tipo de sistema de archivos
  • Tamaño
  • Estado de sistemas de archivos montados

Dado la importancia del superbloque, Linux mantiene copias redundantes del mismo en distintas partes del sistema de archivos.

results matching ""

    No results matching ""