GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo funcionan varios cargadores de arranque en una partición del sistema Efi?

Mi ESP se ve así

Boot Dell fedora Microsoft

En el directorio de arranque, hay un cargador de arranque llamado bootx64.efi que entiendo es el cargador de arranque predeterminado que se inicia primero. Pero en el directorio de fedora hay otro gestor de arranque (grub2) llamado grubx64.efi .

¿Cuál es la función de cada uno de estos cargadores de arranque? ¿Cuál proporciona el boot-menu ?

Respuesta aceptada:

bootx64.efi no empieza primero. La mayoría de las veces, no se inicia en absoluto.

El firmware de EFI tiene su propio "menú de inicio", similar al menú presentado por GRUB pero en una etapa anterior del proceso de inicio. Así como GRUB le permite elegir qué kernel de Linux ejecutar, el menú de arranque de EFI le permite elegir qué programa de arranque de EFI ejecutar; las opciones son cosas como el propio GRUB o el gestor de arranque de Windows. (Y, al igual que el menú de GRUB, el menú de inicio de EFI normalmente no se muestra de manera predeterminada; debe presionar una tecla de acceso rápido durante el inicio para verlo).

Las entradas en el menú de inicio de EFI están definidas por los datos de configuración que se almacenan en la NVRAM de la placa base (la memoria de "configuración del BIOS"). Esta configuración no se almacena en un archivo, pero en Fedora debería poder verla usando el efibootmgr programa. Cada entrada tiene un nombre legible por humanos (para mostrar en el menú) y una ruta a un programa de inicio en una partición del sistema EFI, así como un número de prioridad que determina qué entrada se inicia de manera predeterminada cuando no presiona la tecla de acceso directo para ver el menú.

Estas entradas de arranque de NVRAM las crean (normalmente) los instaladores del sistema operativo. Cuando instala un sistema operativo y coloca un archivo de cargador de arranque en la partición del sistema EFI, también agrega una entrada a la configuración de NVRAM para que el nuevo cargador de arranque esté disponible en el menú de arranque de EFI. (En muchos casos, también hace que esa nueva entrada sea la predeterminada, de modo que el sistema operativo que acaba de instalar se iniciará por sí solo sin necesidad de abrir el menú de inicio de EFI y elegirlo manualmente).

El Boot/bootx64.efi El programa es una alternativa para cuando el EFI no se ha configurado con ninguna entrada de arranque de NVRAM que se refiera a otros programas de arranque en el disco. Es importante para medios extraíbles como CD de arranque y unidades USB, pero en un disco duro generalmente no se usa. El instalador de Windows crea un Boot/bootx64.efi como a prueba de fallas; Es solo una copia de Microsoft/Boot/bootmgfw.efi (al menos en Windows 7; no conozco otras versiones).

Relacionado:¿Cómo ejecutar un equivalente de `head -z` cuando no tengo disponible la opción `-z`?

En mis sistemas, reemplacé ese Microsoft bootx64.efi con una copia de EFI Shell, de modo que si de alguna manera me encuentro sin ninguna entrada de arranque de NVRAM y realmente confío en el cargador de arranque alternativo, me dejan en un shell donde puedo examinar la situación y ejecutar manualmente uno de los otros programas de arranque en su lugar de hacer que el sistema arranque Windows automáticamente. (También agregué una entrada en el menú de GRUB para tener la opción de iniciar el shell EFI incluso cuando el sistema funciona correctamente).


Linux
  1. Cómo arrancar dualmente Manjaro y Windows 10

  2. Cambiar el tamaño de la partición de arranque

  3. ¿Es siempre necesaria una partición /boot?

  4. Cómo arrancar un sistema Linux sin servidor gráfico

  5. ¿Cómo cambiar un sistema de partición física a LVM?

Crontab Reboot:cómo ejecutar un trabajo automáticamente en el arranque

Cómo arrancar dualmente Kali Linux y Windows 10

Cómo crear un nuevo sistema de archivos Ext4 (partición) en Linux

Cómo iniciar Linux Mint 20 en modo de rescate/emergencia

Cómo verificar/reparar el sistema de archivos de Linux en el arranque

Cómo verificar el historial de reinicio del sistema y el tiempo de inicio en Linux