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.
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.
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.
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.
Passez en revue cette réponse et https://help.ubuntu.com/community/UEFI dans la section concernant la conversion d'Ubuntu en mode UEFI .
Le chargeur de démarrage grub peut également être converti dans le sens opposé de UEFI au BIOS. Linux peut démarrer sans problème à partir d’un disque GPT en mode BIOS. Voir cette réponse: Convertir du mode d’amorçage EFI au BIOS
Conversion d'Ubuntu en mode UEFI
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.
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.
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é.