GRUB (GRand Unified Bootloader)

Revisión del 10:12 5 ago 2013 de Yisel06184 (discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
GRUB
Información sobre la plantilla
Grub 1.jpeg
DesarrolladorProyecto GNU
Última versión estable1.99 (GRUB2), 15 de mayo, 2011[1]
GéneroCargador de arranque
Sistemas Operativos compatiblesUnix, Linux
Sitio web
http://www.gnu.org/software/grub/

GRUB. (GRand Unified Bootloader) es un administrador o gestor de arranque múltiple, desarrollado por el proyecto GNU, que se usa comúnmente para iniciar uno de dos o más sistemas operativos instalados en un mismo equipo.

Historia

GRUB fue inicialmente diseñado e implementado por el programador Erich Stefan Boleyn como parte del trabajo en el arranque del sistema operativo GNU Hurd desarrollado por la Free Software Foundation. En 1999, Gordon Matzigkeit y Yoshinori Okuji convirtieron a GRUB en un paquete de software oficial del Proyecto GNU y abrieron el desarrollo del mismo al público. Alrededor de 2002, Yoshinoi comenzó a trabajar en PUPA (Preliminary Universal Programming Architecture for GNU GRUB) enfocándose en la reescritura del núcleo de GRBU para hacerlo más limpio, seguro, robusto y poderoso. PUPA fue renombrado a GRUB 2 y la versión original de GRUB fue renombrada a GRUB Legacy. Se continuaron los mantenimientos en GRUB Legacy y la última versión (0.97) fue hecha en el 2005. Cerca del 2007, las distribuciones de GNU/Linux comenzaron a utilizar GRUB 2 y a finales de 2009 las distribuciones más reconocidas comezaron a instalarlo por defecto.

Descripción

Técnicamente, un gestor de arranque múltiple es aquel que puede cargar cualquier archivo ejecutable y que contiene un archivo de cabecera en los primeros 8 KB del archivo. Tal cabecera consiste en 32 bits de un número “mágico”, 32 de indicadores (flags), otros 32 de un número “mágico”, seguidos de información sobre la imagen ejecutable.

Una de las características más interesantes de este tipo de gestor es que no es necesario instalar una partición nueva o un núcleo nuevo, pudiendo cambiar todos los parámetros en el arranque mediante el sistema de órdenes de cónsola de GRUB.

Mientras los gestores de arranque convencionales tienen una tabla de bloques en el disco duro, GRUB es capaz de examinar el sistema de archivos. Actualmente, soporta los siguientes sistemas de archivos:

  • ext2/ext3/ext4 (Grub2) usado por los sistemas UNIX y su variante libre GNU/Linux.
  • ReiserFS.
  • XFS de SGI (aunque puede provocar problemas).
  • UFS.
  • VFAT, como FAT16 y FAT32 usados por Windows 9.x
  • NTFS usado por los sistemas Windows NT (a partir de Windows NT v.3.51).
  • JFS de IBM.
  • HFS de Apple Inc.

Otros ejemplos de cargadores multiarranque son LILO y SYSLINUX.

GRUB soporta 14 colores de fondo, siendo el negro el color por defecto. Algunas distribuciones de GNU/Linux que incluyen GRUB frecuentemente utilizan fondos personalizados con el logotipo de dicha distribución. Los usuarios de GRUB pueden también hacer y colocar sus propios fondos.

Necesidad de doble booteo

El Dual Boot o Arranque Dual son distintas formas de llamar a la capacidad de una computadora de poder tener más de un Sistema Operativo (SO) y poder iniciar con cualquiera de ellos. Al arrancar la computadora con doble booteo, una pantalla preguntará al usuario cuál de los sistemas instalados quiere utilizar, y pasada esta etapa comenzará la carga de sólo el sistema elegido. La capacidad de seleccionar el sistema a arrancar está otorgada por el Cargador o Gestor de arranque (Boot Loader).

El Dual Boot se ha convertido en algo esencial, sobre todo para aquellos usuarios que comienzan a usar GNU/Linux o comparten la PC con otras personas que necesitan inevitablemente el uso de programas hechos para la plataforma del SO Windows.

Para los que se deciden por esta variante de tener los dos SO por primera vez, lo ideal es instalar Windows y luego GNU/Linux; pues este último es capaz de reconocer la existencia de otro SO previamente instalado y autoconfigurar su archivo menu.lst que se encuentra en la ruta /boot/grub y que contiene las especificaciones para esta pantalla del Gestor de arranque; algo que no es capaz de hacer el Windows en su boot.ini.

Hasta aquí todo va bien, pero el problema surge cuando necesitamos instalar Windows en una PC que sólo tiene GNU/Linux sin borrarlo, o cuando necesitamos actualizar Windows a una nueva versión en la PC con dual boot.

En este caso, el gigante de la Microsoft no implementó nada que permitiera una actualización casi transparente como en GNU/Linux. Por lo tanto, cualquier modificación de Windows traería consigo la reescritura del Master Boot Record (MBR) y la inutilización del GRUB.

Inicio del grub

  • El BIOS busca un dispositivo de inicio (como el disco duro) y de ahí pasa el control al registro maestro de inicio conocido como Master Boot Record o MBR, que consiste en los primeros 512 bytes del disco duro y que forman la fase 1 de GRUB.
  • 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.
  • 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]
  • La fase 2 de GRUB (cargada por las fases 1 ó 1.5) recibe el control, y presenta al usuario el menú de inicio.
  • GRUB carga el kernel seleccionado por el usuario, en la memoria y le pasa el control.

Modificaciones en el menú de arranque

Para modificar el tiempo de espera, sistema operativo por defecto, el nombre de los sistemas operativos y toda la información del arranque de cada uno de ellos (igual que se hacía antes en /boot/grub/menu.lst) se puede hacer mediante el archivo /boot/grub/grub.cfg No es recomendable hacerlo de este modo, ya que este archivo es un archivo creado automáticamente por el sistema utilizando otros archivos que son los que se deben modificar para cambiar los ajustes de Grub2. El archivo grub.cfg tambien se genera escribiendo en terminal:

sudo update-grub2

Los principales archivos para modificar las opciones de grub2 son:

  • Los contenidos en la carpeta /etc/grub.d/ o /etc/grub.d/10_linux

Este archivo contiene comandos y scripts que se encargan del kernel de linux en la particion principal.

  • Los contenidos en /etc/grub.d/30_os-prober

Este archivo contiene comandos y scripts que se encargan de otros sistemas operativos. El archivo tiene 4 secciones. Los cambios que realicemos en una sección no afectarán al resto de las secciones.

  • El archivo /etc/default/grub:

Una breve explicación de las líneas de este archivo:

  • GRUB_DEFAULT= 0/saved, con la opción 0 hacemos que se seleccione por defecto la primera entrada, con la opción 1, la segunda, y así succesivamente. Con la opción saved, hacemos que siempre seleccione la última entrada que se ejecutó.
  • GRUB_TIMEOUT=10, le ponemos el tiempo de espera hasta ejecutar la entrada que tenemos puesta como default.
  • 'GRUB_HIDDEN_TIMEOUT=0, esconde el menú de entradas del grub, si le ponemos un tiempo mas alto lo que hace es esconder el menú, pero esperarse un tiempo hasta continuar. Para hacerlo visible tenemos que comentar (escribir # al principio) la linea y que queda de la siguiente manera
  • GRUB_HIDDEN_TIMEOUT=0
  • GRUB_HIDDEN_MENU_QUIET=true/false, si está a "true" oculta la cuenta atrás, mientras que si está a "false" muestra la cuenta atrás.
  • GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian , determina el nombre de la entrada del menú.
  • GRUB_CMDLINE_LINUX="opciones", similar al altoptions del antiguo grub.
  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" quiet sirve para agrupar las entradas iguales, mientras que splash sirve para que nos muestre la imagen de carga en vez de los mensajes del kernel
  • GRUB_GFXMODE=640x480 descomentar (escribir # al principio) la línea activa el grub gráfico. Mediante el comando vbeinfo escrito en la linea de comandos del grub vemos las posibilidades. Por ejemplo:
  • GRUB_GFXMODE=1024x768
  • GRUB_DISABLE_LINUX_RECOVERY="true" Descomenta esta línea para que no aparezca la opción de recovery mode en el menú

Los de la carpeta /usr/sbin/ (solamente los que llevan grub*, son los comandos que se ejecutan en terminal) Los errores en las modificaciones de GRUB pueden llevar a problemas con el arranque. Por esto es recomendable hacer una copia de seguridad de los archivos que modifiquemos antes de realizar algún cambio

Enlaces externos

Fuentes

Referencias

  1. Lista de correo de GNU GRUB. Consultado 20 de junio, 2011.