sábado, 18 de junio de 2022

GRUB (GRand Unified Bootloader)

GRUB (GRand Unified Bootloader) en español (Gran Cargador de Arranque Unificado) es un cargador de arranque múltiple, desarrollado por el proyecto GNU que nos permite elegir qué Sistema Operativo arrancar de entre todos los que tengas instalados.




Características

GRUB es un cargador de arranque que cumple la Especificación Multiboot. De esta forma puede arrancar de forma uniforme los kernels que cumplen la Especificación Multiboot.​

Está diseñado para cumplir los siguientes objetivos, listados por orden de importancia:

- Funciones básicas tienen que ser sencillas para los usuarios finales.
- Amplia funcionalidad para apoyar a los expertos y diseñadores del kernel.
- Compatibilidad con versiones anteriores para arrancar FreeBSD, NetBSD, OpenBSD y Linux. Los núcleos compatibles como DOS, Windows NT y OS/2, son arrancables mediante una función de carga en cadena.

Características adicionales que soporta:​

- Reconoce múltiples formatos ejecutables.
- Soporta kernels que no cumplen especificación multiboot.
- Admite comandos de configuración y puede cargar una configuración preestablecida.
- Provee interfaz de menú.
- Tiene una interfaz de línea de comandos flexible.
- Admite muchos sistemas de ficheros (BtrFS, ext2/ext3/ext4, FAT12/FAT16/FAT32, exFAT, HFS, HFS+” ISO9660, nilfs2, NTFS, ReiserFS, ZFS, ROMFS, JFS, XFS, ...).
- Descompresión automática.
- Acceso a datos ubicados en cualquier dispositivo instalado.
- Independiente de la geometría de la unidad.
- Detecta toda la RAM instalada.
- Admite direccionamiento de bloque lógico (LBA).
- Arranque de red.
- Terminales remotos para permitir el control desde una estación remota.

Proceso de inicio de GRUB Legacy

1- El BIOS busca un dispositivo de inicio (como el disco duro) y de ahí pasa el control al primer sector físico del dispositivo conocido como master boot record, son los primeros 512 bytes (primer sector) del disco duro y que forman la fase 1 de GRUB.
2- La fase 1 de GRUB carga la siguiente fase de GRUB, ubicada físicamente en cualquier parte del disco duro. La fase 1 puede cargar ya sea la fase 1.5 o, directamente, la 2.
3- La fase 1.5 de GRUB, ubicada en los siguientes 30 kilobytes del disco duro, carga la fase 2. En GRUB 2, esta fase ha dejado de existir.5​
4- La fase 2 de GRUB (cargada por las fases 1 o 1.5) recibe el control, y presenta al usuario el menú de inicio.
5- GRUB carga el kernel seleccionado por el usuario, en la memoria y le pasa el control.

En el caso de computadoras con sistema de arranque EFI, el firmware carga el ejecutable de GRUB directamente (fase 2), siempre y cuando esté correctamente instalado en la partición EFI y configurado en la NVRAM.


GRUB2

GRUB 2 es una reescritura de GRUB que comparte muchas características con su versión anterior, ahora conocida como GRUB Legacy. Las más importantes diferencias entre GRUB 2 y GRUB Legacy son:

- El fichero de configuración de GRUB 2 es ‘grub.cfg’ en lugar del ‘grub.conf’ o ‘menu.lst’. Se añade nueva sintaxis y muchos nuevos comandos. El fichero ‘grub.cfg’ es típicamente automáticamente generado por ‘grub2-mkconfig’ lo que facilita mucho el uso.
- Los números de partición en los nombres de los dispositivos GRUB ahora empiezan en 1, en lugar de en 0.
- Una pequeña cantidad de almacenamiento persistente está disponible entre reinicios, usando los comandos ‘save_env’ y ‘load_env’ y la utilidad ‘grub2-editenv’. Esto no está disponible en todas las configuraciones.
- GRUB 2 tiene formas más confiables de encontrar sus propios ficheros y los de los kernels de destino en sistemas de varios discos, y tiene comandos para buscar dispositivos usando etiquetas del sistema de archivos o identificadores únicos universales (UUID).
- GRUB 2 soporta muchos más sistemas de ficheros, incluyendo pero no limitado a Ext4, HFS+, y NTFS.
- GRUB 2 puede leer ficheros directamente de dispositivos LVM y RAID.
- GRUB 2 tiene disponible un terminal gráfico y un sistema de menú gráfico
- Los archivos de imagen que componen GRUB se han reorganizado; La etapa 1, la etapa 1.5 y la etapa 2 ya no existen. En su lugar GRUB 2 dispone de una variedad de imágenes de arranque (boot.img, diskboot.img, cdboot.img, pxeboot.img, lnxboot.img, kernel.img) para iniciar GRUB de varias formas, una imagen del núcleo (core.img) y un conjunto de módulos que se combinan con la imagen del núcleo (*.mod).6​
- GRUB 2 introduce muchas instalaciones en módulos cargados dinámicamente, lo que permite que la imagen del núcleo sea más pequeña y que se construya de formas más flexibles


====================================




 Instalación del paquete GRUB en Debian 

Hasta Debian 5.0 (Lenny)

GRUB v1 para Debian (paquete grub) se puede instalar con:

apt-get install grub

Para instalar GRUB v2, debe instalar la variante apropiada de grub v2, según el firmware de su sistema (generalmente grub-pc , consulte las variantes de grub2).



Debian 6.0 (Squeeze) y posterior

GRUB v2 para Debian (paquete grub) se puede instalar con:

apt-get install grub

Es lo normal en PC (es decir, si su sistema tiene EFI u OpenFirmware en lugar de un BIOS), es posible que deba instalar otra versión de GRUB (consulte las variantes de GRUB 2).



Configuración de GRUB

Configuración de GRUB v1

El archivo de configuración es: /boot/grub/menu.lst

En Debian, el archivo de configuración de GRUB se actualiza automáticamente cuando instalas un nuevo kernel. Esto se hace automáticamente mediante el comando: update-grub

Puede editar la configuración en /boot/grub/menu.lst. Asegúrese de leer los comentarios, /usr/share/doc/grub/README.Debian.gz para obtener más información y la página de manual update-grub de su distribución.

 Configuración de GRUB v2 

El archivo de configuración es /boot/grub/grub.cfg, pero no debe editarlo directamente. Este archivo es generado por update-grub, basado en:

Los fragmentos de script en /etc/grub.d/

El archivo de configuración /etc/default/grub

Para configurar grub v2, debe editar /etc/default/grub y luego ejecutar update-grub. La configuración avanzada se logra modificando los fragmentos en /etc/grub.d/

Consulte también la GRUB2 para obtener instrucciones, ideas y sugerencias de configuración más detalladas.



Actualización de v1 a v2

Para actualizar a GRUB v2, debe:

Instale GRUB v2 (pero no elimine el grub 1 todavía).

Siga las instrucciones que se muestran en la instalación del paquete (es decir, GRUB v1 ahora tiene una entrada para conectarse en cascada a GRUB v2, así que reinicie y pruébelo , luego puede habilitar el cargador de arranque grub2 ejecutando upgrade-from-grub-legacy ).

Transición de v1 a v2

transición de GRUB .


Instalando GRUB en disco

Si está de acuerdo con su configuración de GRUB, puede instalar GRUB en el MBR de su disco usando el comando:

# grub-install


 

Preguntas más frecuentes

Cuando actualicé de GRUB a GRUB2, perdí una entrada a XP/WP7, ¿cómo puedo recuperar la entrada del menú para iniciar allí?

Debe instalar os-prober, asegurarse de que esté habilitado en la configuración de GRUB2 y sincronizar GRUB2.

apt install os-prober

Luego edite /etc/default/grub y asegúrese de tener una línea como esta:

GRUB_DISABLE_OS_PROBER=false

Finalmente ejecuta:

update-grub



Debian 11 (Bullseye) no me reconoce otros sistemas operativos

Hasta Debian 10 (Buster), el instalador de Debian te reconocía todos los sistemas operativos instalados en el pc.

A partir Debian 11 (Bullseye) hay un cambio en grub2, ahora por defecto no detecta y añade otros sistemas operativos al menú de arranque, como puede ser windows.

Si alguien está usando esta versión y tiene otro sistema operativo instalado, debe instalar os-prober, asegurarse de que esté habilitado en la configuración de GRUB2 y sincronizar GRUB2.

Para habilitarlo, se deberá añadir en el arhivo: /etc/default/grub la siguiente línea:

GRUB_DISABLE_OS_PROBER=false


y luego ejecutar el siguiente comando para que reconozca todos los sistemas operativos instalados:

# update-grub


 


==========================================================

Información copiada de los siguientes enlaces:
https://es.wikipedia.org/wiki/GNU_GRUB
https://wiki.debian.org/Grub










No hay comentarios: