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

24

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

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

Prashant Singh
la source

Réponses:

40

Le firmware 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 du PC, vous aviez des jeux sur disquettes qui démarraient et fonctionnaient simplement sans OS - ils sont maintenant appelés "booters".

Le micrologiciel UEFI comprend en fait les partitions et les systèmes de fichiers et analyse les lecteurs pour un type de partition système UEFI. Puisqu'il s'agit d'un système de fichiers, plusieurs chargeurs de démarrage peuvent être placés ici. Le micrologiciel UEFI est censé fournir un menu ou une autre façon 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 réellement comme le BIOS.

GRUB est un chargeur de démarrage open source courant qui peut soit démarrer Linux soit "charger en chaîne" (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 prendre son choix par défaut.

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

LawrenceC
la source
C'est l'une des raisons pour lesquelles, sur Ubuntu, vous avez besoin sudoou root pour écrire quoi que ce soit sur un disque non monté; si un programme ou un utilisateur malveillant écrit un malware sur la partition de démarrage ...
wizzwizz4
Merci LawrenceC votre explication rend ma compréhension plus claire. Merci encore une fois
Prashant Singh
13

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 dans Ubuntu.

entrez la description de l'image ici
          BIOS vs UEFI

Si les systèmes d'exploitation ont été installés dans différents modes (BIOS et UEFI), le double démarrage Windows et Ubuntu ne peuvent pas fonctionner.


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 de partition séparée / boot / efi , cela signifie que votre PC n'a pas de partition UEFI.
  3. Si vous voyez une option de partition séparée / boot / efi , cochez la case à gauche de celle-ci, puis cliquez sur le bouton Appliquer dans le coin inférieur droit.

    Conversion d'Ubuntu en mode UEFI

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

Karel
la source
7

En mode hérité (démarrage du BIOS et non UEFI), le BIOS contrôle l'ordre des lecteurs. Il était une fois cela contrôlé par les câbles; mais changer un paramètre du BIOS vaut ouvrir la boîte et 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 ordre de lecteur contrôlé par le BIOS), puis passe le contrôle (CPU) à ce `` chargeur de démarrage ''. Le BIOS a ainsi terminé son travail et le code du premier secteur s'exécute.

guiverc
la source
DÉSOLÉ monsieur , mais je suis peu confondez comme bios donner le contrôle au chargeur de démarrage et la fenêtre et Linux ont différents chargeur de démarrage ainsi que le chargeur de démarrage , il donne le contrôle .que bios de processus passent par choisir le chargeur de démarrage
Prashant Singh
2
Votre système ne peut avoir qu'un seul chargeur de démarrage par disque (et un seul est jamais actif). Généralement, si vous avez deux systèmes d'exploitation sur votre système, le second installé possède le chargeur de démarrage car il a écrit son propre code dans le MBR. C'est pourquoi GNU / Linux (Ubuntu) utilise GRUB; c'est un système en plusieurs étapes (l'étape 1 est le MBR, les étapes 1.5 et 2 se trouvent dans / boot) qui met en place un menu demandant quel OS vous voulez charger / exécuter (ceux que grub connaît de toute façon, plus les ISO que vous avez ajouté). Si vous avez deux unités de disque; vous pouvez avoir un chargeur de démarrage sur chaque lecteur, mais le BIOS déterminera lequel fonctionnera.
guiverc
Donc, si j'ai 2 systèmes d'exploitation sur mon ordinateur, est-il nécessaire que GRUB affiche le menu pour demander quel système d'exploitation je veux charger, pourquoi pas le chargeur de démarrage de Windows, mettez ce menu car j'ai les deux systèmes d'exploitation sur mon ordinateur.
Prashant Singh
Windows a également un chargeur de démarrage (jusqu'à Vista de toute façon); mais ce n'est pas aussi intelligent que grub. la version windoze ne recherche pas les produits non-msft (et ne peut pas lire ext / reiserfs / xfs / zfs / btrfs / ...) donc vous devez ajouter le * nix vous-même; et la prochaine mise à jour ..... la version windoze ne vaut pas la peine d'être utilisée car grub est tellement mieux. Si windoze était sur un lecteur, Ubuntu sur l'autre, vous pourriez modifier le démarrage par le BIOS; mais grub est plus rapide / plus facile. (si vous
êtes
3
@Prashant Singh: La raison la plus fondamentale pour laquelle le chargeur de démarrage Windows ne fait pas cela (ou pas, quand je connaissais un peu Windows) est que MicroSoft ne gagne pas d'argent en vous permettant d'exécuter d'autres systèmes d'exploitation.
jamesqf