Kernel parameters (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Kernel parameters
. Дата последней синхронизации: 2 июля 2022. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Существует три способа передачи параметров ядру и контроля над ним:
При сборке ядра — через файл
config
. Полная информация
Ядро#Компиляция
.
При запуске ядра — используя параметры командной строки (обычно через загрузчик).
На этапе выполнения — через файлы в
/proc/sys/
(смотрите
sysctl
) и
/sys/
).
Настраиваемые в этих способах параметры различаются по доступности, имени и методу, в котором они указаны. Эта страница объясняет только второй метод (параметры командной строки ядра) и показывает список наиболее часто используемых параметров ядра в Arch Linux.
Большинство параметров связаны с подсистемами и работают, только если ядро собрано с этими подсистемами. Они также зависят от наличия оборудования, с которым они связаны.
Параметры, задаваемые в командной строке, имеют формат
параметр
или
параметр=значение
.
Примечание
Все параметры чувствительны к регистру.
Совет
Параметры для загружаемых модулей также можно задать через файлы
.conf
в каталоге
/etc/modprobe.d/
. Смотрите
Модуль ядра#С помощью файлов в /etc/modprobe.d/
.
Настройка
Примечание
Посмотреть параметры, с которыми сейчас загружена система, и проверить, применились ли ваши изменения, можно с помощью команды
cat /proc/cmdline
.
Установочный носитель
Arch Linux использует
Syslinux
на
BIOS
-системах и
GRUB
на
UEFI
.
Параметры ядра можно установить либо временно, отредактировав загрузочную запись в меню загрузчика, либо навсегда, изменив файл конфигурации загрузчика.
Примеры ниже демонстрируют, как добавить параметры
quiet
и
splash
в
Syslinux
,
systemd-boot
,
GRUB
,
GRUB Legacy
,
LILO
и
rEFInd
.
Syslinux
После появления меню нажмите
Tab
и добавьте их в конце строки:
linux /boot/vmlinuz-linux root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw initrd=/boot/initramfs-linux.img
quiet splash
Нажмите
Enter
для загрузки с этими параметрами.
Для сохранения изменений между перезагрузками измените файл
/boot/syslinux/syslinux.cfg
и добавьте их в строку
APPEND
:
APPEND root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw
quiet splash
Полную информацию по настройке можно прочитать в статье
Syslinux
.
systemd-boot
После появления меню нажмите
e
и добавьте параметры в конце строки:
initrd=\initramfs-linux.img root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw
quiet splash
Нажмите
Enter
для загрузки с этими параметрами.
Примечание
Если значение таймаута меню не установлено, во время загрузки зажмите пробел, чтобы меню systemd-boot появилось.
Если вы не можете изменить параметры из меню загрузки, может понадобиться изменить файл
/boot/loader/loader.conf
и добавить
editor 1
чтобы разрешить редактирование.
Для сохранения изменений между перезагрузками измените файл
/boot/loader/entries/arch.conf
(предполагается, что у вас настроен
системный раздел EFI
) и добавьте их в строку
options
:
options root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw
quiet splash
Полную информацию по настройке можно прочитать в статье
systemd-boot
.
GRUB
Нажмите
e
в момент показа загрузочного меню и добавьте в строку, содержащую
linux
:
linux /boot/vmlinuz-linux root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw
quiet splash
Нажмите
Ctrl+x
для загрузки с этими параметрами.
Для сохранения изменений между перезагрузками, если вы не используете
grub-mkconfig
, можно изменить эту же строку напрямую в файле
/boot/grub/grub.cfg
, а для
grub-mkconfig
измените файл
/etc/default/grub
и добавьте параметры внутри кавычек в строке
GRUB_CMDLINE_LINUX_DEFAULT
:
GRUB_CMDLINE_LINUX_DEFAULT="
quiet splash
"
И затем сгенерируйте новый
grub.cfg
:
# grub-mkconfig -o /boot/grub/grub.cfg
Полную информацию по настройке можно прочитать в статье
GRUB (Русский)
.
GRUB Legacy
Нажмите
e
в момент показа загрузочного меню и добавьте в строку, содержащую
kernel
:
kernel /boot/vmlinuz-linux root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw
quiet splash
Нажмите
b
для загрузки с этими параметрами.
Для сохранения изменений между перезагрузками измените файл
/boot/grub/menu.lst
и добавьте их в строку
kernel
аналогично примеру выше.
Полную информацию по настройке можно прочитать в статье
GRUB Legacy (Русский)
.
LILO
Добавьте в
/etc/lilo.conf
:
image=/boot/vmlinuz-linux
        ...
quiet splash
Полную информацию по настройке можно прочитать в статье
LILO
.
rEFInd
На нужном пукте меню нажмите
+
,
F2
или
Insert
и нажмите ещё раз в нужном подменю. Добавьте параметры ядра в конце строки:
root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw initrd=\boot\initramfs-linux.img
quiet splash
Нажмите
Enter
для загрузки с этими параметрами.
Для сохранения изменений между перезагрузками измените файл
/boot/refind_linux.conf
и добавьте их внутри кавычек во всех нужных строках, например
"Boot using default options"   "root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw
quiet splash
"
Если вы отключили автоматическое определение ОС в rEFInd и вместо этого определяете разделы ОС в
esp
/EFI/refind/refind.conf
для загрузки своих ОС, вы можете отредактировать его следующим образом:
menuentry "Arch Linux" {
	...
	options  "root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw
quiet splash
"
	...
}
Полную информацию по настройке можно прочитать в статье
rEFInd (Русский)
EFISTUB
Смотрите
EFISTUB#Using UEFI directly
.
dracut
dracut
может встраивать параметры ядра в initramfs, что позволяет исключить их из конфигурации загрузчика. Смотрите
dracut#Kernel command line options
.
Взлом cmdline
Даже без доступа к загрузчику можно изменить параметры ядра, чтобы включить отладку (если у вас есть root-доступ). Это можно сделать, перезаписав
/proc/cmdline
, в котором хранятся параметры ядра. Однако
/proc/cmdline
недоступен для записи даже для root, но это можно обойти с помощью bind mount.
Сначала создайте файл, содержащий желаемые параметры ядра
/root/cmdline
root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 ro console=tty1 logo.nologo debug
Затем сделайте bind mount, перекрыв старый файл с параметрами новым:
# mount -n --bind -o ro /root/cmdline /proc/cmdline
Параметр
-n
пропускает добавление записи в
/etc/mtab
, поэтому он будет работать, даже если корневая ФС примонтирована только для чтения. Вы можете выполнить
cat /proc/cmdline
, чтобы убедиться в успешности изменений.
Список параметров
Список не исчерпывающий. Полный список можно посмотреть в
документации к ядру
.
Параметр
Описание
init
Запустить указанный исполняемый файл вместо
/sbin/init
в качестве процесса init. Пакет
systemd-sysvcompat
создаёт символическую ссылку
/sbin/init
, указывающую на
/usr/lib/systemd/systemd
, для использования
systemd
. Укажите
/bin/sh
для загрузки в командную оболочку.
initrd
Путь к образу начальной файловой системы (initramfs). Для
загрузчиков
UEFI и
EFISTUB
необходимо использовать обратный слэш (
\
) в качестве разделителей в пути.
cryptdevice
Расположение раздела, зашифрованного с
dm-crypt
, плюс имя
device mapper
.
debug
Включить отладку ядра (уровень журнала событий).
lsm
Установить порядок инициализации модулей безопасности Linux, используется для включения
AppArmor
,
SELinux
или
TOMOYO
.
maxcpus
Максимальное количество процессоров, которые ядро SMP будет задействовать во время загрузки.
mem
Принудительное использование определённого количества используемой памяти.
netdev
Параметры сетевых устройств.
nomodeset
Отключить
Kernel mode setting
.
panic
Время до автоматической перезагрузки при панике ядра.
resume
Указать устройство подкачки, которое будет использоваться при выходе из
гибернации
.
ro
При загрузке монтировать корневую ФС только в режиме чтения (используется по умолчанию
1
).
root
Корневая файловая система. Смотрите список поддерживаемых форматов имён устройств в файле
init/do_mounts.c
. Имейте в виду, что
initramfs
с
udev
поддерживает
больше форматов имён
.
rootflags
Параметры монтирования корневой ФС. Полезно для настройки параметров, которые нельзя применить при перемонтировании (например, с помощью
systemd-remount-fs.service(8)
). Например, опция
discard
для XFS.
rw
При загрузке монтировать корневую ФС в режиме чтения/записи.
systemd.unit
Загрузка в
указанную цель
.
video
Переопределить стандартные настройки фреймбуффера.
1
mkinitcpio
использует
ro
по умолчанию, если загрузчик не устанавливает ни
rw
, ни
ro
. Загрузчики могут устанавливать используемое значение, например, GRUB по умолчанию использует
rw
(смотрите
FS#36275
).
Смотрите также
Документация ядра: "The kernel’s command-line parameters"
Power saving#Kernel parameters
List of kernel parameters with further explanation and grouped by similar options