3

Я хочу установить Arch Linux, но не знаю, нужно ли мне монтировать ESP в /boot или /boot/efi Если я монтирую ESP в /boot/efi , нужно ли использовать параметр -p при создании каталога с помощью mkdir -p /mnt/boot/efi .

2 ответа2

4

Я хочу установить Arch Linux, но не знаю, должен ли я монтировать ESP в /boot или /boot /efi

Для машины с одной ОС /boot будет проще всего, потому что:

  1. Официальные пакеты ядра (linux и т.д.) Устанавливают ядро прямо в /boot .
  2. Некоторые небольшие загрузчики UEFI (например, systemd-boot) могут загружать ядро только из системного раздела EFI. (GRUB может загружаться откуда угодно.)

Поэтому, если ваш загрузчик требует, чтобы ядро было в ESP, то вы должны либо смонтировать ESP в /boot , либо настроить скрипт для автоматического копирования ядра из /boot в любое место, где ESP смонтирован.

я должен использовать опцию -p

Посмотрите, что делает опция -p, и подумайте, нужна ли она вам.

Это не делает каталог особенным - цель mkdir -p - автоматически создавать все родительские каталоги. Если вы создаете /boot/efi то он автоматически создаст /boot на случай, если его не будет.

3

Для установки только для 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, поэтому я не беспристрастный.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .