Необходимо ли создавать отдельный раздел /boot для установки нескольких ОС Linux?
решение1
В наши дни вам не нужен отдельный раздел /boot для любого крупного дистрибутива Linux (и это может даже вызвать некоторые проблемы). Если вы попытаетесь запустить несколько установок Linux с одного загрузочного раздела, у вас, скорее всего, возникнут проблемы с загрузкой. Лучше всего, если у вас нет особой причины поступить иначе, иметь один раздел подкачки для всех ваших Linux, а затем один раздел ext3/4/BTRFS/какой-либо еще для каждой установки, где вы будете размещать все ваши системные и пользовательские файлы для каждой установки Linux. Вы можете иметь отдельный раздел/диск данных, если это необходимо, и монтировать его в каждой ОС по мере необходимости.
решение2
Нужен ли вам отдельный раздел /boot для каждого Linux?
Каждый дистрибутив будет считать, что это единственное, что модифицирует /boot (через yum
, apt
, ...). Не позволяйте нескольким дистрибутивам управлять одним и тем же/boot
каталог(раздел). Системные обновления будут эффективно бороться друг с другом за него.
Если вы выделяете раздел для /boot, то для каждого дистрибутива обычно требуется свой собственный раздел.
Что такое /boot?
Это плохо изученная тема, будьте осторожны с тем, что вы читаете.. Каталог /boot действует как мост, позволяющий работающей операционной системе считывать и записывать конфигурацию загрузчика. Он не нужен ни для чего другого во время выполнения.
Представьте себе каталог /boot — это место для хранения конфигурации и плагинов загрузчика, а также ядра и initramfs.
При загрузке системы прошивка компьютера запустит загрузчик, который прочитает /boot, загрузит конфигурацию. Затем он загрузит нужное ядро и файл initramfs.
Фактически, единственная причина держать его смонтированным в Linux в большинстве обычных обстоятельств заключается в том, что инструменты обновления системы (вызываемые yum
, apt
, ...) могут ожидать его наличия, чтобы они могли, например, установить новое ядро. Эти инструменты довольно негибкие. Я НЕ советую вам запускать без каталога /boot.
Должен ли /boot быть отдельным разделом?
Чаще всего нет. Единственная веская причина поместить /boot на отдельный раздел — это возможность хранить корневой каталог вашей системы / на чем-то, что загрузчик не сможет прочитать или прочтет плохо.
Чувствуете себя очень смелым?
На самом деле да, вы можете разделить /boot двумя способами. Но я НЕ предлагаю, чтобы какой-либо из них был целесообразным.
Только один Linux устанавливает ядро и загрузчик
В разных дистрибутивах ядра Linux могут быть на удивление совместимы. По крайней мере, совместимыми могут быть те, у которых похожая основная версия. Поэтому возможно иметь один дистрибутив без установленного загрузчика или ядра. Такая установка не должна пытаться изменить /boot и не добавит ничего полезного, даже если это произойдет.
Таким образом, можно заставить один Linux управлять всеми загрузочными записями другого и просто совместно использовать ядро между ними.
Подкаталоги
Люди обычно не думают об этом, но это довольно безопасно - привязать-монтировать что-то к /boot. С помощью этого механизма вы можете иметь один раздел, содержащий по-разному названный каталог загрузки для каждой установки.
Выглядеть это /etc/fstab
будет примерно так:
# Mount the boot partition
UUID=cb015492-4ca4-4fae-a416-6d89443e4680 /media/boot ext4 defaults 0 2
# Bind mount the desired
/media/boot/ubuntu-jammy-boot /boot none bind 0 0
В последний раз, когда я это проверял, он, похоже, grub-install
понял расположение и правильно настроил grub grub.cfg
в EFI. Например: /boot/efi/EFI/ubuntu/grub.cfg
. Если нет, то вы можете вручную пакетировать строку конфигурации в этом файле:
set prefix=($root)'/ubuntu-jammy-boot/grub'
решение3
Необходимость раздела обусловлена двумя причинами /boot
:
- BIOS не может получить доступ к секторам в любом месте большого диска,
- загрузчик не может загрузить сложный менеджер дисков или файловые системы, используемые для
/
.
Я полагаю, что первое обоснование не верно для современных систем. А с Grub2 даже что-то вроде LVM или Btrfs может быть загружено с первыми этапами (включая первые сектора за пределами файловой системы).
Однако в 2022 году мне не удалось установить Debian с одним / + /boot
томом. Это было на облачном сервере, без особого способа проанализировать, что произошло (у меня нет дисплея на виду).