Le processus de démarrage du système gnu-Linux consiste en un certain nombre d'étapes (ou d'enchainements) tels que :
* Lecture du BIOS
* Lecture du MBR ou Master Boot Record
* Lancement du chargeur Grub ou Lilo
* Chargement du noyau Linux en mémoire avec chargement de certains drivers via initrd
* Lancement du processus init
(schéma réalisé d'après les formations IBM : http://www.ibm.com/developerworks/linux/library/l-linuxboot/ )
Le BIOS - Basic Input Output System (système d'entrée sortie de base) est essentiel à tout PC, il se trouve généralement dans une mémoire morte ou ROM qui est directement implantée sur la carte mère du PC. Il est associé à une mémoire sauvegardée par une petite pile bouton sur la carte mère (le “setup” qui est la sauvegarde de la configuration).
Si votre PC ne démarre pas (ou ne boot pas) c'est à cause du BIOS et de sa configuration (le setup). On peut accéder au setup et le modifier en pressant une touche dès la mise sous tension du PC. Selon les fabricants, cette touche est Suppr, F2, F10 … (la touche à utiliser est très brièvement affichée au tout début du démarrage).
Le BIOS teste le matériel et y applique les réglages mémorisés dans le setup, tout en s'assurant qu'il n'existe pas de dis-fonctionnement matériel et que tout est présent dans la machine, mémoire CPU principalement. Ensuite il regarde la présence des périphériques nécessaires au boot : lecteur de disquette, cd rom, dvd rom, clef usb, mais surtout disque dur. Si vous avez installé un système d'exploitation Linux ou Windows, le BIOS est normalement configuré pour activer le MBR de celui ci, les étapes du démarrage peuvent alors commencer….
Le Master Boot Record ou MBR (parfois aussi appelé “Zone amorce”) est le nom donné au premier secteur adressable d'un disque dur (cylindre 0, tête 0 et secteur 1, ou secteur 0 en adressage logique) dans le cadre d'un partitionnement Intel. Sa taille est de 512 octets. Le MBR contient la table des partitions (les 4 partitions primaires) du disque dur. Il contient également une routine d'amorçage dont le but est de charger le système d'exploitation (ou le boot loader/chargeur d'amorçage s'il existe) présent sur la partition active.
Il s'agit du boot primaire , la taille du MBR étant limitée à 512 octets, ce petit programme n'a pour fonction que de lancer le boot secondaire qui occupe un plus gros espace ailleurs sur le disque.
Pour en savoir plus mbr
Il a pour fonction d'activer le système d'exploitation . c'est à dire d'activer le noyau. Les boot primaire et secondaire constituent ce qu'on appelle le chargeur ou loader tel que Lilo ou plus fréquemment Grub.
Grub (acronyme de GRand Unified Bootloader) est un programme de multiboot, libre, au même titre que LILO (Linux loader), qui permet de choisir au démarrage de son ordinateur entre plusieurs systèmes d'exploitations.
Ses avantages sont notamment la gestion d'autres systèmes que Linux et Windows (utile pour Hurd, Solaris, FreeBSD et OpenBSD), Il lit la configuration au boot donc il n'y a pas besoin de réinstaller GRUB dans le secteur de boot après un changement de configuration, contrairement à LILO. Une ligne de commande permet de changer sa configuration au boot. De plus grub peut démarrer sans disque dur.
pour en savoir plus grub
Initrd (INITial RamDisk) est une image d'un système minimal initialisé au démarrage du système.
Ce fichier utilise le système de fichier cramFS (système de fichier compressé au format gzip et archivé via cpio),.Une fois cette image chargée en mémoire vive, elle permet d'avoir un système minimal qui charge le système de fichier principal ou bien des systèmes sans disque (“diskless”).
Sa fonction est de charger des modules optionnel au noyau, mais nécessaires au premier stade du démarrage du système, comme par exemple des drivers SCSI ou la gestion des système de fichiers NTFS, Ext3 etc. Ses fonctions sont aujourd'hui de plus en plus intégrées directement dans le kernel ou noyau linux, c'est pourquoi son utilisation est donc optionnelle.
Initrd est utilisé par exemple sur Debian et Ubuntu.