Séance 2 Séquence de Démarrage
Séance 2 Séquence de Démarrage
Séance 2 Séquence de Démarrage
1-Séquence de démarrage :
Définition : La séquence de démarrage c'est toutes les étapes qui vont être exécutées dès le
moment où vous allez démarrer votre ordinateur.
Suite à la mise sous tension de l’ordinateur, la séquence de démarrage est déclenchée, qui
comporte principalement les étapes suivantes :
● Localiser et lancer le chargeur de démarrage GRUB2
● Exécuter le noyau du système d’exploitation
● Lancer le premier processus
Le BIOS (Basic Input Output System) est un UEFI remplace le BIOS depuis 2006. L’UEFI est
microprogramme avec de nombreuses comme le BIOS, un microprogramme qui vise à
fonctions, stockées dans la mémoire morte configurer votre carte mère, mais pas que.
(ROM) de la carte mère d’un ordinateur, lui
permettant d’effectuer des opérations Il est stocké dans la mémoire flash de votre
élémentaires lors de sa mise sous tension et de carte mère et comporte de nombreux
charger le système d’exploitation. avantages comparés à son ancêtre, le BIOS.
La table de partitionnement du MBR possède • UEFI prend en charge des tailles de disque
des limitations: jusqu’à 9 zettaoctets, tandis que le BIOS
● 4 partitions primaires maximum. ne prend en charge que 2,2 téraoctets.
● Taille d’une partition limitée à 2,2 To. • UEFI fournit un temps de démarrage plus
● Le Bios ne dispose que d’1 Mo d’espace rapide.
mémoire pour s’exécuter. Il a ainsi du • UEFI s’exécute en mode 32 bits ou 64 bits,
mal à initialiser plusieurs périphériques en tandis que le BIOS s’exécute en mode 16
même temps, ce qui ralentit le bits. L’UEFI est donc capable de fournir
démarrage du PC une interface graphique meilleure telque
navigation avec la souris.
• Prise en charge du Secure boot
• l’UEFI est un microprogramme stocké dans une mémoire flash située sur la carte mère de
l’ordinateur.
• UEFI est installé au moment de la fabrication et constitue le premier programme qui
s'exécute lors du démarrage d'un ordinateur.
• UEFI détecte les périphériques candidats à démarrer (clavier/souris etc..)
• Le système de fichiers pris en charge par UEFI est basé sur le système de fichiers FAT(FAT12,
FAT16 et FAT32).
Secure Boot est une fonctionnalité de sécurité qui a été introduite dans l'UEFI pour protéger les
systèmes contre les logiciels malveillants et les attaques au niveau du bootloader.
La NVRAM contient une liste de variables dont les options de boot suivantes :
✔ Le timeout avant de booter sur l’entrée par défaut (suivant l’ordre précédent)
5- Structure GPT :
GPT (GUID Partition Table) est une structure de partitionnement de disque dur utilisée pour les
disques de grande capacité et les disques SSD modernes.
UEFI --> AutoTest (POST) -->Activer les composants basiques --> table de
partitionnement GPT --> Déterminer le ESP --> Démarrage sécurisé activé
ou non --> Initramfs (apartir de Vmlinuz) --> Kernel
--> system d
AutoTest (POST) l’UEFI effectue un autotest du système (POST) pour
identifier les défaillances matérielles élémentaires
dès que la machine est mise sous tension.
Activer les composants basiques L’UEFI active les composants basiques pour charger
le système, comme la sortie vidéo, le clavier et les
médias de stockage.
Table de partitionnement GPT UEFI recherche une partition GPT avec un GUID
spécifique qui l'identifie comme la partition système
EFI (ESP)
Déterminer le ESP qui contient les fichiers En cas de présence de plusieurs périphériques de
de démarrages démarrage, le gestionnaire de démarrage UEFI
détermine l'ESP approprié à utiliser, en fonction de
l'ordre défini dans le gestionnaire de démarrage
(boot manager)
Si le démarrage sécurisé n'est pas activé, le Si le démarrage sécurisé est activé l’application
gestionnaire de démarrage BOOTX64.Efi shimx64.efi responsable de la certification est
exécute le chargeur de démarrage chargée en premier avant le chargeur de démarrage
grubx64.efi. GRUB 2 Si le certificat est valide, le chargeur de
démarrage s'exécute et, à son tour, valide le noyau
qu'il est configuré pour le charger. Après il va
exécuter le grubx64.efi.
8-GRUB 2 :
GRUB 2 (Grand Unified Bootloader version 2) est un chargeur de démarrage open source et
populaire utilisé sur les systèmes Linux.
GRUB 2 est hautement configurable, et permet aux utilisateurs de personnaliser l'apparence de
l'interface de démarrage et de choisir quel système d'exploitation ou quel noyau Linux doit être
démarré par défaut.
GRUB2 est composé principalement de trois fichiers :
●A connaitre :
GRUB_DEFAULT Définit l'entrée du menu de démarrage qui est l'entrée 0 sera utilisée, ce qui
correspond à la première option de démarrage.
Grub_default=0 c’est la première entrée de démarrage
Grub_default=1 c’est la deuxième entrée de démarrage
Grub_default=3 c’est la 4eme entrée de démarrage
Le dossier /etc/grub.d contient tous les scripts qui seront utilisés pour créer le fichier de
configuration final grub.cfg.
● 20_linux_xen : un script utilisé par le Bootloader pour détecter les systèmes d'exploitation Xen
Linux et Xen Hypervisor µ sur le disque dur.
● 30_os-prober : contient le script de recherche des autres systèmes installés ;
● 30_uefi-firmware : script pour localiser les paramètres uefi de l'ordinateur ;
9-kernel (noyau) :
Lorsque le chargeur de démarrage passe le contrôle au noyau du système, le noyau se charge de
plusieurs tâches pour initialiser le système avant de lancer le premier processus. Les tâches incluent
notamment :
• Réserver la mémoire
• Prendre en compte la zone d'échange (swap)
• Détecter le matériel et charger les pilotes des périphériques
• Monter le système de fichiers
• Lancer le premier processus
1-Systemd :
• Systemd (pour « system daemon » : le démon du système) est le système d’initialisation et de
gestion des services adopté par les dernières distributions Linux.
• C’est un ensemble de programmes destinés à la gestion système.
Systemd fournit de nombreuses fonctionnalités :
Chaque unité a un fichier de configuration qui contient des informations sur la façon dont elle doit
être gérée par systemd, comme sa dépendance à d'autres unités, ses paramètres de démarrage,
son environnement, etc.
La structure de l’unité :
[UNIT]
Description :
Documentation : - Cette déclaration indique l'emplacement de la page de manuel (document
d'aide).
After: - Cette mention énumère les unités qui doivent être activées avant l’unité en question.
Before: - Cette déclaration énumère les unités qui doivent être activées après l’unité en
question.
Wants: - Cette déclaration liste les unités/services qui doivent être démarrés avant l’unité en
question, le démarrage de ces unités/services n'est pas obligatoire pour que l'unité en question
fonctionne correctement.
Requires : - Cette déclaration énumère les unités/services qui doivent être démarrés avant
l’unite en question, le démarrage de ces unités/services est obligatoire .
Conflicts: - Cette déclaration énumère les unités/services qui doivent être arrêtés avant le
démarrage de l’unité en question.
[INSTALL]
WantedBy : - Nom de l'unité cible qui démarre automatiquement cette unité..
[Unit]
Description=
After = avant le démarrage
Before= après le démarrage
Wants = démarre avant mais pas obligatoire
Requires = démarré avant mais obligatoire
Conflits = doit etre arreter avant le démarrage
[Service]
ExecStart=/bin/bash /usr/sbin/info_sys.sh
ExecReload=recharger config
Restart= redémarrer en cas d’échec
[Install]
Wantedby= démarrer automatiquement
Le fichier test.service
[Unit]
Description=cette unite est un service test
After=network.target
Requires=display-manager.service
[Service]
ExectStart=/bin/bash /usr/sbin/hello.sh
[Install]
Wantedby=multi-user.target
3- Targets Systemd :
Les unités de cible se terminent par l’extension .target et leur unique but consiste à regrouper
d’autres unités Systemd dans une chaîne de dépendances,
Par exemple, l’unité graphical.target, qui est utilisée pour lancer une session graphique, lance des
services systèmes comme le gestionnaire d’affichage GNOME (display-manager.service) et active
également l’unité multi-user.target.
5- Caractéristique du Systemd :
• Conception propre, moderne et efficace.
• Traitement simultané et parallèle au démarrage.
• Syntaxe d'unité simple.
• Empreintes mémoires réduites.
• Technique améliorée pour exprimer les dépendances.
6-Correction TD Systemd :
Le fichier test.service
[Unit]
Description = Hello exemple
After=network.target
Requires=display-manager.service
[Service]
ExecStart=/bin/bash /usr/sbin/hello.sh
[Install]
WantedBy=multi-user.target
Remarque : /usr/sbin/ est un répertoire dans les systèmes Linux et Unix qui contient des
commandes exécutables (ou des scripts) pour les administrateurs système.
#! /bin/bash
echo "Hello everybody, we will give you some information about your OS:" > /tmp/test.txt