Arrancar se refiere al proceso de iniciar su computadora y se puede inicializar presionando un botón de hardware o mediante un comando de software. Verá, cuando la CPU está encendida, no tiene acceso a ningún software en su memoria principal. El proceso de arranque carga el software necesario para que su computadora pueda iniciar el sistema operativo.
Para esta lectura, profundizaremos en la comprensión del proceso de arranque de Linux y por qué es esencial saber cómo funciona.
Nota :Según el sistema operativo que utilice, el proceso de arranque será ligeramente diferente. Mencionaremos dónde encontrará diferencias a lo largo del artículo.
¿Cómo puede ayudarle conocer el proceso de arranque de Linux?
Digamos que te sientas con tu PC, te preparas para comenzar a trabajar (o jugar) y presionas el botón de encendido en la CPU. Pero que es esto? Su computadora no se enciende y está emitiendo algunos pitidos extraños.
Bueno, en esta situación, puede llamar a un técnico, lo que significa que deberá esperar al menos un par de horas para solucionar el problema y le costará dinero. O puede arreglarlo usted mismo, pero para hacer esto, necesitará una comprensión profunda del proceso de arranque.
Aquí hay algunos escenarios en los que conocer el proceso de arranque de Linux puede ayudarlo:
- No puedes encender tu computadora en absoluto.
- Su computadora se está encendiendo, pero solo ve una pantalla en blanco.
- La computadora está atascada en un bucle de arranque:se enciende y se apaga en un bucle.
- El sistema operativo no se carga.
Al comprender el proceso de arranque de Linux, puede diagnosticar y solucionar rápidamente los problemas de su sistema y luego corregirlos.
Además de esto, conocer el proceso de arranque también te permitirá personalizarlo. Esto le ayudará a obtener control sobre su PC a un nivel mucho más fundamental.
El proceso de arranque de Linux
El proceso de arranque de Linux, o cualquier otro proceso de arranque, es una secuencia de eventos que eventualmente lleva a cargar su PC para que pueda acceder al sistema operativo. Ahora, en Linux, hay seis etapas distintas en el proceso de arranque. Estos son los siguientes:
- BIOS
- MBR
- GRUB
- Núcleo
- Inicio
- Programas de nivel de ejecución
Repasaremos estas seis etapas en detalle para comprender cómo se inicia su computadora.
Nota :Hay algunas excepciones a este proceso de arranque de 6 etapas. Algunas distribuciones de Linux prefieren ofrecer su secuencia de arranque personalizada. Dicho esto, lo que discutiremos aquí se ha utilizado históricamente con Linux y todavía lo utilizan muchas de las principales distribuciones de Linux.
#1. BIOS
BIOS es la abreviatura de Sistema básico de entrada y salida. Cuando enciende su computadora, se llama al BIOS y ejecuta algunas verificaciones de integridad para ver si su HDD o SSD funcionan correctamente.
Después de esto, el BIOS buscará el programa del cargador de arranque, lo cargará en la memoria y luego lo ejecutará. El programa del cargador de arranque se encuentra dentro del MBR - Master Boot Record.
Ahora, el MBR no necesariamente debe cargarse dentro del HDD o SSD. A veces puede estar en una memoria USB o CD-ROM, que se usa durante una instalación en vivo de Linux. Después de cargar el programa del cargador de arranque en la memoria, el BIOS le entregará el control y pasamos al siguiente paso del proceso de arranque.
#2. MBR
Como acabamos de comentar anteriormente, MBR es la abreviatura de Master Boot Record. Contiene información sobre GRUB o LILO en el caso de sistemas muy antiguos.
La función del MBR es cargar y ejecutar el cargador de arranque GRUB para continuar con el proceso de arranque.
El MBR se encuentra en el primer sector del disco de arranque. Por lo general, puede encontrar esto en /dev/hda o /dev/sda . Esta ubicación depende principalmente del hardware, ya sea que esté arrancando desde un HDD, SSD, Pendrive o CD.
#3. GRUB
GRUB, a menudo llamado GNU GRUB (GNU Grand Unified Bootloader), es el cargador de arranque principal para la mayoría de los sistemas Linux modernos.
Al encender su PC, lo primero que ve es la pantalla de inicio de GRUB. Permanece en la pantalla momentáneamente y muestra un menú simple con un par de opciones. En caso de que tenga varias imágenes del núcleo instaladas en su sistema, las verá en este menú.
Luego puede usar su teclado (no se admite el mouse) para seleccionar los núcleos con los que desea que arranque su sistema.
El kernel más reciente se seleccionará de forma predeterminada. Si no se realiza ninguna acción (es decir, no selecciona ningún kernel con el teclado), el sistema se iniciará automáticamente en el kernel predeterminado.
Según la distribución de Linux que esté utilizando y su antigüedad, la ubicación del archivo GRUB puede variar. Lo más probable es que lo encuentre en /boot/grub/grub.conf o /etc/grub.conf .
Aquí hay un vistazo rápido al contenido de muestra de un grub.conf archivo.
default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz # section to load Linux title Red Hat Enterprise Linux (2.4.21-1.ent) root (hd0,0) kernel /vmlinuz-2.4.21-1 ro root=/dev/sda2 initrd /initrd-2.4.21-1.img # section to load Windows title Windows rootnoverify (hd0,0) chainloader +1
Nota :En caso de que no pueda encontrar la ubicación de grub.conf archivo en su sistema, puede buscar la documentación de su distribución de Linux, o ejecutar una búsqueda en Google, y debería darle la ubicación del archivo.
Para obtener más información sobre las funciones de grub.conf archivo, puede leer este artículo.
Después de seleccionar el kernel con el que desea iniciar su sistema, pasamos a la siguiente etapa.
#4. Núcleo
En resumen, un kernel es el núcleo del sistema operativo Linux (así como de otros sistemas operativos) y tiene control total sobre todo en el sistema.
Una vez que GRUB seleccione el kernel, montará el sistema de archivos raíz que se ha especificado en grub.conf expediente. Una vez que se haya montado, el kernel ejecutará /sbin/init programa.
Este es siempre el primer programa que se ejecuta durante el arranque del sistema. Puede confirmarlo comprobando el ID de proceso (PID) de este programa, que siempre se establecerá en 1.
A continuación, hasta que se monte el sistema de archivos real, el kernel creará un sistema de archivos raíz temporal mediante el disco RAM inicial:initrd . Esto apenas toma uno o dos segundos.
#5. Inicial
El sistema ahora está listo para comenzar a ejecutar los programas de nivel de ejecución. Primero deberá acceder al archivo de inicio, que generalmente se encuentra en esta ruta:/etc/inittab . Este archivo es necesario para decidir los niveles de ejecución de Linux.
Dicho esto, la mayoría de los sistemas Linux modernos se han movido a "systemd" para elegir el nivel de ejecución. Aquí hay un artículo detallado para ayudarlo a comprender "systemd".
#6. Programas de nivel de ejecución
Los programas de nivel de ejecución cambian de una distribución de Linux a otra. Como tal, dependiendo de la distribución de Linux que esté utilizando, es posible que vea un lote completamente diferente de programas de nivel de ejecución que se inician.
Cada uno de los niveles de ejecución tiene sus directorios, y los programas específicos de los niveles de ejecución se encuentran en el directorio correspondiente. Como tal, los programas de nivel de ejecución correspondientes a un directorio anterior se ejecutarán primero, seguidos por el resto en orden ascendente.
La siguiente es la lista habitual de directorios que corresponden a los seis niveles de ejecución diferentes:
- Ejecutar nivel 0 – /etc/rc0.d/
- Ejecute el nivel 1:/etc/rc1.d/
- Ejecute el nivel 2 – /etc/rc2.d/
- Ejecute el nivel 3 – /etc/rc3.d/
- Ejecute el nivel 4:/etc/rc4.d/
- Ejecute el nivel 5:/etc/rc5.d/
- Ejecute el nivel 6:/etc/rc6.d/
Nota :La ubicación exacta de los directorios variará según su distribución de Linux. Si no puede encontrar los directorios de nivel de ejecución, consulte la documentación del sistema operativo o realice una búsqueda rápida en Google.
Puede revisar los diferentes programas ubicados en los directorios de nivel de ejecución y encontrar que algunos de los programas comienzan con una "K" o una "S". Aquí, la K significa "matar" y la S representa "comenzar". Los programas de "inicio" se ejecutan durante el proceso de inicio del sistema, mientras que los programas de "eliminación" se ejecutan durante el apagado del sistema.
Conclusión
Este fue un vistazo rápido al proceso de arranque de Linux. A estas alturas, debe tener una comprensión rudimentaria de cómo su sistema pasa por 6 etapas diferentes antes de obtener acceso a su sistema operativo y al escritorio.
Esperamos que esto le haya resultado útil y, en caso de que tenga algún problema, puede dejar sus preguntas en la sección de comentarios y nos pondremos en contacto con usted lo antes posible.
Hasta entonces, si está comenzando con Linux, tenemos toneladas de guías para principiantes, procedimientos y tutoriales sobre Linux, para ayudarlo a comprender mejor el sistema operativo y comenzar a trabajar con él de manera más eficiente.