Sinon, je ne savais pas que chacun démarrait à sa façon. Je pensais que ça partait de la carte mère et qu’il chargeait un disque qui lui-même se chargeait de lancer l’OS.
C’est bien ça, mais vu ce que tu veux faire, il faut être plus précis.
Dans la configuration du BIOS, il y a la liste des disques et l’ordre dans lequel le BIOS doit les tester.
En simplifié, un disque dur est composé de secteurs numérotés. Le premier secteur d’un disque s’appelle le secteur de démarrage.
Ce que fait le BIOS au démarrage (après les tests matériels divers) c’est de prendre le premier disque indiqué dans sa configuration et de lire le premier secteur du disque, appelé secteur de démarrage. Sur ce secteur il y a soit des données, soit un programme spécial appelé chargeur de démarrage.
Le chargeur de démarrage est divisé en deux parties. La première partie est sur le secteur de démarrage. Elle ne sert qu’à lancer la seconde partie du chargeur de démarrage.
La seconde partie permet de lancer un programme situé ailleurs sur le disque ce qui permet de faire deux choses :
- soit lancer un OS en lançant le noyau
- soit passer la main à un autre chargeur de démarrage, qui lui lancera un OS.
Un exemple de l’ordre final :
- Carte mère
- BIOS (détection du matériel et tests)
- Le BIOS lit sa configuration
=> Ce que tu viens de lire, c’est la partie commune au démarrage. Ensuite, c’est un exemple que je t’ai fait :
- Test du premier disque : le BIOS ne trouve pas de programme à charger
- Y a t-il un autre disque à tester dans la configuration ? Si non, on affiche un message d’erreur indiquant qu’il n’y a pas de système d’exploitation. Si il y a un autre disque à tester, on le teste.
- Sur ce nouveau disque, on trouve la première partie du chargeur de démarrage. Elle va permettre d’aller chercher la seconde partie du chargeur de démarrage. On va dire que c’est Grub.
- Grub lit sa configuration et constate qu’il y a plusieurs OS. Il affiche un menu.
- Lorsque l’utilisateur choisit ou que le temps imparti est dépassée, il lance le programme voulu, c’est-à-dire :
- soit un OS s’il peut le lancer directement
- soit un autre chargeur de démarrage (cas de NTLDR) qui lancera l’OS voulu.
Et le plan B, un systeme par disque et au démarrage appuyer sur F12 pour choisir le disque de boot ? ca marcherait ca ? C’est pas convivial mais au moins c’est "fiable" et sans mise à jour non ?
Ça doit marcher même si je n’ai jamais fait comme ça. Seul inconvénient avoir plusieurs chargeurs et menus. De plus, je me demande si ça ne multiplie pas les risques d’erreur lors de l’installation des OS.
Du coup, il suffit d’avoir un programme au démarrage comme GRUB ? Mais cette chose s’installe à quel moment et surtout, sur quel disque ?
Oui à la première question. En général il est proposé à la fin de l’installation d’un Linux (BSD l’utilise peut-être aussi ?) et en général on l’installe sur le secteur de démarrage du premier disque dur. Mais il est possible de l’installer sur un autre disque. Si tu veux que Grub s’affiche au démarrage, il faudra alors mettre ce disque en premier dans la l’ordre de démarrage du BIOS.
Je n’ai jamais utilisé cette fonctionnalité. Pourrais-je savoir ce qu’exécute le BIOS quand F12 est appuyée au démarrage ? Çà pourrait être une solution en attendant de trouver quelque chose de plus esthétique.
F12 n’est qu’un exemple (ça peut être suppr, F2, etc..), mais en gros ça affiche un liste des tes disques durs (pas de tes OS, mais vraiment des disques durs), lecteurs CD et ports USB et ça te propose de sélectionner le périphérique de démarrage (tu choisis directement sur quel disque tu démarres).