I. Introduction
La séquence de démarrage c'est toutes les étapes qui vont être exécutées dès le moment ou vous allez démarrer votre ordinateur. Il y a plusieurs éléments qui entrent en jeu durant cette séquence. A quoi sert de connaître cette séquence ? Tout simplement en cas de problème, à mieux identifier celui-ci et à mieux le résoudre. Et aussi bien entendu à mieux connaître votre ordinateur.
La séquence que je vais décrire ici est la séquence standard pour un système fonctionnant avec un système d'exploitation Windows NT.
II. La séquence
Pour commencer, dès le moment où vous allez appuyer sur le bouton de mise sous tension de votre PC, une impulsion électrique va être envoyée à l'alimentation depuis la carte mère. Laquelle va ensuite produire du courant, courant qui va allumer le Bios.
II-A. Le BIOS ou séquence POST
Le BIOS s'occupe de tester et d'initialiser tous les matériels. On appelle aussi cette partie la séquence POST (Power On Self Test) ou encore séquence préboot. C'est la séquence durant laquelle tous les composants vont être testés de même que leur compatibilité. Si la séquence POST ne passe pas, le système n'ira pas plus loin et votre OS ne sera pas lancé. Il va commencer par contrôler le bus système et va vérifier ensuite tous les connecteurs d'extension. Il va continuer en vérifiant la mémoire de la carte graphique et les signaux commandant l'affichage. Ensuite, il va interroger le BIOS de la carte vidéo et ajouter son code de reconnaissance. C'est à partir de ce moment-là que les premiers affichages arrivent à l'écran. Il va tester la RAM, pour cela, il tente une écriture sur chaque zone mémoire et tente de lire ensuite pour les comparer à ce qu'il a écrit. Il vérifie si le clavier et la souris sont bien connectés. Ensuite, il envoie des signaux à tous les périphériques de stockage (disquette, cd, HDD, USB, …) pour définir quels sont les différents lecteurs. Tous les résultats sont comparés sur le CMOS, ce qui permet au BIOS de savoir si la configuration matérielle a changé depuis le dernier démarrage ou pas. Ensuite, il intègre les identifiants de tous les composants ayant un BIOS.
Ensuite, les tests matériels validés, il va tenter d'amorcer en mémoire le secteur d'amorce principal du disque dur aussi appelé MBR.
Il y a pas mal d'erreurs qui peuvent se produire durant cette phase, elles sont le plus souvent d'ordre matériel, par exemple une barrette de RAM mal branchée ou un composant manquant ou encore une incompatibilité entre 2 matériels. Ces erreurs sont indépendantes du système d'exploitation.
II-B. Le MBR
Le MBR (Master Boot Record) ou table de partition en français, permet de trouver la partition active du disque. Une fois que cette partition est identifiée, le MBR va charger le secteur de boot correspondant et transférer ensuite l'exécution à ce dernier.
Les erreurs pouvant arriver à ce stade du démarrage sont souvent d'ordre de stockage. C'est-à-dire qu'il peut y avoir plusieurs partitions actives, ou aucun support de stockage valable. Ou alors, il peut arriver que la table de partition soit altérée.
II-C. Le secteur de boot
Une fois que le MBR lui a donné la main, le secteur de boot va charger les 15 secteurs qui le suivent sur le disque et va ensuite transférer le contrôle à un programme présent sur ces secteurs. Ces 15 premiers secteurs sont appelés " Boostrap Code " et s'occupent de localiser puis de transférer l'exécution au fichier NTLDR.
Les erreurs qui peuvent arriver à ce niveau sont encore une fois surtout des problèmes hardware. C'est-à-dire que par exemple un des secteurs qu'il doit charger est manquant. Ou alors que le disque sur lequel on démarre n'a pas de NTLDR, donc on ne peut pas booter dessus. Ou alors, il peut arriver qu'il y aie un problème avec le fichier NTLDR.
II-D. NTLDR
On va maintenant passer sur le NTLDR, qui marque cette fois la première partie de l'exécution de Windows. C'est le chargeur d'amorçage de Windows. C'est lui qui va savoir quels windows sont installés et lequel il faut lancer. Il commence par charger les pilotes du système de fichier approprié. Ensuite, en fonction du fichier Boot.ini, il va définir quels sont les systèmes d'exploitations qu'il peut lancer et s'il y en a plusieurs, il va les afficher à l'écran et demander à l'utilisateur d'en choisir un. Il charge le programme NTDETECT qui va ensuite détecter le matériel du pc. Il charge plusieurs dll qui vont permettre d'effectuer la suite du travail. Il charge la majorité de la base de registre (le reste étant chargé plus tard par le système d'exploitation). Et enfin, il donne le contrôle à NTOSKRNL.exe.
Les problèmes qui peuvent arriver ici sont surtout des problèmes liés aux fichiers qui doivent être lancés, par exemple un fichier qui manque ou alors un problème d'accès à un des fichiers.
II-E. NTOSKRNL.exe
Nous voilà à la fin de la séquence de démarrage du PC, cette fois, le noyau NT va se lancer définitivement et va charger le programme de logon et nous allons nous retrouver sur notre bon vieux Windows.
III. Bips et alertes
Il est possible que pendant la séquence de démarrage, votre ordinateur marque un temps d'arrêt. Il se peut aussi qu'il émette des bips ce qui est en fait son seul langage pour nous avertir. Les bips qui sont émis dépendent entièrement du BIOS. Après que l'affichage se soit initialisé, il se peut aussi qu'il affiche des messages d'erreurs.
III-A. Bips
A cause de la multitude de type de Bios qui existe, il n'y a pas de standards au niveau des bips et il est vrai qu'il n'est pas facile de s'y retrouver. Je ne vais couvrir ici que les trois principaux BIOS, Phoenix, Award et AMI. Plusieurs autres types de BIOS ont ensuite pris un de ces constructeurs comme exemple, mais il est vrai que cela ne couvre pas tous les bips possibles pour tous les constructeurs.
Si vous avez un autre type de Bios, je vous invite à aller chercher la signification des bips de démarrage soit directement sur le site du constructeur soit sur le site Bios Central qui recense les bips de démarrage pour plusieurs constructeurs.