Pourquoi la partition efi est-elle montée?

10

Dans Ubuntu et plusieurs autres distributions, la partition EFI est montée sur /boot/efi.

Si je comprends bien, la partition EFI est lue avant le système d'exploitation rootfs ( /). Donc, une fois le noyau chargé et monté /, pour quoi avons-nous encore besoin de la partition EFI? En théorie, après l'installation initiale, vous n'avez plus besoin d'accéder à /boot/efi, car il ne contient que le binaire .efi ...

Alors pourquoi est-il monté? Il semble que monter automatiquement une partition avec des fichiers sensibles auxquels vous n'accédez pas très souvent n'est pas une chose très intelligente à faire du point de vue de la conception ...


ÉDITER:

Certains systèmes récents peuvent inclure le grub.cfgsur leur partition efi. Voir ce rapport de bogue , bien que ce ne soit pas le cas pour mon 16.04LTS. Donc, pour les systèmes avec le fichier de configuration sur l'ESP, il est plus logique de le monter. Pourtant, à quelle fréquence les gens doivent-ils s'exécuter update-grubet le script ne peut-il pas le monter puis le démonter à nouveau après la mise à jour?

jiggunjer
la source

Réponses:

9

Il y a plusieurs raisons pour lesquelles l'ESP doit être accessible dans diverses circonstances:

  • /boot/efi/EFI/ubuntu/grubx64.efi - Il s'agit du binaire EFI GRUB 2, qui doit être remplacé si le package GRUB est mis à jour.
  • /boot/efi/EFI/ubuntu/grub.cfg- Il s'agit d'un fichier de configuration GRUB qui fait très peu; principalement il charge /boot/grub/grub.cfg. Cette redirection est effectuée pour activer un «hook» pour les systèmes Secure Boot; sans Secure Boot, le grubx64.efibinaire peut être construit localement et pointe directement sur /boot/grub/grub.cfg; mais comme l'emplacement de /boot/grub/grub.cfgvarie (vu par l'ESP) d'un système à l'autre, mettre un grub.cfgfichier sur l'ESP est nécessaire pour Secure Boot, qui ne permet pas grubx64.efid'être construit localement. À mon humble avis, il serait plus logique de placer les grub.cfgfichiers de support GRUB principaux et autres sur l'ESP, mais les développeurs en charge ont opté pour une approche plus conservatrice, par rapport à ce que fait un système basé sur le BIOS. En tout état de cause,grub.cfgsur l'ESP sera rarement, voire jamais, mis à jour; mais cela pourrait être nécessaire à un moment donné, en particulier si le paquet Debian GRUB est mis à jour.
  • /boot/efi/EFI/ubuntu/shimx64.efi- Il s'agit du binaire Shim, requis pour que le démarrage sécurisé fonctionne. Comme le binaire GRUB 2, il peut être mis à jour par une mise à jour du paquet Debian, mais du shim-signedpaquet.
  • /boot/efi/EFI/ubuntu/MokManager.efi- Il s'agit du binaire MokManager, qui est un outil de support Shim. Comme Shim, il peut être mis à jour dans une mise à jour de package.
  • /boot/efi/EFI/ubuntu/fwupx64.efi- Il s'agit d'un outil d'aide à l'automatisation de la mise à jour du micrologiciel sur un ordinateur EFI. Comme pour les binaires EFI précédents, il peut être mis à jour par une mise à jour du paquet Debian.
  • Fichiers de firmware EFI - La mise à jour du firmware nécessitera probablement la copie des fichiers de firmware sur l'ESP. Cela pourrait être un processus manuel ou quelque chose qui est au moins partiellement automatisé en utilisant le fwupdatebinaire Linux et le fwupx64.efibinaire EFI correspondant . (Je ne suis pas sûr à 100% que ce dernier nécessite d'écrire des fichiers sur l'ESP. C'est assez nouveau et a une documentation minimale à ce stade.)
  • Autres outils liés à EFI - Des programmes tels que mon gestionnaire de démarrage rEFInd et d'autres gestionnaires et outils de démarrage EFI non standard peuvent devoir être installés sur l'ESP. Le nombre considérable d'outils qui pourraient devoir être installés est important, mais la plupart d'entre eux sont exotiques, donc le nombre de systèmes impactés est petit.
  • Ajustements manuels du fichier de configuration - Si vous souhaitez reconfigurer un chargeur de démarrage, vous devrez peut-être lire son fichier de configuration sur l'ESP, le modifier et sauvegarder le fichier modifié. D'ailleurs, l' examen simple de la configuration nécessite que l'ESP soit monté (bien qu'il puisse s'agir d'un montage en lecture seule).
  • Outils d'information système - Des outils comme le Boot Info Script lisent les fichiers de configuration sur l'ESP afin de générer un rapport sur la configuration du système. Le script d'informations de démarrage monte probablement l'ESP même s'il n'est pas monté pour faire son travail, mais je ne suis pas 100% positif de cela. Il peut y avoir d'autres outils qui supposent que l'ESP est déjà monté, et leur fonctionnalité serait dégradée si cette hypothèse n'était pas remplie.

En somme, il y a plusieurs raisons pour lesquelles le système d'exploitation lui-même ou vous pouvez ou devez lire ou écrire sur l'ESP. Cela dit, ces raisons sont assez peu nombreuses pour qu'un mécanisme permettant de monter temporairement l'ESP puis de le démonter une fois terminé puisse être bénéfique. Un script d'installation de paquet Debian pourrait certainement faire le travail, par exemple, tout comme des outils automatisés qui modifient les fichiers de configuration sur l'ESP. AFAIK, cependant, changer le statut de montage de l'ESP n'est pas à l'horizon.

Notez que l'ESP est monté avec des autorisations assez restrictives par défaut. Récemment (à partir de 15.10 ou 16.04, peut-être - je ne sais pas exactement quand), les autorisations de montage ont été modifiées afin que seul rootpuisse lire /boot/efi. Même avant cela, seul rootpouvait écrire sur l'ESP, bien que les autorisations de lecture soient plus lâches. Étant donné que vous rootpouvez monter des partitions, il y a un avantage de sécurité minimal à laisser l'ESP non monté à ce stade, bien qu'il y ait un avantage à réduire le risque de dommages du système de fichiers à l'ESP en raison d'un bogue, d'une panne de courant, etc.

Rod Smith
la source
Est-ce juste une coïncidence si plusieurs distributions ont cette politique croissante? Ou pourrait-il être lié à POSIX ou à une autre norme? Tous les dérivés Debian +, Arch +, OpenSUSE. Peut-être Fedora ...
jiggunjer
Sur une installation de stock 17.04, je n'ai aucune restriction /boot/efi(la réponse ci-dessus ne mentionne que l'accès root; ce n'est pas le cas pour moi; en outre, le montage est rw): fstabentrée:UUID=1234-5678 /boot/efi vfat defaults 0 1
sxc731
2

Vous avez raison: il n'est pas nécessaire de monter l'ESP /boot/efidans la configuration par défaut (aka avec grub 2 )

update-grub met à jour grub.cfgde /boot/grubsorte que la configuration de grub soit mise à jour sans problème si l'ESP n'est pas monté.

Je ne l'avais pas monté pendant quelques années sur ma précédente installation sans problème.

Vous pouvez gagner quelques micro-secondes pendant le démarrage en ne le montant pas si vous le souhaitez ;-)

solstice
la source
Cela me semble une conception stupide. Le supprimer par accident = perdre tous les chargeurs de démarrage. Le programme d'installation openSuse m'avertit activement si je ne l'ajoute pas au fstab, mais le démonter n'a pas provoqué de fusion nucléaire jusqu'à présent.
jiggunjer
1
Vous ne pouvez pas supprimer des fichiers système par accident. Il existe de nombreux autres fichiers qui peuvent ruiner votre système. Et cela peut être facilement restauré de toute façon.
Pilot6
1
@ Pilot6 1) vous le pouvez. 2) non pertinent. 3) dépend de la façon dont le système a été configuré.
jiggunjer