Налаштування параметрів завантаження ядра Linux
Linux запускається не від кнопки «Power», як звичайний комп’ютер — це цілий ритуал. Ядро системи має знати, де шукати файли, скільки ресурсів використовувати і як поводитись із конкретним залізом.
Щоб усе пройшло гладко, існують boot-time parameters — набір інструкцій, які ти даєш ядру перед самим запуском системи.
У цьому гайді ми розберемося, що це за параметри, навіщо вони потрібні, як їх застосовувати тимчасово або назавжди.
Передстарт: що ядро хоче почути перед тим, як прокинутись
Для легшого розуміння, уяви своє ядро як сонного колегу, котрий приходить на роботу в понеділок після вихідних.
Він ще не зовсім прокинувся, не зрозумів, що робити та куди йти. І тут йому на стіл кладуть список інструкцій: «Зроби X, подивись Y, не забудь Z».
Ці інструкції — і є boot-time parameters.
Простіше кажучи, параметри завантаження — це спосіб сказати ядру:
- «Шукай свій корінь системи тут».
- «Візьми лише стільки пам’яті, скільки я дозволяю».
- «Якщо з’являться помилки — не панікуй, а спробуй це».
- «І взагалі, не кричи на мене своїми повідомленнями» (параметр quiet).
У сучасних дистрибутивах це зазвичай GRUB, інколи — Syslinux або LILO.
Чому це важливо?
- Саме тут можна тимчасово змінити параметри, якщо щось не стартує.
- Тут можна експериментувати з налаштуваннями без ризику зламати систему.
- Розуміння процесу допомагає швидше усувати проблеми при завантаженні.
Наприклад: сервер не стартує після оновлення ядра? Відкрий GRUB і додай потрібний параметр (acpi=off) — ядро отримає нові інструкції та стартує правильно.
Різні параметри та що вони роблять
Boot-time parameters розділені на групи залежно від того, що саме ядро має контролювати на старті.
Умовно їх можна поділити на 4 блоки:
1. Системні налаштування
Кажуть ядру, де шукати систему і як з нею поводитися.
Наприклад:
root=/dev/sda1— вказує корінь файлової системи.ro або rw— чи монтувати її спочатку лише для читання, чи одразу для запису.init=/custom/init— дозволяє завантажувати нестандартну програму ініціалізації, наприклад для відновлення системи.
2. Консоль і дебаг
Відповідають за те, що ти бачиш на екрані при старті та наскільки докладно ядро повідомляє про процес.
quiet — мінімізує повідомлення, щоб не засмічувати екран.debug— включає детальний режим для пошуку проблем.loglevel=3— визначає, наскільки голосно ядро повідомляє про події.
3. Залізо, пам’ять і CPU
Дозволяють контролювати ресурси й апаратні функції:
acpi=off— вимикає розширене керування живленням.noapic— відключає Advanced Programmable Interrupt Controller, корисно для старого заліза.mem=512M,maxcpus=2абоnosmp— обмежують доступну пам’ять або кількість процесорних ядер для тестів чи налагодження.
4. Відновлення та експерименти — для дебагу та тимчасових змін.
panic=10— автоматичний ребут після паніки.selinux=0— тимчасово вимикає SELinux.initcall_debug— допомагає відстежувати помилки на етапі ініціалізації.
Як змінити параметри ядра тимчасово?
Іноді треба змінити поведінку ядра лише на один запуск, наприклад, коли потрібно протестувати нову опцію або вимкнути проблемний драйвер.
1. Зупинись на меню GRUB
Якщо меню не з’являється — натисни Shift (Legacy BIOS) або Esc (UEFI) під час старту.
2. Виділи потрібний запис ядра і натисни «e»
Так ти відкриєш редактор конфігурації для цього одного запуску.
3. Знайди рядок, який починається з linux або linuxefi
Саме тут є параметри — зазвичай після quiet splash або інших стандартних опцій.
4. Додай свій параметр у кінець рядка
Наприклад:
linux /boot/vmlinuz-... root=/dev/sda1 ro quiet acpi=off
5. Запусти систему з новими параметрами (Ctrl + X або F10)
Ці зміни не збережуться. Після наступного рестарту ядро завантажиться у звичному режимі.
Тимчасові зміни — це щось типу ігрового «safe mode» для Linux, але більш гнучкий і технічно чесний. Якщо параметр спрацює, можна застосувати його вже постійно — про це буде в наступному розділі.
Як застосувати параметри ядра постійно?
Якщо ж зміна потрібна кожен раз (наприклад, вимкнення ACPI, обмеження CPU або додаткові debug-прапорці), її варто додати в постійну конфігурацію GRUB.
Робиться це один раз — і після цього ядро завантажуватиметься вже з оновленими правилами.
1. Відкрий файл конфігурації GRUB
У більшості систем використовують такий файл:
sudo nano /etc/default/grub
Саме тут зберігаються глобальні параметри, які GRUB передає ядру під час кожного завантаження.
2. Знайди змінну GRUB_CMDLINE_LINUX_DEFAULT
Вона виглядає приблизно так:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Усередині лапок — усі параметри, які запускатимуться автоматично. Ти можеш додати сюди будь-які опції, наприклад:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi=off"
3. Збережи файл і онови конфіг GRUB
Команда залежить від дистрибутива:
- Debian/Ubuntu/Linux Mint:
sudo update-grub
- Fedora/RHEL/CentOS:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Після цього GRUB перезбере конфіг і додасть нові параметри до кожного майбутнього запуску.
4. Перезавантаж систему
Потрібно, щоб ядро прочитало змінені параметри.
sudo reboot
FAQ про параметри ядра
Що буде, якщо я зіпсую GRUB?
У більшості випадків система просто не завантажиться, але всі дані залишаться на місці.
Вирішується так:
- завантажуєшся із live-USB (будь-який Linux);
- монтуєш свою систему;
- перевстановлюєш GRUB командою виду:
sudo grub-install /dev/sdX
sudo update-grub
Які параметри можуть бути небезпечними?
Є кілька груп, з якими треба бути обережним:
acpi=off— може відключити важливі енергетичні функції (сон / вентилятори / батарея).noapic / nolapic— інколи вирішують баги, але можуть навпаки зламати роботу IRQ.init=…— якщо помилитися зі шляхом, система не завантажиться.selinux=0— ок для тестів, але в проді це відвалить частину безпеки.mem=…— обмежує доступну RAM, і система бачитиме менше пам’яті, ніж реально є.
Більшість параметрів не руйнують систему, але можуть зробити її нестабільною.
Тому завжди тестуй спочатку тимчасово через GRUB, а вже потім — у постійну конфігурацію.
Де знайти повний список параметрів ядра?
Найправдивіше джерело — документація ядра Linux:
/usr/share/doc/linux-doc/kernel-parameters.txt
Або онлайн у репозиторії ядра.
Також багато дистро мають свої wiki з прикладами:
Що робити, якщо після зміни параметрів система не стартує?
Є два прості варіанти:
- У GRUB вибрати попередню версію ядра (якщо є).
- Натиснути «
e» на потрібному записі й вручну прибрати неправильний параметр перед запуском.
GRUB завжди дає можливість відкотитись, навіть якщо ти додав щось некоректне.
Чи можна додавати кілька параметрів одразу?
Так.
Параметри просто записуються через пробіл в одному рядку:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash noapic acpi=off loglevel=3"
Ядро прочитає їх усі.
Післяслово
Трохи попрактикувавшись з цими параметрами, ти зможеш рятувати систему, тестувати нові опції та навіть підвищувати продуктивність без стресу.
Якщо хочеш піти далі й навчитися справжнього адміністрування Linux, розуміти ядро і контролювати систему як профі — заглянь на наші курси в ITEDU.
Там ми детально розбираємо все, від базових команд до просунутих налаштувань, у форматі, який реально можна застосувати на роботі.