Perché è montata la partizione efi?


10

In Ubuntu e in molte altre distro è montata la partizione EFI /boot/efi.

A quanto ho capito, la partizione EFI viene letta prima del SO rootfs ( /). Quindi, dopo che il kernel è stato caricato e montato /, a cosa serve ancora la partizione EFI? In teoria dopo l'installazione iniziale non è più necessario accedere /boot/efi, poiché contiene solo il binario .efi ...

Quindi perché è montato? Sembra montare automaticamente una partizione con file sensibili a cui non accedi molto spesso non è una cosa molto intelligente da fare dal punto di vista del design ...


MODIFICARE:

Alcuni sistemi recenti possono includere la grub.cfgloro sezione di efi. Vedi questo bug report , anche se questo non è il caso del mio 16.04LTS. Quindi per i sistemi con il file di configurazione sull'ESP ha più senso montarlo. Tuttavia, con quale frequenza devono essere eseguite le persone update-grube lo script non può montarlo e smontarlo di nuovo dopo l'aggiornamento?

Risposte:


9

Esistono diversi motivi per cui potrebbe essere necessario accedere all'ESP in una varietà di circostanze:

  • /boot/efi/EFI/ubuntu/grubx64.efi - Questo è il binario EFI GRUB 2, che deve essere sostituito se il pacchetto GRUB viene aggiornato.
  • /boot/efi/EFI/ubuntu/grub.cfg- Questo è un file di configurazione di GRUB che fa pochissimo; carica principalmente /boot/grub/grub.cfg. Questo reindirizzamento viene eseguito per abilitare un "hook" per i sistemi Secure Boot; senza Secure Boot, il grubx64.efibinario può essere creato localmente e punta direttamente a /boot/grub/grub.cfg; ma poiché la posizione di /boot/grub/grub.cfgvaria (come visto dall'ESP) da un sistema all'altro, grub.cfgè necessario inserire un file sull'ESP per Secure Boot, che non consente grubx64.efidi essere costruito localmente. IMHO, avrebbe più senso mettere i grub.cfgfile di supporto GRUB principali e altri sull'ESP, ma gli sviluppatori responsabili di questo hanno optato per un approccio più conservativo, rispetto a quello che fa un sistema basato su BIOS. In ogni caso, ilgrub.cfgsull'ESP raramente, se mai, verrà aggiornato; ma ciò potrebbe essere necessario ad un certo punto, in particolare se il pacchetto Debian di GRUB è aggiornato.
  • /boot/efi/EFI/ubuntu/shimx64.efi- Questo è il binario Shim, necessario per il funzionamento di Secure Boot. Come il binario di GRUB 2, potrebbe essere aggiornato da un aggiornamento del pacchetto Debian, ma del shim-signedpacchetto.
  • /boot/efi/EFI/ubuntu/MokManager.efi- Questo è il binario MokManager, che è uno strumento di supporto Shim. Come Shim, potrebbe essere aggiornato in un aggiornamento del pacchetto.
  • /boot/efi/EFI/ubuntu/fwupx64.efi- Questo è uno strumento che aiuta ad automatizzare l'aggiornamento del firmware su un computer basato su EFI. Come con i precedenti binari EFI, potrebbe essere aggiornato da un aggiornamento del pacchetto Debian.
  • File del firmware EFI: è probabile che l'aggiornamento del firmware richieda la copia dei file del firmware su ESP. Questo potrebbe essere un processo manuale o qualcosa che è almeno parzialmente automatizzato usando il fwupdatebinario Linux e il fwupx64.efibinario EFI corrispondente . (Non sono sicuro al 100% che quest'ultimo richieda la scrittura di file su ESP. È piuttosto nuovo e ha una documentazione minima a questo punto.)
  • Altri strumenti relativi a EFI: programmi come il mio gestore di avvio rEFInd e altri strumenti di gestione e strumenti di avvio EFI non standard potrebbero dover essere installati su ESP. Il numero di strumenti che potrebbe essere necessario installare è significativo, ma la maggior parte di essi è esotica, quindi il numero di sistemi interessati è ridotto.
  • Regolazioni manuali del file di configurazione: se si desidera riconfigurare un caricatore di avvio, potrebbe essere necessario leggere il suo file di configurazione su ESP, modificarlo e salvare nuovamente il file modificato. Per questo motivo, semplicemente esaminando la configurazione è necessario montare ESP (anche se potrebbe essere un montaggio di sola lettura).
  • Strumenti di informazioni di sistema: strumenti come Boot Info Script leggono i file di configurazione su ESP per generare un rapporto su come è configurato il sistema. Lo script di informazioni di avvio probabilmente monta l'ESP anche se è smontato per fare il suo lavoro, ma non ne sono sicuro al 100%. Potrebbero esserci altri strumenti che presumono che l'ESP sia già montato e la loro funzionalità sarebbe degradata se questa ipotesi non fosse soddisfatta.

In breve, ci sono alcuni motivi per cui il sistema operativo stesso o potrebbe essere necessario o necessario leggere o scrivere su ESP. Detto questo, questi motivi sono abbastanza pochi da rendere vantaggioso un meccanismo per montare temporaneamente l'ESP e poi smontarlo quando fatto. Certamente uno script di installazione di pacchetti Debian potrebbe fare il lavoro, per esempio, così come gli strumenti automatizzati che modificano i file di configurazione su ESP. AFAIK, tuttavia, la modifica dello stato di montaggio dell'ESP non è all'orizzonte.

Si noti che ESP è montato con autorizzazioni abbastanza restrittive per impostazione predefinita. Di recente (a partire da 15.10 o 16.04, forse - non sono sicuro esattamente quando), i permessi di montaggio sono stati cambiati in modo che rootpossano solo leggere /boot/efi. Anche prima di allora, rootpoteva solo scrivere su ESP, sebbene i permessi di lettura fossero meno rigidi. Dal momento che rootpuò montare partizioni, a questo punto si ha un vantaggio minimo in termini di sicurezza nel lasciare smontato l'ESP, anche se ci sarebbe un vantaggio in quanto vi sarebbe un minor rischio di danni al filesystem dell'ESP a causa di un bug, un'interruzione dell'alimentazione, ecc.


È solo una coincidenza che più distro hanno questa politica crescente? O potrebbe essere correlato a POSIX o ad altri standard? Tutti i derivati ​​Debian +, Arch + derivati, OpenSUSE. Forse Fedora ...
jiggunjer,

Su un'installazione di 17.04 non ho alcuna restrizione /boot/efi(sopra la risposta cita solo root-accessibile; non è il caso per me; inoltre il mount è rw): fstabentry:UUID=1234-5678 /boot/efi vfat defaults 0 1
sxc731

2

Hai ragione: non è necessario montare l'ESP /boot/efinella configurazione predefinita (ovvero con grub 2 )

update-grub aggiornamenti grub.cfgche sta nella /boot/grubquindi la configurazione di GRUB viene aggiornato senza problema se l'ESP non è montato.

Non l'ho montato per un paio d'anni sulla mia installazione precedente senza problemi.

Puoi guadagnare qualche micro-secondo durante l'avvio non montandolo se lo desideri ;-)


Mi sembra uno stupido design. Eliminarlo per errore = perdere tutti i bootloader. Il programma di installazione di openSuse mi avvisa attivamente se non lo aggiungo a fstab, ma smontarlo non ha causato finora un crollo nucleare.
jiggunjer,

1
Non è possibile eliminare i file di sistema per caso. Ci sono molti altri file che possono rovinare il tuo sistema. E questo può essere facilmente ripristinato comunque.
Pilota

1
@ Pilot6 1) puoi. 2) irrilevante. 3) dipende da come è stato configurato il sistema.
jiggunjer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.