Una guia bàsica per a les diferents etapes del procés d'arrencada de Linux


Cada vegada que engegueu el vostre PC Linux, passa per una sèrie d'etapes abans de mostrar finalment una pantalla d'inici de sessió que us demana el vostre nom d'usuari o contrasenya. Hi ha 4 etapes diferents per les quals passa cada distribució de Linux en un procés d'arrencada típic.

En aquesta guia, destacarem els diferents passos realitzats pel sistema operatiu Linux des del moment en què s'encén fins al moment en què inicieu sessió. Tingueu en compte que aquesta guia només té en compte el carregador d'arrencada GRUB2 i el systemd init ja que s'utilitzen actualment. per una gran majoria de distribucions de Linux modernes.

El procés d'arrencada fa els 4 passos següents que parlarem amb més detall:

  • Comprovació d'integritat de la BIOS (POST)
  • Càrrega del carregador d'arrencada (GRUB2)
  • Inicialització del nucli
  • Iniciant systemd, el pare de tots els processos

1. Comprovació d'integritat de la BIOS (POST)

El procés d'arrencada normalment s'inicia quan un usuari prem el botó d'encesa (si l'ordinador ja estava tancat) o reinicia el sistema mitjançant la GUI o la línia d'ordres.

Quan el sistema Linux s'engega, la BIOS (sistema bàsic d'entrada i sortida) s'activa i realitza una prova automàtica d'encesa (POST). Es tracta d'una comprovació d'integritat que realitza una gran quantitat de comprovacions de diagnòstic.

El POST sondeja l'operativitat del maquinari de components com ara el disc dur o SSD, el teclat, la memòria RAM, els ports USB i qualsevol altra peça de maquinari. Si no es detecta algun dispositiu de maquinari, o si hi ha un mal funcionament en algun dels dispositius, com ara un disc dur o SSD corrupte, apareixerà un missatge d'error a la pantalla que demana la vostra intervenció.

En alguns casos, s'apagarà un so, especialment en cas que falti un mòdul RAM. Tanmateix, si el maquinari esperat està present i funciona com s'esperava, el procés d'arrencada passa a la següent etapa.

2. El carregador d'arrencada (GRUB2)

Un cop s'ha completat el POST i la costa està clara, la BIOS sondeja l'MBR (Registre d'arrencada mestre) per a la informació del carregador d'arrencada i de la partició del disc.

L'MBR és un codi de 512 bytes que es troba al primer sector del disc dur que sol ser /dev/sda o /dev/hda segons el vostre disc dur. arquitectura. Tingueu en compte, però, que de vegades l'MBR es pot localitzar en una instal·lació Live USB o DVD de Linux.

Hi ha 3 tipus principals de carregadors d'arrencada a Linux: LILO, GRUB i GRUB2. El carregador d'arrencada GRUB2 és el darrer i principal carregador d'arrencada de les distribucions modernes de Linux i informa la nostra decisió de deixar de banda els altres dos que s'han anat anticuant amb el pas del temps.

GRUB2 significa GRand Unified Bootloader versió 2. Un cop la BIOS localitza el carregador d'arrencada grub2, l'executa i el carrega a la memòria principal (RAM).

El menú grub2 us permet fer un parell de coses. Us permet seleccionar la versió del nucli de Linux que voleu utilitzar. Si heu estat actualitzant el vostre sistema un parell de vegades, és possible que vegeu diferents versions del nucli llistades. A més, us ofereix la possibilitat d'editar alguns paràmetres del nucli prement una combinació de tecles del teclat.

A més, en una configuració d'arrencada dual on teniu diverses instal·lacions del sistema operatiu, el menú grub us permet seleccionar en quin sistema operatiu arrencar. El fitxer de configuració de grub2 és el fitxer /boot/grub2/grub2.cfg. L'objectiu principal de GRUB és carregar el nucli de Linux a la memòria principal.

3. Inicialització del nucli

El nucli és el nucli de qualsevol sistema Linux. Interfaça el maquinari de l'ordinador amb els processos subjacents. El nucli controla tots els processos del vostre sistema Linux. Un cop el carregador d'arrencada carregui el nucli de Linux seleccionat, s'ha d'extreure automàticament de la seva versió comprimida abans d'emprendre qualsevol tasca. Quan s'autoextreu, el nucli seleccionat munta el sistema de fitxers arrel i inicialitza el programa /sbin/init conegut com a init.

Init és sempre el primer programa que s'executa i se li assigna l'ID de procés o el PID d'1. És el procés d'inici que genera diversos dimonis i munta totes les particions que s'especifiquen al fitxer /etc/fstab.

Aleshores, el nucli munta el disc RAM inicial (initrd) que és un sistema de fitxers arrel temporal fins que es munta el sistema de fitxers arrel real. Tots els nuclis es troben al directori /boot juntament amb la imatge inicial del disc RAM.

4.Iniciar Systemd

El nucli finalment carrega Systemd, que és el reemplaçament de l'antic SysV init. Systemd és la mare de tots els processos de Linux i gestiona, entre altres coses, el muntatge de sistemes de fitxers, l'inici i l'aturada de serveis per esmentar-ne només alguns.

Systemd utilitza el fitxer /etc/systemd/system/default.target per determinar l'estat o l'objectiu en què hauria d'arrencar el sistema Linux.

  • Per a una estació de treball d'escriptori (amb una GUI), el valor de destinació predeterminat és 5, que és l'equivalent al nivell d'execució 5 per a l'antic SystemV init.
  • Per a un servidor, l'objectiu predeterminat és multi-user.target que correspon al nivell d'execució 3 a SysV init.

Aquí teniu un desglossament dels objectius del sistema:

  • poweroff.target (nivell d'execució 0): apagueu o apagueu el sistema.
  • rescue.target (nivell d'execució 1): inicia una sessió de shell de rescat.
  • multi-user.target (nivell d'execució 2,3,4): configura el sistema en un sistema multiusuari no gràfic (de consola).
  • graphical.target (nivell d'execució 5): configureu el sistema perquè utilitzi una interfície gràfica multiusuari amb serveis de xarxa.
  • reboot.target (nivell d'execució 6): reinicia el sistema.

Per comprovar l'objectiu actual al vostre sistema, executeu l'ordre:

$ systemctl get-default

Podeu canviar d'un objectiu a un altre executant l'ordre següent al terminal:

$ init runlevel-value

Per exemple, init 3 configura el sistema en un estat no gràfic.

L'ordre init 6 reinicia el sistema i init 0 l'apaga. Assegureu-vos d'invocar l'ordre sudo quan vulgueu canviar a aquests dos objectius.

El procés d'arrencada finalitza un cop systemd carrega tots els dimonis i estableix el valor de nivell d'execució o objectiu. És en aquest moment que se us demana el vostre nom d'usuari i contrasenya amb els quals podeu accedir al vostre sistema Linux.