Чи завжди необхідний розділ / boot?


30

Чи слід створювати /bootрозділ кожен раз, коли я встановлюю дистрибутив Linux?

Чи є різниця між тим, щоб мати /bootрозділ і зробити його /завантажуваним?


Я думаю, що безпечніше зберігати / завантажувати розділ окремо, щоб уникнути перезапису завантажувача помилково. Якщо я не помиляюсь, завантажувач повинен знаходитись у перших циліндрах диска, щоб переконатися, що процес завантаження буде працювати належним чином, оскільки BIOS завжди завантажує перші байти з диска, припускаючи, що є код, який міг би керувати подальшим управлінням і здатний для завантаження операційної системи.
mnmnc

1
Це, звичайно, не є необхідністю, але, як сказано в коментарі вище, це хороша практика.
Хамед Момені

Відповіді:


29

Щоб відповісти на пряме запитання: ні , окремий розділ для /boot, безумовно, не потрібен у кожному випадку.

Тим НЕ менше , навіть якщо ви нічого не розщеплюється ще, як правило , рекомендується мати окремі розділи для /, /bootі своп. Я також наполегливо пропоную розмістити /homeокремий розділ, навіть якщо ви більше не розділяєте ієрархію файлової системи.

Причина розміщення / завантаження на розділ, окремий від звичайної кореневої файлової системи, полягає в тому, що ви можете зменшити складність файлової системи на диску, що зменшує вимоги завантажувача до завантаження ядра та початкового диску RAM. Це стає особливо цікавим, якщо ви використовуєте нетривіальну установку - можливо, ви використовуєте RAID або незвичайну файлову систему, наприклад ZFS в кореневому розділі, або зашифрований кореневий розділ. Розділ для / boot може бути відформатований за допомогою, наприклад, простого ext2fs. Оскільки розділ повинен бути лише малим (кілька сотень мегабайт - це достатньо; / завантаження в моїй теперішній системі становить 100 Мб, і я не відчуваю жодних обмежень від цього), потрібні недоліки файлової системи, що не перебуває в колі, наприклад, ext2 не так вже й чудово, тому що перевірки все одно такі швидкі, і відносна простота файлової системи, а також її статичність значною мірою можуть зробити непомітну корупцію менш ймовірною. Те, що завантажувач не потребує початкового розуміння екзотичної файлової системи чи налаштування диска - ще одна можлива перевага.

Причина розміщення / дому на окремому розділі полягає в тому, що, навіть якщо щось стає шахрайським і починає заповнювати його (або якщо ви робите це самостійно), ви ніколи не ризикуєте викликати проблеми для некористувацьких процесів (які рідко закінчуються / home) або сам процес завантаження. Крім того, стає набагато простіше перевстановити ОС або переключити дистрибутиви, якщо ви можете просто сказати інсталятору залишити / додому таким, яким він є, і переформатувати, /щоб заповнити його власними файлами. Якщо зусилля з відновлення останнього канаву, якщо щось дійсно не відповідає програмному забезпеченню, це може призвести до серйозних змін.

Запуск файлу swap не є рекомендованою настройкою в Linux, і я навіть не впевнений, що підтримка акціонерних ядер більшості поширених дистрибутивів(або дозволити) розміщення файлів на основі. Причин для цього є кілька, одна з головних причин - ефективність роботи (в основному через ризик фрагментації). Зміна вже жахливо повільна в порівнянні з оперативною пам’яттю (це скоріше міра зупинки, ніж виправлення), тому є мало причин зробити її ще повільнішою, ризикуючи фрагментацією. І розділ swap можна безпечно ділити між дистрибутивами Linux у багатозавантажувальному середовищі; можливо, не розгляд у загальному випадку, але, безумовно, розгляд для деяких. Розмінювальний розділ також можна розмістити на окремому фізичному диску з різними характеристиками; можливо, SSD в ці дні або 10-ти прибічний хід накопичувача, який працює на окремому каналі контролера (що останнє - це менше врахування в даний час, коли кожен диск SATA знаходиться на окремому каналі, але це може змінити ситуацію в дні PATA).

Особисто в ці дні я відокремлюю /, / завантажуюся та обмінююся, з / на моїй теперішній системі 100 ГБ (я ніде не використовую все це; використання препарату становить 8,9 ГБ, і це дає мені все, що мені потрібно в плані програмне забезпечення, а потім якесь). Решта основного диска складається з єдиної файлової системи, яку за особистим домовленістю я монтую в / da ( disk a). Другим диском буде / db, тоді / dc тощо. (Сумніваюсь, FHS дійсно схвалює цю схему, але вона добре працює для мене на практиці.) Потім я прив'язую-монтую / home в / da, тобто я можу переміщувати фізичний каталог навколо, не турбуючись про оновлення кожного посилання, це або перерозподіл лише тому, що я зрозумів, що мені бракує місця на диску для / home.


3
Крім того, роздільний / завантажувальний
пристрій

@djechelon Я думаю, що підпадає під "нетривіальне налаштування", але я відредагую ваш конкретний приклад.
CVn

Я переглядаю ZFS, і кожен посібник, схоже, вказує, що при використанні ZFS в root вам потрібно щось на зразок ext * on / boot.
CMCDragonkai

1
@CMCDragonkai Це не змінює мою відповідь, що "ні, окремий розділ для / boot, безумовно, не потрібен у кожному випадку ".
CVn

3

Я більше не думаю, що це обов'язково. Раніше це було необхідно через деякі обмеження в BIOS. Неможливо було створити завантажувальний розділ після 8 або 64 Перехід (я точно не пам’ятаю). Потім, якщо ви хочете мати подвійну завантажувальну систему, ви можете поставити перший невеликий розділ (/ boot) та розділ завантажувального windows, а після - інші Linux-розділи. Існує тривалий час, зовсім не було / завантажувального каталогу. Кернел був безпосередньо в /.


1
Ядро іноді зберігалося безпосередньо в корені (деякі дистрибутиви все ще можуть це зробити), але ви все ще можете знадобитися інші речі, такі як initrd, System.map, конфігурація завантажувача тощо тощо, які вважали за краще власну ієрархію.
CVn

2

Різниця полягає в оптимізації файлової системи. Як правило, у кожного розділу є власні таблиці для файлів, дескрипторів тощо. Ви можете встановити Linux на один '/' розділ без '/ boot', '/ swap', / usr 'і т. Д., Але ці внутрішні таблиці єдиного розділу скоро стануть величезними і деякі операції стануть трохи повільними. Тож різні розділи використовуються для надання розділених, оптимізованих контейнерів для різних завдань.


Повний набір таблиць inode рідко використовується за межами перевірок файлової системи. Найчастіше посилаються лише таблиці певного каталогу. Вони не (або мало) відрізняються за розміром залежно від розміру розділу.
CVn

Розмір заснований на розділі usage, а не на розмірі. inode's - це список, тому більше inodes = трохи більше часу для пошуку файлів, додавання тощо. Де не існує величезна різниця між порожнім розділом і розділом з мільйонами файлів, але для таких операцій, як завантаження або своп будь-яка різниця має значення.
grigoryvp

Я не бачу, як ваш коментар суперечить моєму. І розділ swap не має поняття inode, оскільки він не стосується файлів. Існує велика різниця між /swapі swap.
CVn

0

Ні, я вважаю, що розділ / boot не потрібен з кількох причин:

  • Можливо, ви хочете, щоб папка / boot не була занадто маленькою і включала її в /
  • Не потрібно створювати розділ, оскільки файли та папки / boot не часто оновлюються та отримують доступ до них. Це не так, як / tmp або папка / swap. програми не пишуть у / завантажуються.
  • / boot використовується лише під час запуску та оновлення ядра, коли оновлені зображення initramfs.
  • Ви можете включити / boot до / root в одному масиві RAID 5, і він буде працювати з GRUB2. Додайте GRUB2 до MBR на кожен диск. Ви можете завантажуватися з 2-го, 3-го накопичувача ..., коли 1-й привід мертвий.
  • Менше монтування = менше uuid's = більше видимість = більше простоти
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.