Необходимо ли создавать отдельный раздел /boot для установки нескольких ОС Linux?

Необходимо ли создавать отдельный раздел /boot для установки нескольких ОС Linux?

Необходимо ли создавать отдельный раздел /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томом. Это было на облачном сервере, без особого способа проанализировать, что произошло (у меня нет дисплея на виду).

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