Каталог /boot у файловій системі

У файловій ієрархії Linux-каталогів, /boot — це окремий каталог, розділ файлової системи, який містить усі необхідні файли для початкового завантаження операційної системи. Хоч він зазвичай має невеликий розмір, його роль надзвичайно критична: саме тут зберігаються файли ядра, початкові RAM-диски (initramfs) та конфігурації завантажувача (найчастіше GRUB).

Розділ /boot існує для забезпечення автономності та стабільності процесу завантаження ядра операційної системи. Поки основна файлова система ще не змонтована, /boot дає змогу BIOS або UEFI знайти і завантажити потрібні компоненти. У цьому каталозі зберігаються: ядро Linux (vmlinuz-*); Initramfs — архів, що містить драйвери, скрипти та інші ресурси, необхідні для запуску системи до монтування root-файлової системи; завантажувач (наприклад, GRUB), а також його конфігураційні файли (grub.cfg, grubenv); cимволічні посилання на поточне ядро (наприклад, vmlinuzvmlinuz-6.7.9)

Історично склалося, що BIOS мав обмеження щодо зчитування секторів з диска, тому /boot мав бути на початку фізичного носія. Сьогодні це обмеження зняте завдяки UEFI, але практика створювати окремий розділ /boot збереглася з кількох причин:

  • Надійність: прості файлові системи, як ext2 або FAT32, зменшують ризик збоїв
  • Оновлення ядра: легко керувати версіями без впливу на основну систему
  • Шифрування root: коли / зашифрований, /boot має бути нешифрованим, інакше GRUB не зможе знайти ядро
  • Завантаження через мережу або специфічні середовища (RAID, LVM)

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

no space left on device

Щоб уникнути цього, потрібно регулярно чистити старі ядра :slight_smile: (наприклад, командою apt autoremove в Ubuntu або dnf remove у Fedora). У деяких дистрибутивах оновлювач автоматично залишає лише 2–3 останні версії.

Будь-яке пошкодження файлів у /boot може призвести до неможливості завантаження системи. Якщо відсутній vmlinuz або initramfs, завантажувач просто не зможе знайти ядро. Якщо пошкоджено GRUB — ви отримаєте чорний екран із повідомленням типу grub rescue>.

Відновлення /boot потребує:

  1. Завантаження з LiveCD або USB
  2. Монтування root-розділу та /boot
  3. Повторного встановлення завантажувача (grub-install)
  4. Генерації initramfs і конфігурації GRUB

Які ще файли можна знайти в /boot?

  • System.map-* — таблиця символів ядра, корисна для діагностики
  • config-* — конфігураційний файл, який використовувався під час компіляції ядра
  • efi/ — у системах з UEFI, містить EFI-завантажувач

Хоч /boot майже завжди відкритий і нешифрований, деякі системи реалізують його захист через:

  • Secure Boot — ядро має бути підписане сертифікатом, який довірений прошивці UEFI;
  • Read-only монтування — запобігає модифікаціям у процесі роботи системи;
  • AppArmor або SELinux — контроль доступу до GRUB та initramfs.

Крім того, в enterprise-середовищах адміністратори іноді зберігають резервну копію /boot на зовнішньому носії, або ж автоматизують перевірку цілісності через AIDE чи аналогічні інструменти.

Каталог /boot — це точка входу до всієї операційної системи. Без нього неможливо завантажити ядро, ініціалізувати пам’ять чи передати керування системі. І хоч це всього кілька сотень мегабайт, саме вони тримають на плечах усе ваше цифрове середовище. Його важливо захищати, регулярно перевіряти, оновлювати, і час від часу — чистити. Як казали класики Unix Way: “прості речі повинні бути простими, а важливі — очевидними”.