Una guía básica para el proceso de arranque de Linux

Una guía básica para el proceso de arranque de Linux

Cada vez que enciende en su PC Linux, pasa por una serie de etapas antes de mostrar finalmente una pantalla de inicio de sesión que solicita su nombre de usuario o contraseña. Hay 4 etapas distintas por las que cada distribución de Linux pasa en un proceso de arranque típico.

Solicitante de inicio de sesión del usuario

En esta guía, resaltaremos los diversos pasos tomados por el sistema operativo Linux desde el momento en que se enciende hasta el momento en que inicia sesión. Tenga en cuenta que esta guía solo tiene en cuenta el Grub2 gestor de arranque y system Init como están actualmente en uso por una gran mayoría de las distribuciones modernas de Linux.

El proceso de arranque toma los siguientes 4 pasos que discutiremos con mayor detalle:

  • Biografía Verificación de integridad (CORREO)
  • Carga del cargador de arranque (Grub2)
  • Inicialización del núcleo
  • A partir de system, el padre de todos los procesos

1. La verificación de integridad del BIOS (publicación)

El proceso de arranque generalmente se inicializa cuando un usuario presiona el encendido Botón: si la PC ya estaba cerrada, o reinicia el sistema utilizando la GUI o en la línea de comando.

Cuando el sistema Linux se enciende, el Biografía (Basic Input Output System) patea y realiza un Poder en la auto prueba (CORREO). Esta es una verificación de integridad que realiza una gran cantidad de verificaciones de diagnóstico.

El CORREO sondea la operabilidad del hardware de componentes como el HDD o SSD, Teclado, RAM, USB puertos y cualquier otra pieza de hardware. Si no se detecta algún dispositivo de hardware, o si hay un mal funcionamiento en cualquiera de los dispositivos, como un HDD o SSD corrupto, se salpica un mensaje de error en la pantalla que solicita su intervención.

En algunos casos, un sonido de pitido se activará especialmente en el caso de un módulo RAM faltante. Sin embargo, si el hardware esperado está presente y funciona como se esperaba, el proceso de arranque avanza a la siguiente etapa.

2. El gestor de arranque (Grub2)

Una vez el CORREO está completo y la costa está despejada, la Biografía sondea el MBR (Registro de arranque principal) para la información de partición del cargador de arranque y disco.

El MBR es un código de 512 bytes que se encuentra en el primer sector del disco duro que generalmente es /dev/sda o /dev/hda Dependiendo de la arquitectura de su disco duro. Tenga en cuenta, sin embargo, que a veces el MBR se puede ubicar en un USB en vivo o DVD Instalación de Linux.

Hay 3 tipos principales de cargadores de arranque en Linux: Lilo, COMIDA, y Grub2. El Grub2 Bootloader es el último y principal cargador de botas en las distribuciones modernas de Linux e informa nuestra decisión de dejar de lado a los otros dos que se han vuelto anticuados con el paso del tiempo.

Grub2 representa Gran gestor de arranque unificado versión 2. Una vez el Biografía localiza el gestor de arranque Grub2, lo ejecuta y lo carga en la memoria principal (RAM).

El grub2 El menú le permite hacer un par de cosas. Le permite seleccionar la versión del kernel de Linux que desea usar. Si ha estado actualizando su sistema un par de veces, puede ver diferentes versiones de kernel enumeradas. Además, le brinda la capacidad de editar algunos parámetros del núcleo presionando una combinación de teclas de teclado.

Seleccionar la versión del núcleo

Además, en una configuración de doble botas donde tiene varias instalaciones del sistema operativo, el menú Grub le permite seleccionar en qué sistema operativo iniciar. El archivo de configuración de Grub2 es el /Boot/Grub2/Grub2.CFG archivo. El objetivo principal de Grub es cargar el núcleo Linux en la memoria principal.

3. Inicialización del núcleo

El núcleo es el núcleo de cualquier sistema de Linux. Interfiere el hardware de la PC con los procesos subyacentes. El núcleo controla todos los procesos en su sistema Linux. Una vez que el núcleo de Linux seleccionado está cargado por el gestor de arranque, debe extraer a sí mismo de su versión comprimida antes de realizar cualquier tarea. Tras el autoextracto, el núcleo seleccionado monta el sistema de archivos raíz e inicializa el /sbin/init programa comúnmente conocido como en eso.

Proceso de inicialización del núcleo

En eso es siempre el primer programa que se ejecutará y se le asigna la identificación del proceso o el PID de 1. Es el proceso init que genera varios demonios y monta todas las particiones que se especifican en el /etc/fstab archivo.

El núcleo luego monta el disco de RAM inicial (initrd) que es un sistema de archivos raíz temporal hasta que se monta el sistema de archivos raíz real. Todos los núcleos están ubicados en el /bota directorio junto con la imagen inicial de disco de RAM.

4.Systemd de inicio

El núcleo finalmente se carga System, cual es el reemplazo de la vieja Sysv en eso. System es la madre de todos los procesos de Linux y se administra, entre otras cosas, el montaje de los sistemas de archivos, iniciando y deteniendo los servicios para mencionar solo unos pocos.

Systemd utiliza el /etc/systemd/sistema/predeterminado.objetivo archivo para determinar el estado o el objetivo en el que el sistema Linux debe iniciar.

  • Para una estación de trabajo de escritorio (con una GUI), el valor de destino predeterminado es 5, que es el equivalente del nivel de ejecución 5 para el antiguo SystemV Init.
  • Para un servidor, el objetivo predeterminado es multi usuario.objetivo que corresponde al nivel de ejecución 3 en SYSV Init.

Aquí hay un desglose de los objetivos SystemD:

  • apagado.Target (RunLevel 0): Encender o apagar el sistema.
  • rescate.Target (RunLevel 1): lanza una sesión de shell de rescate.
  • multi usuario.objetivo (RunLevel 2,3,4): Configura el sistema en un sistema múltiple no gráfico (consola).
  • gráfico.Target (RunLevel 5): Establezca el sistema para utilizar una interfaz gráfica de usuarios múltiples con servicios de red.
  • reiniciar.Target (RunLevel 6): reinicia el sistema.

Para verificar el objetivo actual en su sistema, ejecute el comando:

$ systemctl get-default 
Verificar el nivel de ejecución

Puede cambiar de un objetivo a otro ejecutando el siguiente comando en el terminal:

$ init runlevel-valor 

Por ejemplo, Init 3 configura el sistema en un estado no gráfico.

El init 6 El comando reinicia su sistema y init 0 poderes fuera del sistema. Asegúrese de invocar comando sudo Cuando quieres cambiar a estos dos objetivos.

El proceso de arranque termina una vez system Carga todos los demonios y establece el valor de nivel de destino o ejecución. Es en este punto a que se le solicite su nombre de usuario y contraseña en el que ingrese a su sistema Linux.