Proceso de Arranque de Linux (boot)
Comprende cómo funcionan los administradores de Boot en Linux
Cualquier computadora PC cuando se enciende inicia una serie de acciones complejas de prueba de hardware programada por una memoria especial llamada BIOS.
Esta memoria tiene la función de encender la máquina, reconociendo los dispositivos instalados y realizando la carga del sistema operativo.
Durante el boot, el BIOS realiza una serie de pruebas, cuya función es determinar con exactitud los componentes de hardware instalados en el sistema. Esta prueba se llama POST (power-on self test).
Es a través del POST que la computadora busca información sobre los números y los tipos de placas, unidades de cd-rom, discos rígidos, puertos seriales, paralelos y USB, monitor, mouse, teclado, etc.
Después de las pruebas de hardware, la BIOS busca en los dispositivos de discos rígidos y CD-ROM una dirección especial llamada sector de boot.
En las placas madre que adoptan el sistema EFI o UEFI, el proceso de carga del sistema operativo implica leer un archivo especial de carga desde un sistema de archivos en una partición especial llamada EFI System Partition (ESP).
Esta partición especial usa el formato FAT (File Allocation Table). En Linux típicamente se monta en /boot/efi.
Este esquema utilizado por EFI es más complejo que en BIOS, permitiendo que cada sistema operativo instalado en la computadora tenga su propio sistema de carga de boot separado.
De esta forma, EFI posee un "administrador de boot" que permite al usuario elegir qué sistema de carga de boot desea iniciar cuando enciende la computadora.
Para que este sistema "administrador de boot" de EFI funcione, es necesario que los sistemas de carga de boot estén debidamente registrados en el firmware a través del propio utilitario de EFI o a través del programa efibootmgr en Linux.
Proceso de Carga del Kernel
Dependiendo del tipo de disco utilizado, el sector de boot, o sector de carga, está ubicado en una ubicación específica con una firma determinada definida por estándares de la industria.
En el sector de boot es donde los sistemas operativos graban el software responsable de iniciar la carga del sistema operativo.
De esta forma, la BIOS o firmware de placa madre busca en el sector de boot del disco el administrador de boot.
En Linux los administradores más comunes son GRUB y GRUB 2. Son responsables de la carga del Kernel en la memoria.
Durante la carga del kernel, Linux carga un sistema de archivos especial llamado initramfs, que contiene una versión minimalista del sistema de archivos, para que el proceso init (padre de todos los procesos en Linux) pueda ser cargado.
Esto permite que diversas tareas puedan ejecutarse antes de que el sistema de archivos real sea cargado.
Después de la carga del Kernel, este inicia un proceso especial llamado init (para sistemas basados en SystemV) o el systemd (para sistemas basados en Systemd).
Tanto init como systemd son el padre de todos los procesos y responsables del resto de la carga del boot de Linux.
Después de la carga del boot, init llama a otro programa especial llamado getty, que es responsable de la autenticación de los usuarios y del inicio del proceso de shell.
Mira cómo funciona GRUB en Linux:
Aprende mucho más sobre Linux en nuestro curso en línea. Puedes hacer la inscripción aquí con trial de 7 días gratis. Si ya tienes una cuenta, puedes acceder aquí.
¿Te gustó? Comparte :-)
Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.