Я хочу установить Arch Linux, но не знаю, нужно ли мне монтировать ESP в /boot
или /boot/efi
Если я монтирую ESP в /boot/efi
, нужно ли использовать параметр -p
при создании каталога с помощью mkdir -p /mnt/boot/efi
.
2 ответа
Я хочу установить Arch Linux, но не знаю, должен ли я монтировать ESP в /boot или /boot /efi
Для машины с одной ОС /boot
будет проще всего, потому что:
- Официальные пакеты ядра (
linux
и т.д.) Устанавливают ядро прямо в/boot
. - Некоторые небольшие загрузчики UEFI (например,
systemd-boot
) могут загружать ядро только из системного раздела EFI. (GRUB может загружаться откуда угодно.)
Поэтому, если ваш загрузчик требует, чтобы ядро было в ESP, то вы должны либо смонтировать ESP в /boot
, либо настроить скрипт для автоматического копирования ядра из /boot
в любое место, где ESP смонтирован.
я должен использовать опцию -p
Посмотрите, что делает опция -p, и подумайте, нужна ли она вам.
Это не делает каталог особенным - цель mkdir -p
- автоматически создавать все родительские каталоги. Если вы создаете /boot/efi
то он автоматически создаст /boot
на случай, если его не будет.
Для установки только для Arch , гравитация - хороший пример. Если вы устанавливаете большинство дистрибутивов, отличных от Arch, или если вы загружаете несколько файлов между Arch и чем-то еще, монтирование ESP в /boot
имеет некоторые недостатки, такие как:
- Помещение ваших ядер в ESP, как это происходит, если вы монтируете его в
/boot
, делает их доступными для других операционных систем, которые вы загружаете. Это может сбивать с толку, особенно если вы монтируете ESP в/boot
для нескольких дистрибутивов Linux - может быть не ясно, какому дистрибутиву принадлежит какое ядро. (Предполагается, что спецификация загрузчика исправит эту проблему, но лишь немногие дистрибутивы приняли ее, и она будет эффективной только в том случае, если она широко используется.) Если вы загружаете несколько компьютеров с Windows, macOS или чем-то еще, то размещение ядер Linux на ESP подвергает их несанкционированному изменению или случайному удалению из других ОС. (Конечно, вы не можете защитить Linux от повреждения другой ОС - другая ОС может удалить раздел Linux или использовать драйверы файловой системы, чтобы нанести ущерб. ESP использует FAT и предназначен для совместного использования между операционными системами, что делает его содержимое более восприимчивым к случайному или злонамеренному повреждению.) - ESP должен быть больше, чтобы содержать ядра Linux, чем в противном случае. Если вы начинаете с нуля, это не должно быть большой проблемой, так как вы можете выбрать подходящий размер; но если вы начинаете, скажем, с существующей установки Windows, существующий ESP может быть слишком маленьким. В этом случае вам необходимо изменить его размер (большие хлопоты) или использовать другой ESP (либо в дополнение к текущему, либо в качестве замены).
- В некоторых дистрибутивах Linux требуется, чтобы файловая система с ядрами Linux поддерживала символические ссылки или другие функции, которые не поддерживает FAT. Arch хорошо работает со своими ядрами на FAT, так что это не проблема только для Arch.
/boot/efi
- это более распространенная точка монтирования ESP, чем/boot
. Хотя документация Arch и основные сценарии поддержки, вероятно, будут хорошо работать с ESP в/boot
, вы можете столкнуться с более неясным сценарием поддержки, особенно если вы запускаете что-то из-за пределов экосистемы Arch, что делает неверное предположение, что ESP смонтирован в/boot/efi
. Это может привести к неприятностям. Я не знаю каких-либо конкретных примеров этого, но это часть вопроса - вы не знаете, что будет делать Random Script A.
FWIW, я недавно пересмотрел свою страницу загрузчиков EFI для Linux . Некоторые из загрузчиков и менеджеров загрузки на этой странице сегодня в значительной степени неактуальны - ELILO, GRUB Legacy и REFIt все прекратили разработку и в значительной степени остались позади. SYSLINUX также давно не обновлялся, и, по-видимому, он не так уж и гибок, чем ELILO. Это оставляет GRUB 2, rEFInd и systemd-boot
(ранее известный как gummiboot), причем последние два полагаются на загрузчик заглушек EFI, который является частью ядер Linux начиная с 3.3.0. Из них только systemd-boot
требует, чтобы ядра были сохранены в ESP, и это является основным ограничением. Я понимаю привлекательность облегченного менеджера загрузки, такого как systemd-boot
, и в системе, использующей только Arch, монтирование ESP в /boot
и использование systemd-boot
может иметь смысл, если вы собираетесь использовать минималистский подход. Если вы используете мультизагрузку, имхо, имеет смысл использовать GRUB 2 или rEFInd. (Отказ от ответственности: я раздвоил REFInd от REFIt, поэтому я не беспристрастный.)