web-dev-qa-db-fra.com

Dans un système à double démarrage, comment le BIOS choisit-il le chargeur de démarrage à exécuter?

J'ai un double démarrage de Windows et Ubuntu. Lorsque j'allume la machine, le BIOS effectue le POST et le chargeur de démarrage démarre ensuite.

Je veux comprendre comment le BIOS choisit le chargeur de démarrage à exécuter. Je souhaite connaître le processus en cours entre le BIOS et le chargeur de démarrage d'un ordinateur à double démarrage.

21
Prashant Singh

Le micrologiciel du BIOS ne choisit pas vraiment le chargeur de démarrage. Il charge le code du secteur 0 d'un lecteur et l'exécute. Quoi qu'il en soit, il s'exécutera. J'espère que c'est un chargeur de démarrage (ou quelque chose qui charge un chargeur de démarrage), mais ce n'est pas obligatoire. Dans les premiers jours de l’ordinateur, vous aviez des jeux sur disquettes qui allaient simplement démarrer et s’exécuter sans système d’exploitation - on les appelle maintenant "booters".

Le microprogramme UEFI comprend en fait les partitions et les systèmes de fichiers et analyse les lecteurs pour rechercher un type de partition système UEFI. Puisqu'il s'agit d'un système de fichiers, plusieurs chargeurs d'amorçage peuvent être placés ici. Le micrologiciel UEFI est censé fournir un menu ou un autre moyen de sélectionner le chargeur de démarrage à utiliser.

De nombreux systèmes UEFI démarrent en "mode hérité" - où l'UEFI charge un "module de service de compatibilité" - quelque chose qui le fait ressembler à un BIOS - et fonctionne en réalité comme le BIOS.

GRUB est un chargeur de démarrage open-source commun qui peut démarrer Linux ou "chainload" (donner le contrôle à) un chargeur de démarrage Windows (généralement winload.exe dans le dossier de démarrage d'une partition Windows). GRUB est ce qui vous donne la possibilité de prendre une décision. GRUB peut lire les fichiers de configuration et en extraire le choix par défaut.

Lisez this si vous voulez des détails copieux et sanglants.

37
LawrenceC

Ce diagramme montre comment le contrôle passe du micrologiciel (BIOS ou UEFI) au chargeur de démarrage et du chargeur de démarrage au système d'exploitation d'Ubuntu.

enter image description here
BIOS contre UEFI

Si les systèmes d'exploitation étaient installés dans différents modes (BIOS et UEFI), Windows et Ubuntu à double amorçage ne fonctionneraient pas.


Conversion d'Ubuntu en mode UEFI

  1. Démarrez Boot-Repair et sélectionnez Options avancées -> onglet emplacement GRUB .
  2. Si vous ne voyez pas d’option Separate/boot/efi partition , cela signifie que votre ordinateur ne dispose pas de partition UEFI.
  3. Si vous voyez une option Separate/boot/efi partition , cochez la case située à gauche de celle-ci, puis cliquez sur le bouton Appliquer dans le coin inférieur droit.

    Converting Ubuntu into UEFI mode

  4. Configurez votre BIOS pour qu’il lance le disque dur en mode UEFI. La manière de régler ce paramètre dépend du modèle spécifique de l'ordinateur, mais ce paramètre est généralement situé dans les paramètres de priorité de démarrage sous l'onglet Boot de l'utilitaire de configuration BIOS/UEFI.

11
karel

En mode hérité (démarrage du BIOS et non UEFI), le BIOS contrôle l’ordre des lecteurs. Il était une fois, cela était contrôlé par les câbles; mais changer un réglage du BIOS vaut d’ouvrir la boîte et de changer les câbles.

Le BIOS charge (en mémoire) le premier secteur (512 octets de disque appelé MBR ou enregistrement de démarrage principal) du premier disque (ou l'ordre de lecteur contrôlé par le BIOS), puis passe le contrôle (CPU) à ce 'chargeur de démarrage'. Le BIOS a donc terminé son travail et le code du premier secteur est exécuté.

7
guiverc