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

<p>я видел, как некоторые люди делали отдельный раздел для <code>/boot</code>. какая польза от этого? с какими проблемами я могу столкнуться в <strong>будущем</strong> при этом?</p><hr><p>также кроме <code>/home</code> а также <code>/boot</code>, какие разделы можно разделить? это рекомендуется?</p>

<p>это пережиток "старых", когда у машин были проблемы с большими жесткими дисками. идея, стоящая за <code>/boot</code> раздел должен был сделать раздел всегда доступным для любого компьютера, к которому подключен диск. если машина сможет добраться до начала накопителя (меньшие числа цилиндров), то она сможет bootstrap системы); оттуда ядро linux сможет обойти ограничение загрузки bios и обойти проблема: поскольку современные машины сняли это ограничение, больше нет постоянной необходимости в <code>/boot</code> быть отдельным, если вам не требуется дополнительная обработка других разделов, таких как шифрование или файловые системы, которые изначально не распознаются загрузчиком.</p><p>технически, вы можете избежать неприятностей с одним разделом и быть в порядке, при условии, что вы не используете действительно <em>действительно</em> старое оборудование (до 1998 года или около того).</p><p>если вы решили использовать отдельный раздел, просто предоставьте ему достаточно места, скажем, 200 мб. этого будет более чем достаточно для нескольких обновлений ядра (которые потребляют несколько мегабайт каждый раз). если/boot начинает заполняться, удалите старые ядра, которые вы не используете, и настройте загрузчик, чтобы распознать этот факт.</p>

<p>одна из причин наличия раздела/boot состоит в том, что он допускает такие вещи, как зашифрованный /, где ядро и initrd загружаются из незашифрованного раздела и затем используются для монтирования зашифрованного корневого раздела, содержащего операционную систему. это не должно иметь значения для общего использования.</p><p>добавление комментария от <a href="https://unix.stackexchange.com/users/274/riccardo-murri">риккардо мурри</a> :</p><blockquote> <p>существуют также исторические причины наличия отдельной/boot: в прежние времена bios мог обращаться только к части большого диска, поэтому все файлы, необходимые для загрузчика ос, должны были храниться в зоне, доступной для bios. отсюда отдельный раздел/boot. это больше не применяется, хотя</p> </blockquote>

<p>основная причина, по которой основные корпоративные дистрибутивы, такие как red hat и suse, используют отдельный/boot, заключается в том, что они используют lvm по умолчанию, а grub нельзя использовать для загрузки из lvm. это так просто.</p><p>так что, если вы хотите использовать lvm, и это благо, вы используете отдельный/boot. лично я считаю хорошей практикой использовать lvm и отдельные разделы для множества вещей, таких как <code>/var</code>, <code>/boot</code>, <code>/home</code> а также <code>/tmp</code> и даже <code>/usr</code> на серверах, например, чтобы защитить корневую файловую систему или разделы данных от переполнения.</p>

<p>последняя причина, менее важная, чем указанная, заключается в том, что она может позволить пк оставаться загрузочным, если часть диска повреждена. чем больше разделов у вас есть, тем легче будет просто не монтировать раздел из-за ошибки.</p><p>иногда это может быть полезно, но обычно все равно есть лучший способ.</p><p>правка: еще один момент: предполагая, что linux, использование lvm может быть хорошим способом избежать любых потенциальных проблем, он позволяет легко изменять размеры "разделов" и добавлять новое пространство без всяких проблем.</p>

<p>я думаю, что это больше личное предпочтение, чем все остальное. может даже быть лучшей практикой. мой личный взгляд на/boot скорее только для чтения. время от времени вам нужно писать туда, чтобы обновить ядро или добавить другую ос в grubloader. кроме того, это просто необходимо ... ну, загрузиться. таким образом, наличие его в отдельной файловой системе может помочь поставить его только для чтения (может даже быть некоторым аспектом безопасности для него).</p><p><em>должен</em> это отдельная файловая система? я думаю, нет .. но разве это плохая идея? нет, совсем нет!</p>

<p>отвечая на вопрос "какие проблемы это может вызвать", вопрос: как и при любом разбиении, всегда есть риск, что вам потребуется больше места, чем было выделено изначально. хотя это вряд ли в случае <code>/boot</code>, недавно было <a href="http://fedoraproject.org/wiki/common\_f13\_bugs#preupgrade\_doesn.27t\_work\_with\_default-sized\_.2fboot\_partition">проблема с предварительным обновлением в fedora</a> вызвано небольшим <code>/boot</code> размеры.</p>

<p>я обнаружил, что немного сложнее загрузиться из grub prompt при использовании отдельного раздела/boot.</p><p>казалось, что ядро было на/boot, но initramfs было на/(отдельный раздел).</p><p>так что было не ясно, какой раздел использовать в меню grub.</p><p>при всех потенциальных преимуществах отдельного/загрузочного раздела, существует также риск того, что придется устранять неполадки чаще, чем обычно, в случае чего-то плохого (т.е. запустить grub-install без запуска update-grub впоследствии: s)</p>

<p>что касается второй части вопроса, может быть полезно разместить в отдельных разделах все, что не зависит от текущего распределения. кроме того, оставляя дополнительное место на диске, это позволяет, при необходимости в будущем, либо установить другой дистрибутив, либо выполнить переустановку текущего дистрибутива, предоставив доступ ко всему, что вы хотели бы видеть на обоих.</p><p>кандидатами obviuos для отдельных разделов являются/usr/local и/home, а также/root. лично я считаю более эффективным создавать пользовательские разделы, монтировать их в произвольной точке монтирования, например/part/data, а затем переходить к символическим ссылкам, как в:</p><pre><code>sudo ln -sf /part/data/joe /home/joe sudo ln -sf /part/data/root /root sudo ln -sf /part/data/usr-local /usr/local </code></pre>

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

<p>позвольте мне написать здесь только некоторые из моих опытов:</p><p>ну, в моем случае, у меня есть raid 1 (1 гб только для/boot) и raid 5 для остального дискового пространства.</p><p>я использую grub 2 из debian squeeze, и это нормально. grub 2 больше не имеет этого ограничения, как grub 1.</p><p>в наше время это не имеет значения. это было необходимо, когда у вас была grub version 1, который не знал, как загружаться с raid5, но знал, как загружаться с raid 1. и вот почему.</p><p>в моем случае я использую это на всякий случай, мне это может понадобиться, если случится что-то плохое. потому что не каждый раз, когда у вас в кармане новый live debian или ubuntu.</p><p>также, если что-то плохое случается, я делаю резервную копию/boot. однажды это сохранило мою установку уже.</p><p>я использую linux sw raid 1 с 3 жесткими дисками и raid 5 с такими же жесткими дисками. первые 1 гб я использую для raid 1.</p><p>но если вы используете lilo или grub версия 1.98 -> 2, вам не нужен разделенный/загрузочный раздел.</p>