¿Por qué está montada la partición efi?

10

En Ubuntu y varias otras distribuciones, la partición EFI está montada en /boot/efi.

Según tengo entendido, la partición EFI se lee antes que el sistema operativo rootfs ( /). Entonces, después de que el kernel se haya cargado y montado /, ¿para qué necesitamos la partición EFI? En teoría, después de la instalación inicial, ya no necesita acceso /boot/efi, ya que solo contiene el binario .efi ...

Entonces, ¿por qué está montado? Parece que montar una partición con archivos confidenciales a los que no accedes muy a menudo no es algo muy inteligente desde una perspectiva de diseño ...


EDITAR:

Algunos sistemas recientes pueden incluir el grub.cfgen su partición efi. Vea este informe de error , aunque este no es el caso de mi 16.04LTS. Entonces, para los sistemas con el archivo de configuración en el ESP, tiene más sentido montarlo. Sin embargo, ¿con qué frecuencia las personas necesitan correr update-grub, y no podría el script montarlo y desmontarlo nuevamente después de la actualización?

jiggunjer
fuente

Respuestas:

9

Hay varias razones por las cuales se debe acceder al ESP en una variedad de circunstancias:

  • /boot/efi/EFI/ubuntu/grubx64.efi - Este es el binario EFI GRUB 2, que debe reemplazarse si se actualiza el paquete GRUB.
  • /boot/efi/EFI/ubuntu/grub.cfg- Este es un archivo de configuración de GRUB que hace muy poco; principalmente se carga /boot/grub/grub.cfg. Esta redirección se realiza para habilitar un "enlace" para los sistemas de arranque seguro; sin arranque seguro, el grubx64.efibinario se puede construir localmente y apunta directamente a /boot/grub/grub.cfg; pero como la ubicación /boot/grub/grub.cfgvaría (como lo ve el ESP) de un sistema a otro, grub.cfges necesario colocar un archivo en el ESP para Secure Boot, que no permite grubx64.efique se construya localmente. En mi humilde opinión, tendría más sentido poner los grub.cfgarchivos de soporte principales y otros GRUB en el ESP, pero los desarrolladores a cargo de esto han optado por un enfoque más conservador, en relación con lo que hace un sistema basado en BIOS. En cualquier caso, elgrub.cfgen el ESP raramente, si alguna vez, se actualizará; pero eso podría ser necesario en algún momento, particularmente si se actualiza el paquete GRUB Debian.
  • /boot/efi/EFI/ubuntu/shimx64.efi- Este es el binario Shim, que se requiere para que arranque seguro funcione. Al igual que el binario GRUB 2, podría actualizarse mediante una actualización del paquete Debian, pero del shim-signedpaquete.
  • /boot/efi/EFI/ubuntu/MokManager.efi- Este es el binario MokManager, que es una herramienta de soporte de Shim. Al igual que Shim, podría actualizarse en una actualización de paquete.
  • /boot/efi/EFI/ubuntu/fwupx64.efi- Esta es una herramienta para ayudar a automatizar la actualización del firmware en una computadora basada en EFI. Al igual que con los binarios EFI anteriores, podría actualizarse mediante una actualización del paquete Debian.
  • Archivos de firmware EFI: es probable que la actualización del firmware requiera copiar los archivos de firmware al ESP. Esto podría ser un proceso manual o algo que esté al menos parcialmente automatizado utilizando el fwupdatebinario de Linux y el fwupx64.efibinario EFI correspondiente . (Sin embargo, no estoy 100% seguro de que este último requiera escribir archivos en el ESP. Es bastante nuevo y tiene una documentación mínima en este momento).
  • Otras herramientas relacionadas con EFI: es posible que se deban instalar en el ESP programas como mi administrador de arranque rEFInd y otros administradores y herramientas de arranque EFI no estándar. La gran cantidad de herramientas que pueden necesitar ser instaladas es significativa, pero la mayoría de ellas son exóticas, por lo que la cantidad de sistemas afectados es pequeña.
  • Ajustes manuales del archivo de configuración: si desea reconfigurar un cargador de arranque, es posible que deba leer su archivo de configuración en el ESP, editarlo y guardar el archivo editado nuevamente. Para el caso, simplemente examinar la configuración requiere que se monte el ESP (aunque podría ser un montaje de solo lectura).
  • Herramientas de información del sistema: herramientas como el Boot Info Script leen los archivos de configuración en el ESP para generar un informe sobre cómo está configurado el sistema. El Boot Info Script probablemente monta el ESP incluso si no está montado para hacer su trabajo, pero no estoy 100% seguro de eso. Puede haber otras herramientas que supongan que el ESP ya está montado, y su funcionalidad se degradaría si no se cumpliera este supuesto.

En resumen, hay bastantes razones por las que el sistema operativo en sí o si desea o necesita leer o escribir en el ESP. Dicho esto, estas razones son tan pocas en número que un mecanismo para montar temporalmente el ESP y luego desmontarlo cuando se hace podría ser beneficioso. Ciertamente, una secuencia de comandos de instalación del paquete Debian podría hacer el trabajo, por ejemplo, al igual que las herramientas automatizadas que modifican los archivos de configuración en el ESP. AFAIK, sin embargo, cambiar el estado de montaje del ESP no está en el horizonte.

Tenga en cuenta que el ESP está montado con permisos bastante restrictivos por defecto. Recientemente (comenzando con 15.10 o 16.04, tal vez, no estoy seguro exactamente cuándo), se cambiaron los permisos de montaje para que solo se rootpueda leer /boot/efi. Incluso antes de eso, solo rootpodía escribir al ESP, aunque los permisos de lectura eran más flexibles. Dado que rootpuede montar particiones, hay un beneficio de seguridad mínimo al dejar el ESP desmontado en este punto, aunque habría un beneficio en que habría menos riesgo de daños en el sistema de archivos debido a un error, falla de energía, etc.

Rod Smith
fuente
¿Es solo coincidencia que varias distribuciones tengan esta política creciente? ¿O podría estar relacionado con POSIX o algún otro estándar? Todos los derivados de Debian +, Arch + derivs, OpenSUSE. Quizás Fedora ...
jiggunjer
En una instalación de stock 17.04 no tengo ninguna restricción /boot/efi(la respuesta anterior menciona solo acceso a la raíz; no es el caso para mí; además, el montaje es rw): fstabentrada:UUID=1234-5678 /boot/efi vfat defaults 0 1
sxc731
2

Tienes razón: no es necesario montar el ESP /boot/efien la configuración predeterminada (también conocido con grub 2 )

update-grub se basa en actualizaciones, grub.cfgpor /boot/grublo que la configuración de grub se actualiza sin problemas si el ESP no está montado.

No lo tuve montado durante un par de años en mi instalación anterior sin problema.

Puede ganar algunos micro segundos durante el arranque si no lo monta si lo desea ;-)

solsticio
fuente
Me parece un diseño estúpido. Eliminarlo por accidente = perder todos los cargadores de arranque. El instalador de openSuse me advierte activamente si no lo agrego al fstab, pero desmontarlo no ha causado una fusión nuclear hasta el momento.
jiggunjer
1
No puede eliminar archivos del sistema por accidente. Hay muchos otros archivos que pueden arruinar su sistema. Y esto se puede restaurar fácilmente de todos modos.
Piloto6
1
@ Pilot6 1) puedes. 2) irrelevante. 3) depende de cómo se configuró el sistema.
jiggunjer