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

 
(No se muestran 19 ediciones intermedias de 3 usuarios)
Línea 1: Línea 1:
{{Normalizar}}{{Software|nombre=GRUB (GRand Unified Bootloader)|logo=GRUB2.png|fecha de creación=|versiones=|sitio web=}}  
+
{{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 [[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.  
+
'''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.
  
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).
+
== Historia ==
  
El [[GRUB]] (GRand Unified Bootloader) es un Gestor de arranque desarrollado por el Proyecto GNU y que hoy día viene preinstalado en la mayoría de las distribuciones de [[GNU/Linux]] modernas.  
+
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.
  
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.
+
== Descripción ==
  
Este artículo no pretende ser una presentación del GRUB y sus caracteríticas, sino una guía para solucionar un problema que puede surgir cuando se comparten Windows y GNU/Linux en una sola computadora.  
+
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.
  
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 Sistema de Bill Gates en su '''''boot.ini'''''.  
+
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|GNU/Linux]] sin borrarlo, o cuando necesitamos actualizar [[Microsoft Windows|Windows]] a una nueva versión en la PC con dual boot.  
 
Hasta aquí todo va bien, pero el problema surge cuando necesitamos instalar Windows en una PC que sólo tiene [[GNU/Linux|GNU/Linux]] sin borrarlo, o cuando necesitamos actualizar [[Microsoft Windows|Windows]] a una nueva versión en la PC con dual boot.  
Línea 17: Línea 62:
 
En este caso, el gigante de la [[Microsoft|Microsoft]] no implementó nada que permitiera una actualización casi transparente como en GNU/Linux. Por lo tanto, cualquier modificación de [[Microsoft Windows|Windows]] traería consigo la reescritura del Master Boot Record (MBR) y la inutilización del GRUB.  
 
En este caso, el gigante de la [[Microsoft|Microsoft]] no implementó nada que permitiera una actualización casi transparente como en GNU/Linux. Por lo tanto, cualquier modificación de [[Microsoft Windows|Windows]] traería consigo la reescritura del Master Boot Record (MBR) y la inutilización del GRUB.  
  
== GRUB en un disquete  ==
+
=== 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
  
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.  
+
Este archivo contiene comandos y scripts que se encargan del kernel de linux en la particion principal.  
  
Con un disco floppy de 1.44Mb puesto en la unidad se teclea lo siguiente:
+
* Los contenidos en /etc/grub.d/30_os-prober
  
<big><pre>fdformat /dev/fd0
+
Este archivo contiene comandos y scripts que se encargan de otros sistemas operativos.
sudo mkfs /dev/fd0
+
El archivo tiene 4 secciones. Los cambios que realicemos en una sección no afectarán al resto de las secciones.
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
 
</pre></big>
 
  
Luego de haber entrado nuevamente a la distro de GNU/linux con el disquete, se usa el comando:
+
* Las cuatros secciones son [[Windows]], otras particiones [[Linux]], [[OSX]] y [[Hurd]].
  
<big><pre>sudo grubinstall /dev/hd0</pre></big>
+
* El archivo /etc/default/grub:
  
para volver a instalar el GRUB en el dico duro. O de la siguiente manera con el in térprete de comandos del GRUB:  
+
Una breve explicación de las líneas de este archivo:
  
<big><pre>sudo grub
+
* '''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ó.
root (hdX,Y)
+
* '''GRUB_TIMEOUT'''=10, le ponemos el tiempo de espera hasta ejecutar la entrada que tenemos puesta como default.
setup (hdX)
+
* '''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
quit</pre></big>
+
* '''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ú
  
(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 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 que somos viejos en el mundo del pingüino, siempre solíamos arreglar 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  ==
  
== Ayuda  ==
+
* [http://www.gnu.org/software/grub/ Sitio web oficial de GRUB]
 +
* [https://wiki.ubuntu.com/Grub2 Wiki de Grub2 en Ubuntu]
  
Para más información sobre el GRUB y su configuración, pueden visitar la página:
+
== Fuentes  ==
  
[http://www.guia-ubuntu.org/index.php?title http://www.guia-ubuntu.org/index.php?title] GRUB  
+
* [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.
 +
* Manual de plataforma de código abierto 2008
  
== Fuente  ==
+
== Referencias ==
  
''GRUB en un disquete''. [[Revista Unix]] Febrero 2008. pp. 11-12.
+
<references/>
  
[[Category:Ciencias_informáticas]]
+
[[Category:Software]]
'''Texto en negrita'''
 

ú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.