Un guide de base du processus de démarrage Linux

Un guide de base du processus de démarrage Linux

Chaque fois que vous alimentez votre PC Linux, il passe par une série d'étapes avant d'afficher enfin un écran de connexion qui invite votre nom d'utilisateur ou votre mot de passe. Il y a 4 étapes distinctes que chaque distribution Linux passe dans un processus de démarrage typique.

Invite de connexion de l'utilisateur

Dans ce guide, nous mettrons en évidence les différentes étapes prises par le système d'exploitation Linux depuis le moment où il est monté au moment où vous vous connectez. Veuillez noter que ce guide prend uniquement en considération Grub2 chargeur de démarrage et systemd init comme ils sont actuellement utilisés par une grande majorité des distributions Linux modernes.

Le processus de démarrage prend les 4 étapes suivantes dont nous discuterons plus en détail:

  • Bios Vérification de l'intégrité (POSTE)
  • Chargement du chargeur de démarrage (Grub2)
  • Initialisation du noyau
  • Départ systemd, le parent de tous les processus

1. Le chèque d'intégrité du BIOS (post)

Le processus de démarrage est généralement initialisé lorsqu'un utilisateur appuie sur le allumer Bouton - Si le PC était déjà arrêté - ou redémarre le système à l'aide de l'interface graphique ou sur la ligne de commande.

Lorsque le système Linux se marie, le Bios (Système de sortie d'entrée de base) entre en jeu et exécute un Puissance à l'auto-test (POSTE). Ceci est un contrôle d'intégrité qui effectue une pléthore de contrôles de diagnostic.

Le POSTE sonde l'opérabilité matérielle de composants tels que le Disque dur ou SSD, Clavier, RAM, USB ports, et tout autre matériel. Si un dispositif matériel n'est pas détecté, ou s'il y a un dysfonctionnement dans l'un des appareils tels qu'un HDD ou un SSD corrompu, un message d'erreur est éclaboussé à l'écran, ce qui a incité votre intervention.

Dans certains cas, un son bip se déroulera surtout en cas de module RAM manquant. Cependant, si le matériel attendu est présent et fonctionne comme prévu, le processus de démarrage passe à l'étape suivante.

2. Le chargeur de démarrage (GRUB2)

Une fois la POSTE est complet et la côte est claire, le Bios sonde le Mbr (Master Boot Record) pour les informations de partage de chargeur de démarrage et de disque.

Le Mbr est un code de 512 octets situé sur le premier secteur du disque dur qui est généralement / dev / sda ou / dev / hda en fonction de votre architecture de disque dur. Notez cependant que parfois le Mbr peut être situé sur un Vivant USB ou DVD Installation de Linux.

Il existe 3 principaux types de chargeurs de démarrage dans Linux: Lilo, VER, et Grub2. Le Grub2 Bootloader est le téléchargeur de démarrage le plus récent et principal dans les distributions Linux modernes et informe notre décision de laisser de côté les deux autres qui sont devenus désuets avec le passage du temps.

Grub2 représente Grand chargeur de démarrage unifié version 2. Une fois la Bios Localise le chargeur de démarrage GRUB2, il l'exécute et le charge sur la mémoire principale (RAM).

Le grub2 Le menu vous permet de faire quelques choses. Il vous permet de sélectionner la version du noyau Linux que vous souhaitez utiliser. Si vous avez mis à niveau votre système plusieurs fois, vous pourriez voir différentes versions de noyau répertoriées. De plus, il vous donne la possibilité de modifier certains paramètres du noyau en appuyant sur une combinaison de touches de clavier.

Sélectionnez la version du noyau

De plus, dans une configuration à double boot où vous avez plusieurs installations de système d'exploitation, le menu Grub vous permet de sélectionner le système d'exploitation dans. Le fichier de configuration GRUB2 est le / boot / grub2 / grub2.CFG déposer. L'objectif principal de Grub est de charger le noyau Linux sur la mémoire principale.

3. Initialisation du noyau

Le noyau est le cœur de tout système Linux. Il interface le matériel du PC avec les processus sous-jacents. Le noyau contrôle tous les processus de votre système Linux. Une fois le noyau Linux sélectionné chargé par le chargeur de démarrage, il doit s'auto-extraire de sa version compressée avant d'entreprendre une tâche. Lors de l'auto-extraction, le noyau sélectionné monte le système de fichiers racine et initialise le / sbin / init programme communément appelé init.

Processus d'initialisation du noyau

Init est toujours le premier programme à être exécuté et se voit attribuer l'ID de processus ou PID de 1. C'est le processus d'initiation qui engendre divers daemons et monte toutes les partitions spécifiées dans le / etc / fstab déposer.

Le noyau monte ensuite le disque RAM initial (initrd) qui est un système de fichiers racine temporaire jusqu'à ce que le système de fichiers racine réel soit monté. Tous les grains sont situés dans le /botte répertoire avec l'image initiale du disque RAM.

4.Démarrage Systemd

Le noyau se charge enfin Systemd, qui est le remplacement de l'ancien Sysv init. Systemd La mère de tous les processus Linux est-il et gère entre autres choses de montage des systèmes de fichiers, de démarrage et d'arrêt des services pour n'en citer que quelques-uns.

Systemd utilise le / etc / systemd / système / par défaut.cible fichier pour déterminer l'état ou la cible dans laquelle le système Linux doit démarrer.

  • Pour un poste de travail de bureau (avec une interface graphique), la valeur cible par défaut est 5, ce qui est l'équivalent de Run Level 5 pour l'ancien système Init.
  • Pour un serveur, la cible par défaut est multi-utilisateurs.cible qui correspond à l'exécution du niveau 3 dans Sysv init.

Voici une ventilation des cibles SystemD:

  • éteindre.Target (coulée 0): Poweroff ou arrêt le système.
  • sauvetage.Target (coulant 1): lance une session de coquille de sauvetage.
  • multi-utilisateurs.cible (couleur 2,3,4): Configure le système dans un système multi-utilisateur non graphique (console).
  • graphique.Target (coulant 5): Définissez le système pour utiliser une interface graphique multi-utilisateurs avec les services réseau.
  • redémarrer.Target (couloir 6): redémarrer le système.

Pour vérifier la cible actuelle de votre système, exécutez la commande:

$ Systemctl Get-Default 
Vérifier le niveau de l'exécution

Vous pouvez passer d'une cible à une autre en exécutant la commande suivante sur le terminal:

$ init coulevel-valeur 

Par exemple, init 3 configure le système à un état non graphique.

Le Init 6 Commande redémarre votre système et init 0 powers hors du système. Assurez-vous d'invoquer commande sudo Lorsque vous souhaitez passer à ces deux cibles.

Le processus de démarrage se termine une fois systemd charge tous les démons et définit la valeur de niveau cible ou d'exécution. C'est à ce stade que vous êtes invité à votre nom d'utilisateur et à votre mot de passe sur lequel vous obtenez une entrée sur votre système Linux.