Правильное место для EFI при установке Debian 9.9

Правильное место для EFI при установке Debian 9.9

Я устанавливаю Debian 9.9 и хочу использовать эту схему для моего жесткого диска объемом 1 ТБ и 8 ГБ оперативной памяти.

Size              Name / Mounted at
512 MB            EFI System Partition
40 GB             /
8GB               /swap
Remaining space   /home

В Интернете люди используют раздел EFI, смонтированный в /boot или /boot/efi.

Поскольку Debian 9 не позволяет /boot быть FAT32, мы не можем использовать /boot. Прав ли я, думая, что даже /boot/efi также не является вариантом по той же причине?

Есть ли смысл иметь папку /grub с GRUB2 в ней? Разве это не установит GRUB2 в системный раздел EFI самостоятельно?

Каковы преимущества альтернативных схем разбиения на разделы (а именно, EFI в /boot, /boot/efi или GRUB2, установленный в /grub )?

решение1

Стандартное место (по крайней мере для Debian) для вашего раздела EFI — /boot/efi. Это может быть идолжно бытьраздел FAT32.

В стандартной компоновке Debian Grub EFI grub состоит из трех частей:

  1. /boot/efi
    Смонтированный раздел EFI
    содержит загрузчик и конфигурацию заглушки grub
  2. /boot/grub
    Тот же раздел /boot или /
    Содержит модули grub и фактическую конфигурацию grub
  3. /etc/grub.d
    Тот же раздел, что и /
    Содержит скрипты автоматической настройки

Grub не устанавливается полностью на EFI, значительная его часть находится в другом месте. Поэтому для загрузки вам все равно нужен /boot/grub. Он устанавливает только заглушку и конфигурацию заглушки, чтобы указать на себя остальное. Типичная конфигурация заглушки EFI выглядит так ( /boot/efi/EFI/debian/grub.cfg):

search.fs_uuid 2c675303-d207-4573-98f5-59a33c9890ab root hd0,gpt3
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

Обратите внимание, что эта конфигурация сообщает grub только то, где найти настоящую конфигурацию ( /boot/grub/grub.cfgрасположенную на жестком диске 0, разделе 3).

Также обратите внимание, что хотя конфигурация в основном хранится в /boot/grub, вы никогда не редактируете ее вручную, вы просите скрипт grub отредактировать ее для вас. И поэтому для перенастройки grub (даже просто для добавления нового ядра) вам также понадобится /etc/grub.d. Обратите внимание, что скрипты в этом каталоге могут зависеть от других библиотек, установленных Debian.


Поэтому вам необходимо сохранить /boot/grub по двум причинам:

  1. Он содержит ваши фактические конфигурации и модули grub.
  2. Чтобы скрипты автоматической конфигурации знали, куда записывать новую конфигурацию.

Если вы действительно хотите перейти /boot/grubна EFI... (нестандартный)

На самом деле вас ничто не останавливает. Просто убедитесь, что скрипты знают, /etc/grub.dгде его найти (например: оставьте символическую ссылку)

Я делал это раньше по эзотерическим причинам. Я запускаю систему с разделом EFI, содержащим два каталога EFIи grub. Я настроил это с помощью:

# Move /boot/grub onto my EFI partition
mv /boot/grub /boot/efi

# Leave a symbolic link from the old location to the new location
ln -s /boot/efi/grub /boot/grub

# Update the stub config /boot/efi/EFI/debian/grub.cfg to point to the new location
grub-install

# For safety update the contents of /boot/efi/grub aka /boot/grub
update-grub

Мне на самом деле нравится эта настройка, потому что она защищает от ошибки, которую я здесь видел несколько раз, когда люди удаляют ОС и уничтожают grub, что не позволяет загрузить любую другую ОС.


Причины разделения

Разделение имеет ряд целей. Что касается разбиения частей вашего загрузчика, это полезно для управления различными возможностями различных частей вашей системы.

  • Ваш BIOS может читать только файловые системы на базе FAT.
  • Grub имеет довольно хорошую поддержку файловых систем, но LVM и зашифрованные тома могут стать проблемой.
  • Linux может читать все
  • СтарыйGrub legacy не может читать очень большие диски или разделы

Ваш BIOS должен иметь возможность загружать и запускать grub, поэтому EFI должен работать в файловой системе на базе FAT.

Ваш главный раздел может быть на том, что grub не может прочитать, но grub нужен доступ к вашему ядру, Initramfs и его собственной конфигурации, поэтому /boot и /boot/grub должны быть на разделе, который grub может прочитать. В старые времена grub legacy вам также нужно было убедиться, что этот раздел достаточно мал и находится близко к началу диска на очень маленьких дисках.

Linux может читать все, но вам может понадобиться запустить Linux на LVM или зашифрованном томе.

Связанный контент