Diferencia entre revisiones de «GRUB (GRand Unified Bootloader)»

(Fuente)
 
(No se muestran 9 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
{{Software|nombre=GRUB (GRand Unified Bootloader)|logo=GRUB2.png|fecha de creación=[[1999]]|versiones=GNU/GRUB y GRUB2|sitio web=[http://www.gnu.org/software/grub Grup]
+
{{Ficha Software
}}  
+
|nombre=GRUB
 +
|familia=
 +
|imagen=Grub_1.jpeg‎
 +
|tamaño=
 +
|descripción=
 +
|imagen2=
 +
|tamaño2=
 +
|descripción2=
 +
|creador=
 +
|desarrollador=Proyecto GNU
 +
|diseñador=
 +
|modelo de desarrollo=
 +
|lanzamiento inicial=
 +
|versiones=
 +
|última versión estable=1.99 (GRUB2), 15 de mayo, 2011<ref>[http://lists.gnu.org/archive/html/grub-devel/2011-05/msg00032.html Lista de correo de GNU GRUB]. Consultado 20 de junio, 2011.</ref>
 +
|género=Cargador de arranque
 +
|sistemas operativos=Unix, Linux
 +
|idioma=
 +
|licencia=
 +
|premios=
 +
|web=http://www.gnu.org/software/grub/
 +
}}
  
El '''GRUB''' (GRand Unified Bootloader) es un gestor de arranque: es lo primero que se carga cuando se inicia la computadora. Permite tener diferentes sistemas operativos, y diferentes versiones de ellos, en el mismo disco duro.
+
'''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 [[Sistema Operativo|sistemas operativos]] instalados en un mismo equipo.
 
 
== Qué significa GNU/Grub ==
 
 
 
En [[Computación | computación]] es un administrador o gestor de arranque múltiple, desarrollado por el proyecto GNU, derivado del GRand Unified Bootloader (GRUB; en español: Gran Gestor de Arranque Unificado), que se usa comúnmente para iniciar uno de dos o más sistemas operativos instalados en un mismo equipo.
 
Por ejemplo podemos tener [[Windows]] y [[GNU/Linux]] en la misma computadora, GRUB se cargará antes que cualquiera de éstos permitiéndonos elegir cuál iniciar.
 
  
 
== Historia ==
 
== Historia ==
  
GRUB fue inicialmente diseñado e implementado por el programador [[Erich Stefan Boleyn]] como parte del trabajo en el arranque del sistema operativo [http://es.wikipedia.org/wiki/GNU_Hurd GNU Hurd] desarrollado por la [http://es.wikipedia.org/wiki/Free_Software_Foundation Free Software Foundation]. En [[1999]], [[Gordon Matzigkeit]] y [[Yoshinori Okuji]] convirtieron a GRUB en un paquete de software oficial del [http://es.wikipedia.org/wiki/Proyecto_GNU Proyecto GNU] y abrieron el desarrollo del mismo al público.
+
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.
 
 
 
 
== Grub como gestor de arranque ==
 
 
 
[[Image:Grub1.png|thumb|left|Grub con fondos en Debian]]
 
El gestor de arranque GRUB viene preinstalado en la mayoría de las distribuciones de GNU/Linux modernas, entre ellas Debian, Ubuntu y sus derivadas, aunque en algunas de las ultimas versiones de linux se usa como predetrminado el Grub 2.0.
 
Se usa principalmente en sistemas operativos GNU/Linux. El Sistema Operativo [[Solaris]] ha usado GRUB como gestor de arranque en sistemas x86 desde la revisión 10 1/06, aunque se sabe que la versión de Grub2 utilizada en la mayoria de las distribuciones no reconoce a [http://es.wikipedia.org/wiki/Solaris Solaris] o particiones ZFS esto se puede solucionar editando manualmente el archivo correspondiente a la lista correspondiente.
 
 
 
== Desarrollo ==
 
 
 
[[Image:Grub-single-user-763178.png|thumb|right|Grub a modo simple]]
 
El nombre de la versión más utilizada de GRUB es denominada GRUB Legacy. Esta versión es sobre la cual se solucionan los errores, pero no se añaden nuevas características. Los desarrolladores de GRUB han cambiado su enfoque hacia GRUB 2, una completa reescritura del gestor original, cuyos objetivos incluyen la puesta a un GNU GRUB con mayor limpieza, seguridad, robustez y poder.
 
 
 
El desarrollo de la versión más moderna, GRUB 2, se inició con el nombre de PUPA, hoy abandonado. El proyecto PUPA fue apoyado por la organización [[Information-technology Promotion Agency (IPA)]] en [[Japón]]. PUPA se integró en el desarrollo de GRUB 2 alrededor del [[2002]], cuando la versión 0.9x de GRUB fue renombrada a [[GRUB Legacy]]. Desde febrero del año [[2008]], GRUB 2 todavía sigue en desarrollo, aunque está siendo usado en las más recientes versiones de distribuciones de GNU/Linux y no está documentado.
 
 
 
Algunos de los objetivos del proyecto incluyen el soporte de plataformas no-x86, la internacionalización y localización, caracteres no ASCII, módulos dinámicos, gestión de memoria, un mini-lenguaje de escritura de guiones, la migración de plataforma específica (x86) de código a la plataforma de módulos específicos y un marco orientado a objetos.
 
  
 
== Descripción ==
 
== Descripción ==
  
[[Image:103_grub.png|thumb|left|Grub 2]]
 
 
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.
 
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.
  
Línea 65: Línea 64:
 
=== Inicio del grub ===
 
=== Inicio del grub ===
  
[[image:00001-300x225.jpg|thumb|right|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.
 
* 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 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.
Línea 109: Línea 107:
 
Los de la carpeta '''/usr/sbin/''' (solamente los que llevan grub*, son los comandos que se ejecutan en terminal)  
 
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
 
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
 
=== GRUB en un disquete  ===
 
 
Cuando el cargador de arranque de [[Windows]] sustituye al de [[GNU/Linux|GNU/Linux]] y se desea arreglarlo, hay una herramienta que lo permite: '''Super Grub Disk'''. Está disponible en Internet, pero para los que tienen limitaciones con la navegación o simplemente prefieren tirar líneas en el terminal, he seleccionado estos 10 comandos para tener el GRUB en un disquete, algo verdaderamente muy útil.
 
 
Con un disco floppy de 1.44Mb puesto en la unidad se teclea lo siguiente:
 
[[Image:Grubreins.png|thumb|left|Recuperación del Grub]]
 
* fdformat /dev/fd0
 
* sudo mkfs /dev/fd0
 
* sudo mount /media/floppy0
 
* sudo mkdir p /media/floppy/boot
 
* sudo cp r /boot/grub/media/floppy/boot
 
* sudo umount /media/floppy
 
* sudo grub
 
* root (fd0)
 
* setup (fd0)
 
* quit
 
 
 
Luego de haber entrado nuevamente a la distro de [[GNU/Linux|GNU/Linux]] con el disquete, se usa el comando:
 
 
'''sudo grubinstall /dev/hd0'''
 
 
para volver a instalar el GRUB en el dico duro. O de la siguiente manera con el intérprete de comandos del GRUB:
 
 
* sudo grub
 
* root (hdX,Y)
 
* setup (hdX)
 
* quit
 
 
(Donde X es el número del disco duro y Y la partición donde está instalado en [[GNU/Linux|GNU/Linux]], siempre tomando que estas se empiezan a numerar por 0)
 
 
Los que son viejos en el mundo del pingüino, siempre arreglaban este problema con cualquier LiveCD de [[Knoppix]], pero esta solución es sin dudas más rápida y eficiente, pues permite editar el archivo '''menu.lst''' de este GRUB portable, en cualquier momento.
 
  
 
== Enlaces externos  ==
 
== Enlaces externos  ==
  
* [http://www.guia-ubuntu.org/index.php?title El Grub] 
 
 
* [http://www.gnu.org/software/grub/ Sitio web oficial de GRUB]
 
* [http://www.gnu.org/software/grub/ Sitio web oficial de GRUB]
* [https://wiki.ubuntu.com/Grub2 Wiki de Grub2 en Ubuntu]  
+
* [https://wiki.ubuntu.com/Grub2 Wiki de Grub2 en Ubuntu]
  
 
== Fuentes  ==
 
== Fuentes  ==
  
 +
* [http://www.gnu.org/software/grub/manual/html_node/History.html Historia de GNU GRUB]
 
* GRUB en un disquete. [[Revista Unix]] Febrero 2008. pp. 11-12.
 
* GRUB en un disquete. [[Revista Unix]] Febrero 2008. pp. 11-12.
 
* Manual de plataforma de código abierto 2008
 
* Manual de plataforma de código abierto 2008
  
[[Category:Ciencias_informáticas]]
+
== Referencias ==
 +
 
 +
<references/>
 +
 
 +
[[Category:Software]]

última versión al 09:12 5 ago 2013

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.