Почему раздел efi смонтирован?

10

В Ubuntu и некоторых других дистрибутивах смонтирован раздел EFI /boot/efi.

Как я понимаю раздел EFI читается перед rootfs ОС ( /). Итак, после того как ядро ​​загрузится и смонтируется /, для чего нам все еще нужен раздел EFI? Теоретически после начальной установки вам больше не нужен доступ /boot/efi, поскольку он содержит только двоичный файл .efi ...

Так почему он установлен? Кажется, автоматическое монтирование раздела с конфиденциальными файлами, к которым вы не часто обращаетесь, не очень разумно с точки зрения дизайна ...


РЕДАКТИРОВАТЬ:

Некоторые современные системы могут включать в себя grub.cfgих эффективность. Смотрите этот отчет об ошибке , хотя это не относится к моим 16.04LTS. Поэтому для систем с конфигурационным файлом на ESP имеет смысл смонтировать его. Но как часто нужно запускать людей update-grub, и не может ли скрипт смонтировать его и снова размонтировать после обновления?

jiggunjer
источник

Ответы:

9

Существует несколько причин, по которым ESP может потребоваться доступ в различных обстоятельствах:

  • /boot/efi/EFI/ubuntu/grubx64.efi - Это двоичный файл EFI GRUB 2, который необходимо заменить в случае обновления пакета GRUB.
  • /boot/efi/EFI/ubuntu/grub.cfg- Это конфигурационный файл GRUB, который делает очень мало; в основном это грузит /boot/grub/grub.cfg. Это перенаправление выполняется для включения «перехвата» для систем безопасной загрузки; без безопасной загрузки grubx64.efiдвоичный файл может быть собран локально и направлен непосредственно на /boot/grub/grub.cfg; но, поскольку местоположение /boot/grub/grub.cfgменяется (как видно из ESP) от одной системы к другой, размещение grub.cfgфайла в ESP необходимо для безопасной загрузки, которая не позволяет grubx64.efiсоздавать локально. ИМХО, было бы более разумно поместить основной grub.cfgи другие файлы поддержки GRUB в ESP, но разработчики, отвечающие за это, выбрали более консервативный подход по сравнению с тем, что делает система на основе BIOS. В любом случае,grub.cfgна ESP будет редко, если вообще когда-либо, обновляться; но это может понадобиться в какой-то момент, особенно если пакет Debian GRUB обновлен.
  • /boot/efi/EFI/ubuntu/shimx64.efi- Это двоичный файл Shim, который требуется для безопасной загрузки. Как и двоичный файл GRUB 2, он может обновляться обновлением пакета Debian, но shim-signedпакета.
  • /boot/efi/EFI/ubuntu/MokManager.efi- Это бинарный файл MokManager, который является инструментом поддержки Shim. Как и Шим, он может быть обновлен в обновлении пакета.
  • /boot/efi/EFI/ubuntu/fwupx64.efi- Это инструмент, помогающий автоматизировать обновление прошивки на компьютере с EFI. Как и в предыдущих двоичных файлах EFI, он может обновляться обновлением пакета Debian.
  • Файлы прошивки EFI - при обновлении прошивки может потребоваться копирование файлов прошивки в ESP. Это может быть ручной процесс или что-то, что хотя бы частично автоматизировано с использованием fwupdateдвоичного fwupx64.efiфайла Linux и соответствующего двоичного файла EFI. (Я не уверен на 100%, что последний требует записи файлов в ESP, хотя он довольно новый и имеет минимальную документацию на данный момент.)
  • Другие инструменты, связанные с EFI. Возможно, в ESP должны быть установлены такие программы, как мой менеджер загрузки rEFInd и другие нестандартные менеджеры загрузки и инструменты EFI. Огромное количество инструментов, которые могут потребоваться установить, является значительным, но большинство из них экзотические, поэтому количество систем, на которые влияют, невелико.
  • Ручная настройка файла конфигурации - если вы хотите перенастроить загрузчик, вам может потребоваться прочитать его файл конфигурации на ESP, отредактировать его и сохранить отредактированный файл обратно. В связи с этим простое изучение конфигурации требует установки ESP (хотя это может быть монтирование только для чтения).
  • Инструменты системной информации. Такие инструменты, как скрипт Boot Info Script, считывают файлы конфигурации в ESP, чтобы создать отчет о том, как настроена система. Скрипт Boot Info, вероятно, монтирует ESP, даже если он не подключен для выполнения своей работы, но я не уверен на 100% в этом. Могут быть другие инструменты, которые предполагают, что ESP уже смонтирован, и их функциональность будет ухудшена, если это предположение не будет выполнено.

В целом, существует довольно много причин, по которым сама ОС, или вы, возможно, захотите или должны будете читать или писать в ESP. Тем не менее, этих причин достаточно мало, поэтому может быть полезен механизм для временного подключения ESP и последующего его демонтирования по завершении. Конечно, скрипт установки пакета Debian мог бы, например, выполнять эту работу, как и автоматизированные инструменты, которые изменяют файлы конфигурации в ESP. AFAIK, тем не менее, изменение статуса монтирования ESP не на горизонте.

Обратите внимание, что ESP по умолчанию монтируется с довольно ограниченными правами доступа. В последнее время (начиная с 15.10 или 16.04, возможно - точно не знаю, когда), разрешения на монтирование были изменены, так что только из них rootможно читать /boot/efi. Даже до этого, только rootмогли писать в ESP, хотя права на чтение были более свободными. Поскольку rootможно монтировать разделы, минимальное преимущество в плане безопасности заключается в том, чтобы на этом этапе отключать ESP без подключения, хотя было бы преимущество в том, что снижался бы риск повреждения файловой системы ESP из-за ошибки, сбоя питания и т. Д.

Род Смит
источник
Это просто совпадение, что несколько дистрибутивов имеют такую ​​политику наращивания? Или это может быть связано с POSIX или другим стандартом? Все производные Debian +, Arch + производные, OpenSUSE. Может быть, Fedora ...
jiggunjer
При стандартной установке 17.04 у меня нет никаких ограничений /boot/efi(вышеупомянутый ответ упоминает только доступ с правами суперпользователя; для меня это не так; более того, монтирование есть rw): fstabentry:UUID=1234-5678 /boot/efi vfat defaults 0 1
sxc731
2

Вы правы: нет необходимости монтировать ESP /boot/efiв настройках по умолчанию (также как grub 2 )

update-grub - это обновления grub.cfg, /boot/grubпоэтому конфигурация grub обновляется без проблем, если ESP не смонтирован.

Я не монтировал его пару лет на моей предыдущей установке без проблем.

Вы можете получить некоторую микросекунду во время загрузки, не монтируя ее, если хотите ;-)

солнцестояние
источник
Мне кажется, это глупый дизайн. Удаление его случайно = потеря всех загрузчиков. Установщик openSuse активно предупреждает меня, если я не добавлю его в fstab, но отключение его пока не вызвало ядерного взрыва.
jiggunjer
1
Вы не можете удалить системные файлы случайно. Есть много других файлов, которые могут разрушить вашу систему. И это может быть легко восстановлено в любом случае.
Pilot6
1
@ Pilot6 1) можно. 2) не имеет значения. 3) зависит от того, как была настроена система.
jiggunjer