3-Amorcage

On a tous remarqué que des messages divers apparaissent lors du démarrage d’un ordinateur… Que se passe-t-il entre le moment de la pression du bouton ON et de l’affichage de l’écran de login?

Plusieurs étapes vont se succéder, selon le schéma ci-dessous :

../_images/Capt-seq-dem-pc.PNG

Bouton ON, alimentation et processeur

C’est le « réveil », juste la mise sous tension des composants essentiels… On se souvient que le processeur est le « cerveau » de l’ordinateur

Puce BIOS

C’est physiquement une puce et elle contient le code permettant le démarrage du PC. Elle est fixée sur la carte mère et est complètement liée au matériel.

C’est le lien entre le matériel et le logiciel (Hardware/Software) Elle va permettre le lancement des routines de démarrage, la première étant le POST, en chargeant son code en mémoire.

Il est possible de mettre à jour le BIOS, c’est ce que l’on appelle « flasher le BIOS ». C’est une intervention qui nécessite beaucoup de précautions, renseignement auprès du constructeur, version, marche à suivre, backups,… Il est également possible, dans le cas où le « flashage » échoue, que le PC ne puisse plus du tout booter. Alors PRUDENCE!!!

POST

POST = Power On Self Test

Cette phase, que l’on appelle aussi pré-boot, va tester et initialiser tous les composants matériels du PC ainsi que les compatibilités

Ce sont dans les premières secondes du démarrage que des bips sonores peuvent être entendus ou des messages être affichés. Selon la « gravité » du problème, le boot peut être interrompu. Par exemple, si la RAM n’est pas corretement inserée dans les slots alors des bips (en fonction de la carte mère!) sont émis et le boot est interrompu.

BIOS

BIOS = Basic Input Output System

Au début des années 80, le BIOS est un code écrit en assembleur qui se trouve sur une puce fixée sur la carte mère (toujours le cas maintenant!) et qui exécute les routines permettant le démarrage!

Il y avait plusieurs problèmes comme la sensibilité aux attaques et les limitations matériels parfois bloquantes pour nos besoins actuels! A cette époque (1987), l’arrivée de disquettes 3,5 pouces avec 1,44M de stockage faisait office de révolution!

Son aspect est plutôt ancien look, pas de souris, donc déplacement avec les flèches, aussi appelé Legacy

../_images/Capt-bios-main.PNG

Afin de résoudre ces problèmes, une évolution a été crée… l”UEFI

UEFI

UEFI = Unified Extensible Firmware Interface

  • codé en C, donc plus souple (plus de facilité à modifier le code!)
  • meilleures performances concernant les composants
  • rapidité
  • colmate les failles de sécurité
  • prise en charge graphique
  • disques jusqu’à 9,4Zo (10^21)
  • gestion de multiples OS
  • évolutif
  • prise en charge du réseau

Dans ce cas, il y a une prise en charge graphique

../_images/Capt-uefi-main.PNG

L’UEFI est au départ un standard initié par Intel, mais est devenu une norme en 2016, qui ne fait pas encore l’unanimité chez tous les fabricants!

Pour accèder au BIOS/UEFI (ou parfois Setup), on presse au démarrage sur une touche, le plus souvent F2 ou Delete (variation possible selon le fabricant!)

Aussi bien pour le BIOS que pour l’UEFI, les informations concernant les mots de passe se trouvent dans l’onglet SECURITY, alors que les informations pour le boot se trouvent dans ADVANCED-BOOT

On ne modifie pas le BIOS/UEFI si on ne sait pas ce que l’on fait! Si c’est indispensable, il faut observer quelques règles : sauvegarder/noter tous les paramètres, prendre des informations sur le site du constructeur, ne changer qu’UN paramètre à la fois

En résumé pour le MBR-GPT :

../_images/Capt-resume-mbr-gpt.PNG

OS

Lorsque tous les tests matériels sont faits, on cherche un endroit pour lancer le système d’exploitation. C’est une zone du disque qui contient des informations comme le nombre et les tailles des partitions ainsi que le fait qu’elle soit « bootable »

  • pour le BIOS MBR = Master Boot Record
  • pour l”UEFI GPT = GUID Partition Table avec GUID = Globally Unique IDentifier

Le BIOS ne gère pas le multiboot (possibilité de choix entre plusieurs systèmes d’exploitation), alors que l’UEFI le gère avec le BootManager.

GRUB et LILO sont les 2 gestionnaires de boot les plus connus sous Linux

Chargement de Windows

avec UEFI

  • 1-firmware UEFI, ordre de boot, EFI Boot Loader
  • 2-Windows Boot Manager avec démarrage selon BCD(Boot Configuration Data)
  • 3-Windows Boot Loader avec winload.efi
  • 4-chargement en mémoire du kernel et de SMSS.exe
  • 5-chargement des services et processus-demarrage-uefi-windows
  • 6-winlogon.exe pour fenètre de login et après authentification shell explorer.exe pour bureau de Windows

extrait de Malekak-boot Windows UEFI

avec BIOS/MBR

  • 1-recherche du MBR, chargement du bootstrap
  • 2-ntldr.exe dans bootstrap - charge infos matériel et pilotes, FS, bootmgr qui charge BCD(Boot Configuration Data) et chemin winload.exe, ntdetect pour le matériel
  • 3-chargement du kernel et HAL et démarrage des services
  • 4-initialisation du noyau et des pilotes
  • 5-SMSS.exe(gestion des fenêtres/sessions/droits) pour login et le shell explorer.exe (bureau de Windows)

extrait de Malekak-boot Windows MBR

Chargement de Linux

  • 1-recherche du MBR, chargement du GRUB
  • 2-charge le noyau et monte le système de fichier depuis la racine
  • 3-le programme init ou systemd s’execute pour lancer toutes les autre tâches

extrait de Goffinet-démarrage Linux

Plus d’infos :

Exercices: