En un sistema de arranque dual, ¿cómo elige el BIOS qué gestor de arranque ejecutar?

24

Tengo un arranque dual de Windows y Ubuntu. Cuando enciendo la máquina, el BIOS hace POST y luego se inicia el gestor de arranque.

Quiero entender cómo el BIOS elige qué gestor de arranque ejecutar. Quiero saber el proceso que ocurre entre el BIOS y el gestor de arranque en una computadora de arranque dual.

Prashant Singh
fuente

Respuestas:

40

El firmware del BIOS realmente no elige el gestor de arranque. Carga el código del sector 0 de una unidad y lo ejecuta. Lo que sea que esté allí, se ejecutará. Esperemos que sea un gestor de arranque (o algo que cargue un gestor de arranque) pero no tiene que serlo. En los primeros días de PC, tenía juegos en disquetes que simplemente arrancaban y se ejecutaban sin un sistema operativo; ahora se denominan "arrancadores".

El firmware UEFI realmente comprende particiones y sistemas de archivos, y escanea las unidades para un tipo de partición del sistema UEFI. Como se trata de un sistema de archivos, se pueden colocar múltiples cargadores de arranque aquí. Se supone que el firmware UEFI proporciona un menú u otra forma para que usted seleccione qué gestor de arranque se usa.

Muchos sistemas UEFI se están iniciando en "Modo heredado", donde el UEFI carga un "Módulo de servicio de compatibilidad", algo que lo hace parecer un BIOS, y en realidad funciona como el BIOS.

GRUB es un gestor de arranque común de código abierto que puede arrancar Linux o "encadenar" (dar control) a un gestor de arranque de Windows (generalmente winload.exe en la carpeta de arranque de una partición de Windows). GRUB es lo que te da la capacidad de tomar una decisión. GRUB puede leer archivos de configuración y tomar su opción predeterminada de ellos.

Lea esto si desea detalles copiosos y sangrientos.

LawrenceC
fuente
Esta es una de las razones por las que, en Ubuntu, necesita sudoo root para escribir algo en un disco desmontado; Si un programa malicioso o usuario escribe el malware a la partición de arranque ...
wizzwizz4
Gracias LawrenceC, su explicación hace que mi comprensión sea más clara. Gracias una vez más
Prashant Singh
13

Este diagrama muestra cómo el control pasa del firmware (BIOS o UEFI) al gestor de arranque y del gestor de arranque al sistema operativo en Ubuntu.

ingrese la descripción de la imagen aquí
          BIOS vs. UEFI

Si los sistemas operativos se instalaron en diferentes modos (BIOS y UEFI), el arranque dual de Windows y Ubuntu no puede funcionar.


Convertir Ubuntu en modo UEFI

  1. Inicie Boot-Repair y seleccione Opciones avanzadas -> pestaña de ubicación de GRUB .
  2. Si no ve una opción de partición Separar / arrancar / efi , esto significa que su PC no tiene ninguna partición UEFI.
  3. Si ve una opción de partición Separar / arrancar / efi , coloque una marca de verificación en la casilla de verificación a la izquierda, luego haga clic en el botón Aplicar en la esquina inferior derecha.

    Convertir Ubuntu en modo UEFI

  4. Configure su BIOS para que arranque el disco duro en modo UEFI. La forma de ajustar esta configuración depende del modelo específico de la computadora, pero generalmente esta configuración se encuentra en la configuración de prioridad de arranque en la pestaña Arranque de la utilidad de configuración BIOS / UEFI.

karel
fuente
7

En modo heredado (arranque del BIOS y no UEFI), el BIOS controla el orden de las unidades. Érase una vez esto solía ser controlado por los cables; pero cambiar la configuración del BIOS es mejor que abrir la caja y cambiar los cables.

El BIOS carga (en la memoria) el primer sector (512 bytes de disco llamado MBR o registro de arranque maestro) del primer disco (o el orden de las unidades controlado por el BIOS) y luego pasa el control (CPU) a este 'cargador de arranque'. BIOS ha completado su trabajo y se ejecuta el código en el primer sector.

guiverc
fuente
Lo siento señor, pero yo soy poco confunden como bios dar el control al cargador de arranque y de la ventana y Linux tienen diferentes cargador de arranque por lo que a la que el gestor de arranque que proporcionan un control .what bios proceso pasan por elegir el cargador de arranque
Prashant Singh
2
Su sistema solo puede tener un único cargador de arranque por disco (y solo uno está activo). Generalmente, si tiene dos sistemas operativos en su sistema, el segundo instalado posee el gestor de arranque ya que escribió su propio código en el MBR. Es por eso que GNU / Linux (Ubuntu) usa GRUB; es un sistema de varios pasos (el paso 1 es el MBR, los pasos 1.5 y 2 se encuentran en / boot) que muestra el menú preguntando qué sistema operativo desea cargar / ejecutar (de los que Grub sabe de todos modos, más cualquier ISO que haya añadido a él). Si tiene dos unidades de disco; puede tener un cargador de arranque en cada unidad, pero el BIOS determinará cuál se ejecutará.
guiverc
Entonces, si tengo 2 sistemas operativos en mi computadora, entonces es necesario que GRUB coloque el menú preguntando qué sistema operativo quiero cargar, por qué no el gestor de arranque de Windows coloca ese menú ya que tengo ambos sistemas operativos en mi computadora.
Prashant Singh
Windows también tiene un cargador de arranque (hasta vista de todos modos); pero no es tan inteligente como lo es la comida. la versión de Windows no busca productos que no sean de MSFT (y no puede leer ext / reiserfs / xfs / zfs / btrfs / ...) por lo tanto, debe agregar el * nix usted mismo; y la próxima actualización ... no vale la pena usar la versión de Windows ya que grub es mucho mejor. Si windoze estaba en una unidad, Ubuntu en la otra podría alterar el arranque por BIOS; pero grub es más rápido / más fácil. (si está contento con mi respuesta;
acéptelo
3
@Prashant Singh: La razón más fundamental por la que el gestor de arranque de Windows no hace esto (o no, cuando sabía un poco sobre Windows) es que MicroSoft no gana dinero al permitirle ejecutar otros sistemas operativos.
jamesqf