Una guía básica para las diferentes etapas del proceso de arranque de Linux

Una guía básica para las diferentes etapas del proceso de arranque de Linux

Cada vez que enciende su PC con 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 pasa cada distribución de Linux en un proceso de arranque típico.

 Solicitud de inicio de sesión del usuario  Mensaje de inicio de sesión de usuario Mensaje de inicio de sesión de usuario

En esta guía, destacaremos los distintos pasos que ha realizado 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 gestor de arranque GRUB2. y systemd. init, ya que actualmente están en uso por la gran mayoría de las distribuciones modernas de Linux.

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

  • BIOS. Comprobación de integridad ( POST.
  • Carga del cargador de arranque ( GRUB2.
  • Inicialización del kernel
  • Iniciando systemd. el padre de todos los procesos

1. Comprobación de integridad del BIOS (POST)

El proceso de arranque generalmente se inicializa cuando un usuario presiona el botón de encendido. si la PC ya estaba apagada, o reinicia el sistema usando ya sea en la GUI o en la línea de comandos.

Cuando el sistema Linux se enciende, el BIOS. ( Sistema básico de entrada y salida. se activa y realiza una Autoprueba de encendido. ( POST. . Esta es una verificación de integridad que realiza una gran cantidad de verificaciones de diagnóstico.

freestar.config.enabled_slots.push

El POST. comprueba la operatividad del hardware de componentes como HDD. o SSD. Keyboard. RAM. Puertos USB. y cualquier otra pieza de hardware. Si no se detecta algún dispositivo de hardware, o si hay un mal funcionamiento en alguno de los dispositivos, como un HDD o SSD dañado, aparecerá un mensaje de error en la pantalla solicitando su intervención.

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

2. El cargador de arranque (GRUB2)

Una vez que se completa la POST. y la costa está despejada, la BIOS. sondea el MBR. ( Registro de arranque maestro. para el cargador de arranque y la información de partición del disco.

El MBR. es un código de 512 bytes que se encuentra en el primer sector del disco duro que suele ser/dev/sda o/dev/hda, según la arquitectura de su disco duro. Sin embargo, tenga en cuenta que a veces el MBR. se puede ubicar en una instalación Live USB. o DVD. de Linux.

Allí Hay 3 tipos principales de cargadores de arranque en Linux: LILO. GRUB. y GRUB2. El cargador de arranque GRUB2. es el último y principal cargador de arranque en las distribuciones modernas de Linux e informa nuestra decisión de dejar de lado los otros dos que se han vuelto anticuados con el paso del tiempo.

GRUB2. son las siglas de GRand Unified Bootloader. versión 2. Una vez que el BIOS. localiza el cargador de arranque grub2, lo ejecuta y lo carga en la memoria principal ( RAM. .

El menú grub2. le permite hacer un par de cosas. Le permite seleccionar la versión del kernel de Linux que le gustaría usar. Si ha estado actualizando su sistema un par de veces, es posible que vea diferentes versiones del kernel en la lista. Además, le brinda la posibilidad de editar algunos parámetros del kernel presionando una combinación de teclas del teclado.

 Seleccionar versión de kernel  Seleccione la versión del kernel Seleccione la versión del kernel

Además, en una configuración de arranque dual donde tiene varias instalaciones de SO, el menú de grub le permite seleccionar en qué sistema operativo iniciar. El archivo de configuración de grub2 es el archivo /boot/grub2/grub2.cfg. El objetivo principal de GRUB es cargar el kernel de Linux en la memoria principal.

3. Inicialización del kernel

El kernel es el núcleo de cualquier sistema Linux. Conecta el hardware de la PC con los procesos subyacentes. El kernel controla todos los procesos en su sistema Linux. Una vez que el gestor de arranque carga el kernel de Linux seleccionado, debe autoextraerse de su versión comprimida antes de realizar cualquier tarea. Tras la autoextracción, el kernel seleccionado monta el sistema de archivos raíz e inicializa el programa /sbin/init. comúnmente conocido como init.

 Proceso de inicialización del kernel  Proceso de inicialización del kernel El proceso de inicialización del kernel

Init. es siempre el primer programa que se ejecutará y se le asigna el ID de proceso o PID de 1. Es el proceso de inicio que genera varios demonios y monta todas las particiones que se especifican en el archivo /etc/fstab.

El kernel luego monta el disco 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 se encuentran en el directorio/boot junto con la imagen del disco RAM inicial.

4.Inicio de Systemd

El núcleo finalmente carga Systemd. que es el reemplazo del antiguo SysV. init. Systemd. es la madre de todos los procesos de Linux y administra, entre otras cosas, el montaje de sistemas de archivos, el inicio y la detención de servicios, por mencionar solo algunos.

Systemd usa /etc/systemd/system/default.target. para determinar el estado o destino en el que debe iniciarse el sistema Linux.

  • Para una estación de trabajo de escritorio (con una GUI), el valor de destino predeterminado es 5, que es el equivalente al nivel de ejecución 5 para el antiguo SystemV init.
  • Para un servidor, el destino predeterminado es multi-user.target. que corresponde al nivel de ejecución 3 en SysV init.

Aquí hay un desglose de los objetivos de systemd:

  • poweroff.target (nivel de ejecución 0). apagado o apagado el sistema.
  • Rescue.target (nivel de ejecución 1). inicia una sesión de shell de rescate.
  • multi-user.target (nivel de ejecución 2, 3,4). configura el sistema en un sistema multiusuario no gráfico (consola).
  • graphical.tar get (nivel de ejecución 5). configura el sistema para que utilice una interfaz gráfica multiusuario con servicios de red.
  • reboot.target (nivel de ejecución 6). reinicia el sistema .

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

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

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

$ init runlevel-value

Por ejemplo, init 3 configura el sistema para un estado no gráfico.

Leave a comment

Your email address will not be published. Required fields are marked *