Proceso detallado de inicio del sistema Linux e inicialización del sistema

  

Primero, el proceso de inicio del sistema Linux

Sobre el proceso de inicio del sistema Linux podemos dividirlo en los siguientes pasos:

encendido POST Autoprueba - > BIOS (secuencia de inicio) - > Cargar MBR (cargador de arranque) en el arranque correspondiente -> La configuración de arranque maestra carga su BootLoader - > Inicialización del núcleo - > initrd — > /etc El proceso /init carga /etc /inittab, y su diagrama de flujo de proceso es el siguiente:


Segundo, proceso de arranque detallado

(1),

  1. Autoprueba de encendido POST: Ordenador
    Cuando el host enciende la alimentación, escuchará una caída y el sistema comenzará a iniciar la autocomprobación (POST-power on self
  2. test) ), este proceso es principalmente para detectar dispositivos de hardware de computadora como: CPU, memoria, placa base, tarjeta gráfica, CMOS y otros dispositivos defectuosos.
  3. En el caso de una falla de hardware, se tratará en dos casos: La falla (falla fatal) se detuvo. En este momento, ya que varias operaciones de inicialización no se han completado,
  4. No se puede dar ninguna indicación o señal Para fallas no críticas, se emite una señal de alarma rápida o audible, esperando que el usuario la maneje. Si no hay falla, la POST completa su propia tarea de retransmisión
  5. y le entrega el trabajo final a la BIOS para su procesamiento.

    (2),

    1. BIOS: el primer lugar para leer después de la autoprueba de encendido de la computadora es BIOS (sistema de salida de entrada básica)
    2. , el BIOS registra el conjunto de chips y la configuración relacionada de la placa base, como la frecuencia de comunicación de la CPU y el dispositivo de interfaz, el orden de búsqueda del dispositivo de arranque, el tamaño del disco duro y el tipo de
    3. , la hora del sistema. El bus externo, la dirección de E /S de varios dispositivos de interfaz y la información de interrupción de IRQ que se ha comunicado con la CPU, por lo que si desea iniciar correctamente,
    4. Primero lea la configuración del BIOS.

      (3),

      1. De acuerdo con el proceso de inicio del sistema establecido por el BIOS, si la prueba pasa, comenzará a admitirse en el primer dispositivo según la secuencia de inicio. Programa de inicio
      2. , nuestro dispositivo de arranque incluye principalmente disco duro, USB, SD, etc. Generalmente usamos el disco duro, y luego leemos que el primer dispositivo es el disco duro, el primer elemento
      3. Lea el registro de inicio maestro (MBR) del disco duro, y luego el sistema puede iniciar el trabajo de reconocimiento del núcleo de acuerdo con el
      4. cargador de inicio instalado en el área de inicio. [Inserte aquí: el programa MBR solo encuentra el Cargador de arranque de 446 bytes que es solo la parte delantera
      5. en la partición del disco duro] y luego busca la configuración y definición relevantes.

        (4),

        1. Cargador de arranque cargando programas Grub

        2. En este proceso, comenzó con el arranque de Grub, Grub Dividido en dos etapas:

        3. stage1: principalmente el cargador de arranque

        4. stage 1.5: transición

        5. < Li> stage2: principalmente /boot /grub


          Lo anterior podemos encontrar el kernel de Linux VMLnuz, grub, initrd están en el directorio /boot


          En /boot /grub /hemos visto el archivo de configuración familiar grub.conf stage1, stage2 y grub, entonces, ¿qué se define en grub.conf? ?


          (5), Kernel

          1. De acuerdo con la definición en Grub, una vez que se lee el grub, el siguiente trabajo se entrega al kernel. El núcleo es principalmente para completar la detección de hardware del sistema y el controlador de hardware inicial
          2. , y montar el sistema de archivos raíz (switch raíz) mediante la lectura y la escritura, luego hay un "primer pollo o primero" El archivo del huevo es ", específicamente, ¿qué es
          3. eso?

          4. Para acceder al sistema de archivos raíz real (rootfs), debe cargar el dispositivo en el sistema de archivos raíz, luego el sistema de archivos raíz no está montado,
          5. Para montar el sistema de archivos raíz y cargar el controlador en el sistema de archivos raíz, ¿qué debo hacer? Para resolver este problema, este es el uso del archivo initrd.
          6. Por el bien de la inicialización del kernel, haga un breve resumen:
          7. Probe Hardware- > Load Driver (initrd) - > Mount Root File System- > rootfs ( /sbin /init)

            (6),

            1. El trabajo relacionado con el espacio del kernel se ha completado, la tarea del espacio del kernel comienza a transferirse al espacio del usuario y el espacio del kernel pasa a través de El initrd indirecto (micro
            2. linux) es excesivo para /sbin /init en el espacio de usuario, por lo que gurb comienza a arrancar el kernel a initrd.

            3. initrd: Un sistema de archivos virtual con lib, bin, sbin, usr, proc, sys, var, dev, boot, etc.
            4. En realidad Encontrará que el directorio interno es un poco como verdadero /correcto, por lo que lo llamamos el sistema de archivos raíz virtual, la función es asociar el kernel con el sistema de archivos raíz real -
            5. , dejar que el kernel vaya a initrd Cargue el controlador requerido por el sistema de archivos raíz, monte el sistema de archivos raíz en modo de lectura /escritura y deje que
            6. se inicie el primer proceso.


              A continuación observamos el contenido del script de inicio:




Copyright © Conocimiento de Windows All Rights Reserved