Qu'est-ce qui rend le support de démarrage amorçable?

10

Par curiosité, qu'est-ce qui rend les médias amorçables? Des liens vers des explications seraient appréciés.

fakedrake
la source

Réponses:

5

Peut-être que quelques détails sur la façon dont les supports de démarrage sont organisés pourraient aider à définir "ce qui rend les supports de démarrage démarrables".

La procédure de démarrage diffère selon les architectures, je vais donc m'en tenir au PC standard (c'est-à-dire l'architecture x86).

Premièrement, pour être "démarré" efficacement, un support doit être sélectionné par le BIOS après l'autotest de mise sous tension (POST) ultérieur. Pour cela, le support doit être marqué comme amorçable , ce qui signifie qu'il doit avoir une signature de démarrage dans son premier secteur. C'est la toute première chose qui rend un bootable moyen.

Ensuite, le BIOS se charge et donne la main à ce secteur de démarrage (tout ce qui y est stocké ... il pourrait donc bien être directement un programme en mode réel approprié, mais restons sur un schéma "normal"). Donc, pour être amorçable, un support doit avoir un tel secteur de démarrage fonctionnel .

Si le support est partitionné, un enregistrement de démarrage principal (MBR) est installé dans ce secteur. Ce code sera chargé de vérifier la table de partition et de trouver la partition avec l' indicateur de démarrage défini . Ensuite, le MBR chargera le premier secteur de cette partition, qui contient ce qu'on appelle le volume Boot Record (VBR). Notez que dans le cas d'un support non partitionné, un VBR est situé dans le premier secteur du support et est donc directement appelé par le BIOS.

Un VBR contient un programme d'amorçage . Ce programme doit initialiser la machine (c'est-à-dire l'activation de la mémoire étendue via la porte A20, passer du mode réel au mode protégé, etc.) pour définir un environnement approprié pour que le code "moderne" s'exécute, charger ce code en mémoire, puis "sauter" "à elle. Le code mentionné ci-dessus peut être soit un noyau de système d'exploitation dans le cas d'un programme de chargeur de démarrage, soit un système à démarrage multiple (par exemple GRUB, LILO) dans le cas d'un chargement en chaîne. Quoi qu'il en soit, à la fin, du code exécutable à exécuter est nécessaire pour que le support démarre.

Ce qui suit (par exemple la décompression du noyau, le montage initial du disque virtuel, le chargement des modules dans le cas de noyaux hybrides ou de serveurs démarrant pour des micro-noyaux, etc.) n'est pas strictement pertinent du point de vue de l'organisation des supports de démarrage.

Remarque: Ce que j'ai décrit est le processus pour les disques durs et les disquettes. Le cas des CD est cependant très similaire. De plus, pour être amorçable, un CD doit suivre la spécification El-Torito, qui est une extension de la norme ISO9660. À l'origine, le CD devait contenir une image de disquette amorçable (c'est-à-dire une image de 1,44 M en fait), qui était traitée par le BIOS comme une disquette et était démarrée en conséquence. Des matériels plus récents permettent de démarrer directement sans cette solution de contournement.

Christian Vincenot
la source
9

Ce qui rend un support de démarrage moyen démarrable est

  • des normes pour les supports de démarrage qui définissent des éléments tels que:
    • plate-forme matérielle pour laquelle le chargeur de démarrage est applicable.
    • emplacement sur le support du logiciel du chargeur de démarrage.
    • le processus par lequel ce logiciel sera chargé.
  • la mise en œuvre de ces normes dans le matériel auquel les supports peuvent être attachés.

Wikepedia a un article qui décrit le processus de démarrage.

RedGrittyBrick
la source