GRUB/es

GRUB2 es un gestor de arranque con soporte para los modernos sistemas informáticos de hoy en día. Está destinado a sustituir al antiguo gestor de arranque GRUB (ahora denominado «GRUB Legacy»). GRUB2 tiene una base de código totalmente independiente con respecto a GRUB Legacy y cuenta con características tales como una nueva sintaxis de shell que permite capacidades avanzadas en el lenguaje de programación de scripts. Se anima a los actuales usuarios de Legacy GRUB a migrar sus sistemas a GRUB2.

Para una primera aproximación, vea GRUB2 Quick Start.

Instalación
El paquete viene integrado con ambas versiones. Tanto grub-0.97 (GRUB Legacy) como grub-2.00 pueden ser instalados conjuntamente en el sistema, sin embargo, solo una de las versiones de GRUB puede ser instalada en un MBR a la vez. En este artículo, nos centraremosmos en GRUB2.

De forma predeterminada, GRUB2 intentará determinar la plataforma de destino al tiempo de la compilación. Este valor puede alterarse definiendo la variable  en.

Las siguientes plataformas son compatibles dependiendo de la CPU de destino:

Para instalar GRUB2 utilice la sintaxis normal de emerge:

Opcionalmente, puede instalar la utilidad os-prober (proporcionada por el paquete ) para que GRUB2 explore la presencia de otros sistemas operativos al ejecutar la orden grub2-mkconfig. En la mayoría de los casos, esto permitirá a GRUB2 detectar automáticamente otros sistemas operativos (Windows 7, Windows 8.1, etc.).

Las instalaciones de GRUB2 (y opcionalmente ) no activan automáticamente el gestor de arranque. Esta acción solo instala el software en el sistema operativo, pero para instalar el gestor de arranque para el propio sistema (para usarlo para arrancar el sistema), deben realizarse algunos pasos adicionales, que se tratan en la sección Configuración.

Configuración
Hay dos aspectos importantes ha tener en cuenta en la configuración de GRUB2:
 * 1) La instalación del software GRUB2 como gestor de arranque del sistema.
 * 2) La configuración del propio gestor de arranque GRUB2.

La instalación del software GRUB2 es específico según el tipo de sistema, y se trata en instalar el gestor de arranque. Primero trataremos la configuración del propio gestor de arranque.

Fichero principal de configuración
GRUB2 no requiere, a priori, intervención manual para configurar las opciones de arranque (como es el caso de gestores de arranque tales como GRUB Legacy y LILO). En su lugar, puede generar su fichero de configuración utilizando la orden grub2-mkconfig. Esta utilidad usa los scripts que residen en el directorio y los ajustes realizados en el fichero.

Después de realizar uno o varios ajustes en la configuración, debe ejecutar la utilidad grub2-mkconfig con la opción -o para que apunte al fichero de salida situado en (esta es la ubicación de salida por defecto de GRUB2):

Cada vez que la utilidad grub2-mkconfig es invocada, se genera una nueva configuración del fichero.

Definir los parámetros de la configuración
GRUB2 utiliza como su fichero de configuración. Sin embargo, se aconseja generar automáticamente este fichero basado en las entradas de configuración definidas en. El fichero utiliza emparejamientos de clave/valor que son utilizados por los scripts localizados en para generar un fichero de configuración funcional.

Las siguientes variables son algunas de las más comunes de definir para controlar cómo funcionará GRUB2:

Para obtener una lista más completa, consulte la subpágina de las variables de configuración de GRUB2.

Después de modificar los parámetros, genere el fichero de configuración de GRUB2 con grub2-mkconfig.

Activar o desactivar los scripts de configuración
El directorio contiene los scripts que grub2-mkconfig  utiliza para generar un fichero. Por defecto, el contenido de este directorio debe ser similar al siguiente:

GRUB2 utilizará todos los scripts instalados que estén marcados como ejecutables (que, por defecto, lo están todos). Para desactivar cualquiera de los scripts, simplemente quite el bit de ejecución de los permisos del fichero del script, utilizando la orden chmod. En el siguiente ejemplo, cada script, salvo y, serán desactivados:

Después de modificar los scripts (o quitar el bit de ejecución), genere el fichero de configuración GRUB2 utilizando grub2-mkconfig.

Manipular los scripts de configuración
Algunas de las características o funcionalidades de grub2 solo es posible desarrollarlas mediante la modificación de los scripts de configuración. Por ejemplo, para permitir el arranque dual con FreeBSD, es necesario realizar las siguientes modificaciones.

Cambiar el script como sigue:

o  es la partición en la que reside FreeBSD. Si se utilizó la instalación normal de UFS para la partición de FreeBSD, entonces será un contenedor (algo así como una partición lógica). Este comprende la partición de intercambio y la raíz. Verifique con ls -la /etc/grub.d/40_custom que el script es ejecutable. Si el bit de ejecución no está establecido, entonces, configúrelo con la orden chmod u+x 40_custom.

A continuación, instale GRUB2 con la orden grub2-install y actualice el fichero de configuración de GRUB2:

Instalar el gestor de arranque
La instalación de GRUB2 como gestor de arranque del sistema dependerá de cómo se pretende arrancar el sistema (a través de BIOS o UEFI) y de cómo está particionado el disco en el que se va a instalar el gestor (con un esquema de particionado MBR o GPT).

Este artículo trata las siguientes situaciones:


 * BIOS con MBR
 * BIOS con GPT
 * UEFI con GPT

Seleccione las instrucciones de instalación adecuadas para su sistema.

BIOS con MBR
Make sure that the location is available - if this uses a separate partition, make sure that it is mounted:

Run the grub2-install command to copy the relevant files to. On the PC platform, this also installs a boot image to the Master Boot Record (MBR) or a partition's boot sector. If all goes well, after running the grub2-install command an output such as the one below is to be expected:

grub2-install accepts a --target option to set the CPU architecture and system platform. If unspecified, grub2-install will attempt to guess the proper values; on an AMD64/x86 system it will use i386-pc</tt> by default. grub2-install</tt> also accepts a --boot-directory</tt> option to tell the GRUB2 installer which directory to look for GRUB2's boot files. This defaults to the current but is useful when trying to move a root partition.

Partitioning for BIOS with MBR
Be sure to leave enough free space before the first partition. Starting the first partition at sector 2048 leaves at least 1 MiB of disk space for the master boot record. It is recommended (but not mandatory) to create an additional partition for GRUB called the BIOS boot partition. This partition just needs to be defined, but not formatted.

If the Gentoo installation instructions were followed, this BIOS boot partition will already be avaialble.

BIOS with GPT
If a partition is needed, start by mounting the  partition:

If all goes well, after running the grub2-install command an output such as the one below is to be expected:

grub2-install</tt> accepts a --target</tt> option to set the CPU architecture and system platform. If unspecified, grub2-install</tt> will attempt to guess the correct at the correct values; on an AMD64/x86 system it will use i386-pc</tt> by default. grub2-install</tt> also accepts a --boot-directory</tt> option to tell the GRUB2 installer which directly to look for GRUB2's boot files. This defaults to the current but is useful when trying to move a root partition.

Partitioning for BIOS with GPT
When a GPT partition table is present on the system, a small BIOS boot partition (with type, which is different from the EFI System Partition (ESP) which has type  ) will need to be available. 1 MiB will be enough to work but 2-4 MiB is a more safe option. This BIOS boot partition will hold the stage 2 of the bootloader. BIOS boot partitions do not need formatted with a filesystem; the grub2-install</tt> command will overwrite any pre-existing filesystem with one of it's own.

To set a partition as a BIOS partition use the command line tool parted by typing (change   to the number of the partition to mark as a BIOS Boot partition!):

With 's cgdisk</tt> utility, this is accomplished by setting the partition type to  and give it a label of.

An EFI System Partition is not required, but it would be sensible to make sure that the BIOS boot partition is large enough to be converted to one, should the system motherboard later be upgraded to an EFI board.

The following is the output of pressing the key using the gdisk utility on a GPT partitioned disk with both a BIOS boot [0xEF02] partition and an EFI [0xEF00] partition:

Using the same setup, the parted utility gives an output with slightly different syntax:

Creating partitions in gdisk</tt> is straight forward for users already familiar with the fdisk</tt> partitioning utility. After starting gdisk, type (for new) in the main menu, provide beginning and end sectors (if needed), then set the partition type   for an EFI system partition.

Users who have followed the Gentoo installation instructions will already have the proper partitioning layout set up.

UEFI with GPT
Make sure that the location is available - if this uses a separate partition, make sure that it is mounted:

Run the grub2-install command to copy the relevant files to. This should install Grub2 in, copy the core image to , and call efibootmgr to add a boot entry.

grub2-install</tt> accepts a --target</tt> option to set the CPU architecture and system platform. If unspecified, grub2-install</tt> will attempt to guess the proper values; on an AMD64/x86 system it will use <tt>i386-pc</tt> by default. <tt>grub2-install</tt> also accepts a <tt>--boot-directory</tt> option to tell the GRUB2 installer which directory to look for GRUB2's boot files. This defaults to the current but is useful when trying to move a root partition.

Partitioning for UEFI with GPT
For UEFI GPT boot using GRUB2, the system must have a dedicated EFI partition containing a FAT filesystem.

The EFI partition can replace having a partition on  by having a  partition on. This is to say a successful EFI boot scenario using GRUB2 can operate with two partitions total (three total if a swap partition is needed): a root partition and an EFI partition. Using this configuration, the folder will be located in the root  partition (at ) and the EFI partition will mount in the boot folder (at ). For further clarification, see the example file below.

Generating a 100MB partition for should provide plenty of space for holding multiple  files (multiple entries will most likely not be needed; most systems will only use one).

Create the partition using the partitioning tool of choice. The <tt>gdisk</tt> and <tt>parted</tt>  tools fit nicely for this purpose. When using the <tt>gdisk</tt> utility, be sure to use type.

Proceed to create a FAT filesystem on the EFI system partition using mkdosfs and add it to by following the example below:

Alternative: using the default UEFI firmware location
If the system's UEFI firmware fails to find GRUB2's EFI bootloader file, using the default boot loader location should provide a working solution. This circumvents the boot menu managed by efibootmgr and thus offers reduced functionality, but is less error prone. Do do this, verify the EFI partition is mounted at then copy the file  located at  to. This example assumes a 64-bit EFI system, adjust accordingly for 32-bit EFI systems.

Extended features
GRUB2 has many features that make it a very powerful boot loader. It supports:
 * booting from UEFI platforms.
 * booting from GPT partitioned drives without needing a hybrid MBR (hybrid MBR can enabled as needed for compatibility or portability).
 * booting from a btrfs formatted partition.
 * booting directly from a btrfs raid set without needing an initramfs for early mount setup.
 * booting directly from logical volume management (such as LVM2).
 * booting with support for DM-RAID (RAID 0, 1, 4, 5, 6, 9 and 10).
 * booting from encrypted devices (LUKS).

Some specific features are explained in more detail next.

Chainloading
GRUB2 was built with a truly improved chainload mode when compared to GRUB Legacy. To chainload another boot loader, use the  option.

For more information on chainloading, please see the Chainloading sub-page.

Using framebuffer display
To have GRUB2 use a framebuffer graphical display, re-emerge GRUB with the  USE flag enabled. This will install a default True Type font as well as a font conversion utility.

Proceed to configure the default GRUB2 configuration file located at. For example:

In order to find out what display modes the system's graphics card supports, use the following commands on the GRUB2 shell:

Troubleshooting
Most of the issues can be resolved by ensuring that the partition layout is correct. Make sure enough space is available before the first partition of the disk, or optionally make sure that a BIOS boot partition is available. Also verify that was correctly generated with grub2-mkconfig, or generate one with a custom menu entry.

For more GRUB2 troubleshooting, please refer to the Troubleshooting sub-page.

External resources
For more information, please see:


 * GNU GRUB 2 manual page
 * Network (PXE) section of GRUB2
 * Legacy BIOS issues with GPT article
 * GPT and Hybrid MBR article
 * GPT fdisk utility page
 * Arch Linux GRUB2 wiki article
 * Fedora GRUB2 wiki article : Encountering the dreaded GRUB2 boot prompt
 * ubuntu UEFI booting help
 * http://unix.stackexchange.com/questions/109272/dualboot-freebsd-gentoo-with-grub2-mbr