Product SiteDocumentation Site

El Gestor de Arranque GRUB

When a computer running Linux is turned on, the operating system is loaded into memory by a special program called a boot loader. A boot loader usually exists on the system's primary hard drive (or other media device) and has the sole responsibility of loading the Linux kernel with its required files or (in some cases) other operating systems into memory.
Este apéndice trata acerca de los comandos y de las opciones de configuración del gestor de arranque GRUB, incluido junto con Fedora para la arquitectura x86.

Btrfs

El gestor de arranque GRUB no tiene soporte para un sistema de archivos Btrfs. No puede utilizar una partición btrfs para /boot.

E.1. GRUB

GNU Grand Unified Boot loader o GRUB es un programa que habilita al usuario a seleccionar qué sistema operativo instalado o kernel cargar en el momento de arranque del sistema. Permite también que el usuario transmita argumentos al kernel.

E.1.1. Proceso de arranque en un sistema x86 y GRUB

En esta sección se desarrolla el papel específico de GRUB al arrancar un sistema x86. Para tener una visión general del proceso de arranque diríjase a la Sección F.2, “Vista Detallada del Proceso de Arranque”.
GRUB se carga a sí mismo en la memoria en las diferentes etapas:
  1. La BIOS del MBR lee en la memoria la primera etapa o el gestor de arranque primario[6]. El gestor de arranque primario ocupa menos de 512 bytes de espacio de disco dentro del MBR, y es capaz de cargar tanto el gestor de arranque de la Etapa 1.5, como el de la Etapa 2.
  2. El gestor de arranque de la Etapa 1 lee en la memoria el gestor de arranque de la Etapa 1.5 si es necesario. Algunos hardware requieren un paso intermedio para llegar a la Etapa 2 del gestor de arranque. A veces esto sucede cuando la partición /boot/ se encuentra por encima de los 1024 cilindros de disco duro o cuando utiliza el modo LBA. El gestor de arranque de la Etapa 1.5 se encuentra ya sea en la partición /boot/ o en una pequeña parte del MBR y de la partición /boot/.
  3. La Etapa 2 o el gestor de arranque secundario se lee en la memoria. El gestor de arranque secundario visualiza el menú GRUB y el entorno de comandos. Esta interfaz le permite seleccionar qué sistema operativo o kernel arrancar, pasar argumentos al kernel o ver los parámetros del sistema.
  4. El gestor de arranque secundario lee el sistema operativo o el kernel así como el contenido de /boot/sysroot/ en la memoria. Una vez GRUB determina que sistema operativo o que kernel iniciar, lo carga en la memoria y le pasa el control al la máquina de ese sistema operativo.
El método que se utiliza para arrancar Linux se llama carga directa porque el gestor de arranque carga el sistema operativo directamente. No existe intermediario entre el gestor de arranque y el kernel.
El proceso de arranque usado por otros sistemas operativos puede variar. Por ejemplo, los sistemas operativos de Microsoft® Windows®, así como otros sistemas operativos, se cargan mediante un método de arranque de carga encadenada. Bajo este método, el MBR señala el primer sector de la partición que tiene el sistema operativo. Allí encuentra los archivos necesarios para arrancar el sistema operativo.
GRUB soporta ambos métodos de arranque, directo y de carga encadenada, permitiendo arrancar desde casi cualquier sistema operativo.

Advertencia

During installation, Microsoft's DOS and Windows installation programs completely overwrite the MBR, destroying any existing boot loaders. If creating a dual-boot system, it is best to install the Microsoft operating system first.

E.1.2. Funciones de GRUB

GRUB contiene una serie de funciones que lo convierten en el método favorito respecto al resto de gestores de arranque disponibles para la arquitectura x86. A continuación tiene una lista de las características más importantes:
  • GRUB proporciona un verdadero entorno basado en comandos, pre-sistema operativo, para las máquinas x86. Esta funcionalidad le otorga al usuario una gran flexibilidad en la carga de sistemas operativos con opciones específicas o con la recopilación de información sobre el sistema. Durante muchos años, las arquitecturas diferentes a x86 han usado entornos previos al sistema operativo que permiten arrancar el sistema desde una línea de comandos.
  • GRUB supports Logical Block Addressing (LBA) mode. LBA places the addressing conversion used to find files in the hard drive's firmware, and is used on many IDE and all SCSI hard devices. Before LBA, boot loaders could encounter the 1024-cylinder BIOS limitation, where the BIOS could not find a file after the 1024 cylinder head of the disk. LBA support allows GRUB to boot operating systems from partitions beyond the 1024-cylinder limit, so long as the system BIOS supports LBA mode. Most modern BIOS revisions support LBA mode.
  • El GRUB puede leer particiones ext2. Esta funcionalidad le permite al GRUB acceder a su archivo de configuración, /boot/grub/grub.conf, cada vez que el sistema arranca, eliminando la necesidad de que el usuario tenga que escribir una versión nueva del gestor de arranque de la primera etapa al MBR cuando se realizan cambios a la configuración. La única vez que el usuario necesita reinstalar GRUB en el MBR es si el lugar físico de la partición /boot/ cambia de sitio en el disco. Para obtener más información sobre como instalar GRUB en el MBR diríjase a Sección E.2, “Cómo instalar el GRUB”.


[6] . Para obtener más información sobre el BIOS y el MBR del sistema, diríjase a Sección F.2.1, “La BIOS”