Логотип

Как управлять параметрами загрузки ядра в Linux

Как управлять параметрами загрузки ядра в Linux

Загрузка Linux — сложный процесс по сравнению с другими операционными системами. Ядро Linux принимает множество параметров во время загрузки, которые передаются через командную строку и предоставляют ядру важную информацию при запуске системы.

Считайте, что эти параметры — это специальные инструкции, которые вы даёте ядру ещё до того, как оно запустит операционную систему.

С их помощью вы можете сообщить ядру:

  • на каком диске находится ваша корневая файловая система?
  • сколько памяти использовать?
  • следует ли загружать определенные аппаратные функции.
  • или даже как обрабатывать ошибки при запуске.

 

Без них ядро не смогло бы правильно инициализировать систему.

 

Откуда берутся параметры загрузки?

Параметры загрузки обычно задаются загрузчиком — небольшой программой, которая запускается сразу после включения компьютера и отвечает за загрузку ядра в память.

  • В большинстве современных дистрибутивов Linux этим загрузчиком является GRUB (Универсальный загрузчик GRUB).
  • Некоторые облегчённые дистрибутивы могут использовать Syslinux или LILO.

 

Когда загрузчик передаёт управление ядру, он также передаёт эти параметры времени загрузки.

 

Пример (из GRUB):

linux /vmlinuz-6.x root=/dev/sda1 ro quiet splash

 

Вот что происходит:

  • root=/dev/sda1 → Сообщает ядру, где находится корневая файловая система.
  • ro → Сначала корневая файловая система монтируется только для чтения.
  • quiet → Скрывает большинство загрузочных сообщений для более чистой загрузки.
  • splash → Вместо текста отображается заставка.

 

Таким образом, ещё до того, как Linux начнёт инициализировать службы, ядро уже знает, что делать.

 

Как организованы параметры загрузки

Параметры загрузки — это не просто случайные переключатели. Они разделены на категории в зависимости от того, какие части системы они контролируют.

Давайте их рассмотрим.

1. Основы системы

Они сообщают ядру, как запуститься и где искать корневую файловую систему.

  • root=/dev/... → Устройство, содержащее корневую файловую систему.
  • ro → Сначала смонтируйте корневую файловую систему только для чтения (это безопаснее всего).
  • rw → Немедленно смонтируйте корневую файловую систему для чтения и записи.
  • init=/path/to/init → Используйте пользовательскую программу инициализации (например, для восстановления или тестирования).
Читать  Как мне перемещаться в терминале Linux

 

2. Консоль и отладка

Эти параметры управляют отображением сообщений во время запуска системы. Они особенно полезны при устранении неполадок, когда что-то идёт не так.

  • quiet → Подавить большинство загрузочных сообщений.
  • debug → Включите подробный вывод отладки.
  • console=ttyS0,115200 → Отправка сообщений на последовательный порт (для удалённой отладки).
  • loglevel=3 → Уровень детализации сообщений (0 = экстренные ситуации, 7 = полная информация).

 

3. Аппаратное управление

Иногда проблемы могут возникать из-за аппаратных функций, таких как ACPI или APIC, поэтому при необходимости их можно настроить или отключить.

  • noapic → Отключает APIC, что полезно для устранения некоторых проблем на старом оборудовании.
  • acpi=off → Отключает ACPI, что приводит к отключению расширенного управления питанием.
  • pci=noacpi → Не позволяет ACPI обрабатывать прерывания PCI.

 

4. Управление памятью и процессором

Контролируйте, сколько памяти и процессоров использует ядро.

  • mem=512M → Ограничьте доступную память до 512 МБ.
  • maxcpus=2 → Используйте только 2 ядра процессора.
  • nosmp → Полностью отключите поддержку многопроцессорности.

 

5. Восстановление и устранение неполадок

Варианты обработки сбоев, отладки или временного обхода средств защиты:

  • initcall_debug → Отслеживание вызовов инициализации (отладка проблем с загрузкой).
  • panic=10 → Автоматическая перезагрузка через 10 секунд после сбоя ядра.
  • selinux=0 → Отключите принудительное применение SELinux.

 

Как временно добавить параметры загрузки

Иногда вам нужно изменить способ загрузки Linux, например отключить определенные функции (например, ACPI), не меняя систему навсегда. Для этого используются временные параметры загрузки.

Читать  Команда wall в Linux с примерами

Перезагрузите компьютер и сразу после появления экрана BIOS/UEFI войдите в меню GRUB. Если оно не появляется автоматически, удерживайте Shift (для систем BIOS) или нажмите Esc (для систем UEFI).

Выделите ядро, которое хотите загрузить, и нажмите e, чтобы отредактировать команды загрузки. Найдите строку, начинающуюся с linux или linuxefi. Эта строка сообщает системе, какое ядро нужно загрузить и какие параметры использовать.

В конце этой строки добавьте свой параметр(ы). Например, чтобы временно отключить ACPI, можно добавить acpi=off:

linux /vmlinuz-6.x root=/dev/sda1 ro quiet splash acpi=off

 

Нажмите Ctrl + X или F10 для загрузки с этими изменениями.

Это позволит загрузить систему с указанным параметром только для текущего сеанса. После перезагрузки система вернётся к обычным настройкам.

 

Как сделать параметры загрузки постоянными

Если временно установленный параметр работает и вы хотите, чтобы он применялся при каждой загрузке, откройте файл конфигурации GRUB для редактирования.

sudo nano /etc/default/grub

 

Найдите строку, в которой говорится:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

 

Добавьте свой параметр (ы) в кавычки. Например, чтобы навсегда отключить ACPI.:

GRUB_CMDLINE_LINUX_DEFAULT = «quiet splash acpi=off»

 

Сохраните файл и закройте редактор.

Затем обновите GRUB, чтобы изменения вступили в силу:

sudo update-grub # для Debian/Ubuntu
sudo grub2-mkconfig -o /boot/grub2/grub.cfg # для Fedora/RHEL

 

Перезагрузите систему, чтобы параметр применялся автоматически при каждой загрузке.

 

Топ-10 параметров загрузки, которые должен знать каждый администратор Linux

Это наиболее часто используемые параметры загрузки ядра Linux, с которыми должен быть знаком каждый системный администратор. Они помогают контролировать запуск системы, управлять оборудованием, оптимизировать производительность и быстро устранять проблемы с загрузкой.

Читать  Выпущено ядро Linux 6.11 RC2: сосредоточено на “Более значимых проблемах”

Держите эту шпаргалку под рукой на случай, если вам понадобится настроить или отладить процесс загрузки Linux.

ПараметрКатегорияНазначение / Описание
root=/dev/sda1Основы системыУказывает устройство, содержащее корневую файловую систему.
roОсновы системыВ целях безопасности корневая файловая система монтируется только для чтения при загрузке.
rwОсновы системыКорневая файловая система сразу монтируется для чтения и записи.
quietКонсоль / ОтладкаПодавляет большинство загрузочных сообщений для более чистой загрузки.
debugКонсоль / ОтладкаВключает подробные сообщения ядра, которые помогают устранять проблемы с загрузкой.
acpi=offАппаратное управлениеОтключает ACPI (расширенный интерфейс конфигурации и питания), что полезно при устранении неполадок с оборудованием.
noapicАппаратное управлениеОтключает усовершенствованный программируемый контроллер прерываний. Помогает решить некоторые проблемы с устаревшим оборудованием.
mem=512MПамять и процессорОграничивает доступную память до 512 МБ для тестирования или устранения неполадок.
maxcpus=2Память и процессорОграничивает использование системой только двух ядер процессора.
init=/path/to/initВосстановление / Пользовательская ИнициализацияПозволяет загружаться с помощью пользовательской программы инициализации, что полезно для режима восстановления или отладки.

 

Выводы

Параметры времени загрузки — это своего рода секретные ключи для ядра Linux. Они позволяют точно контролировать запуск системы, инициализацию оборудования и устранение неполадок.

Независимо от того, устраняете ли вы проблему с загрузкой, настраиваете ли производительность или экспериментируете с функциями ядра, эти параметры дают вам возможность низкоуровневого управления вашим Linux-компьютером.

Так что в следующий раз, когда ваш Linux-компьютер откажется загружаться или вы просто захотите повысить производительность системы, помните: ответ может заключаться в нескольких дополнительных словах в командной строке ядра.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала