Хорошо ли сделать отдельный раздел для / boot?

77

Я видел, как некоторые люди делают отдельный раздел для /boot. Какая польза от этого? С какими проблемами я могу столкнуться в будущем , делая это?


Кроме того, кроме /homeи /boot, какие разделы могут быть разделены? Это рекомендуется?

Am1rr3zA
источник
1
Моя Ubuntu 8.04 пришла от Dell с разделом / boot. Это был не мой выбор. Когда я установил 10.04 fresh, он не пытался его создать.
Дэвид Торнли
Когда я пытался установить Arch Linux в первый раз, это было очень рекомендовано, и он даже не смог установить в первый раз, когда я этого не делал. Никогда не было проблем в других дистрибутивах.
Смотрите также вопрос об отдельных разделах в целом и вопросы, специфичные для / tmp и / var
sondra.kinsey

Ответы:

46

Это пережиток «старых», когда у машин были проблемы с большими жесткими дисками. Идея /bootраздела заключалась в том, чтобы сделать раздел всегда доступным для любой машины, к которой подключен диск. Если машина может добраться до начала привода (более низкие номера цилиндров), она может загрузить систему; Оттуда ядро ​​Linux сможет обойти ограничение загрузки BIOS и обойти проблему. Поскольку современные машины сняли это ограничение, более не существует постоянной необходимости /bootразделения, если только вам не требуется дополнительная обработка других разделов, таких как шифрование или файловые системы, которые изначально не распознаются загрузчиком.

Технически, вы можете обойтись без единого раздела и быть в порядке, при условии, что вы не используете действительно очень старое оборудование (до 1998 года или около того).

Если вы решили использовать отдельный раздел, просто предоставьте ему достаточно места, скажем, 200 МБ. Этого будет более чем достаточно для нескольких обновлений ядра (которые потребляют несколько мегабайт каждый раз). Если / boot начинает заполняться, удалите старые ядра, которые вы не используете, и настройте загрузчик, чтобы распознать этот факт.

Эйвери Пэйн
источник
2
Что касается размера, «для Fedora 13 размер раздела по умолчанию / загрузочный раздел был увеличен до 500 МБ, чтобы избежать этих проблем в будущем». (от fedoraproject.org/wiki/… )
Кристиан Чиупиту
3
500 м? что они там хранят? Мне никогда не нужно было даже 100 м, я сейчас использую 13 м /boot.
ксенотеррацид
27
По-прежнему существует множество современных причин наличия раздела / boot, и все они сводятся к «Загрузчик не может прочитать корневую файловую систему». Исторический вариант использования, как вы сказали, слишком большие диски, но современные случаи - это шифрование, новые файловые системы (такие как ext4), LVM или любая эзотерическая установка, которая просто не поддерживается GRUB.
Мистер Блестящий и Новый 宇 宇
22
Кто-нибудь упомянул, что в ситуациях двойной загрузки, если система Linux установлена ​​после Windows, GRUB предоставляет линии загрузки для параллельных систем. Если бы / boot не было в отдельном разделе, удаление раздела Linux сделало бы компьютер не загружаемым. Если / boot находится в отдельном разделе, удаление установки Linux (скажем, корневого раздела) не повредит возможности загрузки боковой системы.
mbaitoff
5
У меня было переполнение моего 100МБ / загрузочного раздела устаревшими ядрами. Это очень грязно, когда это происходит.
Малфист
39

Одна из причин наличия раздела / boot состоит в том, что он допускает такие вещи, как зашифрованный /, где ядро ​​и initrd загружаются из незашифрованного раздела и затем используются для монтирования зашифрованного корневого раздела, содержащего операционную систему. Это не должно иметь значения для общего использования.

Добавление комментария от Риккардо Мурри :

Существуют также исторические причины наличия отдельной / boot: в прежние времена BIOS мог обращаться только к части большого диска, поэтому все файлы, необходимые для загрузчика ОС, должны были храниться в зоне, доступной для BIOS. Отсюда отдельный раздел / boot. Это больше не применяется, хотя

дсп
источник
1
хорошо ... iirc загрузчик может по-прежнему иметь доступ только к основным разделам ... так что это может быть полезно, если у вас довольно много расширенных разделов.
ксенотеррацид
18

Основная причина для таких крупных корпоративных дистрибутивов, как Red Hat, и я думаю, что Suse использует отдельный / boot, заключается в том, что они используют LVM по умолчанию, а Grub нельзя использовать для загрузки из LVM. Это так просто.

Так что, если вы хотите использовать LVM, и это благо, вы используете отдельный / boot. Лично я считаю , что это хорошая практика , чтобы использовать как LVM и отдельные разделы для множества вещей, как /var, /boot, /homeи /tmpдаже /usrна серверах, например , для того , чтобы защитить корневую файловую систему или данных разделов от получения полной.

wzzrd
источник
3
Другой веской причиной было то, что GRUB не поддерживал ext4 , только ext3 , поэтому, если вы хотите использовать ext4, у /вас должен быть отдельный /bootраздел.
Кристиан Чиупиту
Некоторые люди подразумевают, что GRUB не сможет загрузиться с LVM. GRUB2 успешно загружается с LVM2 без каких-либо проблем на моем домашнем ПК уже около 1,5 лет. Сладкая вещь, так как нарезанный хлеб. Да, и это поддерживается по умолчанию универсальным (альтернативным) установщиком. Попробуй
Сехе
1
Что касается / tmp /, то сейчас вы можете монтировать память с помощью tmpfs. Это может быть быстрее, а также полезнее для ваших жестких дисков. В любом случае / tmp / не должен выживать после перезагрузки.
imz - Иван Захарьящев
1
Grub legacy не работает, и Grub 2 не работал, если / boot был подключен к логическому столбцу LVM. Поддержка была добавлена ​​сравнительно недавно. Не должно быть трудно выкопать конкретную ссылку. То же самое касается программного RAID, поддержка которого также была недавно добавлена ​​в Grub 2.
Faheem Mitha
@Faheem M .: Так .... ты говоришь, что это не работает для тебя, или главным образом, что я, должно быть, плохо помню временные рамки? Очень быстрый Google обнаружил эту запись, опубликованную 20 ноября 2006 года, поэтому я готов поспорить, что я был прав с моим таймфреймом.
Сехе
13

Последняя причина, менее важная, чем указанная, заключается в том, что она может позволить ПК оставаться загрузочным, если часть диска повреждена. Чем больше разделов у вас есть, тем проще будет просто не монтировать раздел из-за ошибки.

Иногда это может быть полезно, но обычно все равно есть лучший способ.

РЕДАКТИРОВАТЬ: Еще один момент: предполагая, что Linux, использование LVM может быть хорошим способом избежать любых потенциальных проблем, он позволяет легко изменять размеры «разделов» и добавлять новое пространство без всяких проблем.

tsvallender
источник
1
Разве это не потребует, чтобы хотя бы часть раздела / была не повреждена? Конечно, образ ядра находится в / boot, но драйверы находятся в / lib, а init или sh в / bin.
Мистер Блестящий и Новый 宇 宇
7

Я думаю, что это больше личное предпочтение, чем все остальное. Может даже быть лучшей практикой. Мой личный взгляд на / boot скорее только для чтения. Время от времени вам нужно писать туда, чтобы обновить ядро ​​или добавить другую ОС в grubloader. Кроме того, это просто необходимо ... ну, загрузиться. Таким образом, наличие его в отдельной файловой системе может помочь поставить его только для чтения (может быть, это даже некоторый аспект безопасности).

Должна ли это быть отдельная файловая система? Я думаю, нет .. Но разве это плохая идея? Нет, совсем нет!

Райхе
источник
7

Отвечая на вопрос «какие проблемы это может вызвать», как и в случае любого разбиения, всегда существует риск того, что вам потребуется больше места, чем было выделено изначально. Хотя это маловероятно, в /bootпоследнее время возникла проблема с предварительным обновлением в Fedora, вызванная небольшими /bootразмерами.

Кай
источник
1

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

Кандидатами Obviuos для отдельных разделов являются / usr / local и / home, а также / root. Лично я считаю более эффективным создание пользовательских разделов, монтирование их в произвольной точке монтирования, например / part / data, а затем переход к символическим ссылкам, как в:

sudo ln -sf /part/data/joe /home/joe
sudo ln -sf /part/data/root /root
sudo ln -sf /part/data/usr-local /usr/local
Dalker
источник
1

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

sakisk
источник
Мне трудно поверить, что журналирование и контрольная сумма делают загрузку заметно медленнее. У вас есть жесткие цифры?
Игнис
Извините, нет доступных номеров, вы можете поэкспериментировать, если хотите. Для некоторых людей, даже если это +5 секунд медленнее, это заметно.
Сакиск
Вы подразумеваете, что это было на 5 секунд медленнее в вашем опыте?
Ignis
1
Нет. В последний раз, когда я делал это, я использовал ext2.
Сакиск
1

Я обнаружил, что загрузка с подсказки grub несколько сложнее при использовании отдельного раздела / boot.

Казалось, что ядро ​​было на / boot, но initramfs было на / (отдельный раздел).

Так что было не ясно, какой раздел использовать в меню grub.

Со всеми потенциальными преимуществами отдельного / загрузочного раздела, существует также риск того, что придется устранять неполадки чаще, чем обычно, в случае чего-то плохого (например, запустить grub-install без запуска update-grub впоследствии: S)

Alecz
источник
Федора /bootчастично использует историю, поскольку grubне понимает (не понимает?) Все возможные файловые системы. И мой, vmlinuzи initrdоба в /boot, установлены из ванильного ядра из Git ...
vonbrand
-1

Позвольте мне написать здесь только некоторые из моих опытов:

Ну, в моем случае, у меня есть RAID 1 (1 ГБ только для / boot) и RAID 5 для остального дискового пространства.

Я использую Grub 2 из Debian Squeeze, и это нормально. Grub 2 больше не имеет этого ограничения, как Grub 1.

В наше время это не имеет значения. Это было необходимо, когда у вас была grub version 1, который не знал, как загружаться с RAID5, но знал, как загружаться с raid 1. И вот почему.

В моем случае я использую это на всякий случай, мне это может понадобиться, если случится что-то плохое. Потому что не каждый раз, когда у вас в кармане новый LIVE Debian или Ubuntu.

Также, если что-то плохое случается, я делаю резервную копию / boot. Однажды это сохранило мою установку уже.

Я использую Linux SW RAID 1 с 3 жесткими дисками и RAID 5 с такими же жесткими дисками. Первые 1 ГБ я использую для RAID 1.

Но если вы используете LILO или GRUB версии 1.98 -> 2, вам не нужен разделенный / загрузочный раздел.

Мирра
источник