Capítulo 3: Instalación de sistemas operativos libres y propietarios

Publicado por P. Ruiz en

Configuración del gestor de arranque del sistema operativo.

En general, podemos decir que el gestor de arranque es el software que actúa como puente entre el firmware del ordenador y el comienzo de la carga del sistema operativo. Aunque esta es su función principal, en ocasiones se completa con otras características, como la posibilidad de elegir entre diferentes sistemas operativos o la capacidad de iniciar otro tipo de programas, como los encargados de comprobar el funcionamiento de la memoria RAM, averiguar el hardware que se encuentra disponible, etc.

A continuación hablaremos con más detalle de los gestores de arranque en los sistemas operativos que usaremos a lo largo de este libro.

El gestor de arranque en sistemas Windows

Tradicionalmente, los sistemas operativos de Microsoft usaban NTLDR (del inglés NT Loader) para iniciar el arranque del sistema. Normalmente, NTLDR se ubicaba en el directorio raíz del disco principal del ordenador (aunque también podía encontrarse en dispositivos externos).

Para realizar su trabajo, se apoyaba en otro archivo, escrito en texto plano, donde se encontraban las opciones de inicio y que recibía el nombre de boot.ini.

Esto ocurrió hasta Windows XP, en la rama de escritorio, y Windows Server 2003, en la rama profesional.

uefi logoA partir de Windows Vista y Windows Server 2008, NTLDR fue sustituido por winload.exe y BOOTMGR (Windows Boot Manager). Además, boot.ini también fue reemplazado por BCD (Boot Configuration Data).

BCD no es un archivo, sino un conjunto de archivos almacenados en la carpeta boot. Tanto los programas de arranque como la carpeta pueden encontrarse en dos ubicaciones diferentes:

  • Si se trata de un ordenador equipado con ROM BIOS, se encuentran en el directorio raíz del sistema.

  • Si se trata de un ordenador equipado con UEFI (Unified Extensible Firmware interface), se ubican en una partición especial, llamada ESP (del inglés EFI System Partition).

Además, se encuentran cifrados, para que sólo puedan ser modificados desde la línea de comandos, con el programa bcdedit.exe ejecutándose con privilegios de administración.

bcdedit.exe es un programa muy útil y con un gran número de posibilidades, pero tiene el inconveniente de funcionar únicamente en modo texto.

EasyBCD logoAfortunadamente, disponemos de EasyBCD, un programa de Neosmart Technologies que nos permite realizar todo tipo de configuraciones en el arranque, independientemente de que sea BIOS o EFI, desde la interfaz gráfica de Windows.

La versión gratuita, para uso personal (que no incluye las últimas novedades), puede descargarse desde: http://neosmart.net/EasyBCD/.

El gestor de arranque en sistemas Linux

El gestor de arranque más utilizado en GNU/Linux se llama GRUB (de GNU GRand Unified Bootloader), aunque en la actualidad, podemos encontrar dos variantes:

  • GRUB Legacy: Es la versión más antigua. Ya no recibe nuevas características, aunque aún recibe actualizaciones cuando es necesario resolver algún error.

  • GRUB 2: Se trata de una nueva versión, que se está reescribiendo desde cero y que, aunque aún se encuentra en desarrollo, ya se incluye en muchas distribuciones.

Usando GRUB, podremos iniciar varios sistemas operativos localizados en distintas particiones o dispositivos del ordenador en el que se encuentra.

En realidad, GRUB está dividido en varias partes:

  1. La primera se encuentra en el MBR (Master Boot Record) del dispositivo de inicio. Así, cuando la BIOS termina de hacer sus comprobaciones iniciales y pasa el control al MBR del dispositivo de inicio, GRUB toma el control.

  2. La segunda está formada por un bloque de código, que puede encontrarse en cualquier parte del disco. Su principal objetivo es cargar en memoria el siguiente bloque.

  3. La tercera se encarga de mostrar al usuario un menú con las distintas opciones de arranque y comenzar la carga del núcleo del sistema elegido por el usuario.

Cuando nos encontremos en un ordenador con UEFI, la parte 2 de la lista anterior, deberá encontrarse obligatoriamente en la partición ESP. En estos casos, el firmware de la placa base cargará directamente esta parte, sin pasar por la 1.

En las primeras distribuciones de Linux, el cargador de arranque más usado era LILO (de Linux Loader), sin embargo en la actualidad, ha cedido su puesto a GRUB.