В этой статье мы разберемся с практическими аспектами управления ядром: как установить нужную версию, почистить систему от старых ядер и настроить загрузку. Никакой лишней теории — только конкретные команды и понятные объяснения, которые помогут вам стать немного ближе к пониманию внутренней кухни Linux.

Проверка установленных ядер

Вы можете увидеть список всех установленных версий ядра с помощью команды:

dpkg --list | grep linux-image

Вывод будет выглядеть примерно так:

ii  linux-image-5.15.0-122-generic         5.15.0-122.132                          amd64        Signed kernel image generic
ii linux-image-5.15.0-124-generic 5.15.0-124.134 amd64 Signed kernel image generic
ii linux-image-5.15.0-125-generic 5.15.0-125.135 amd64 Signed kernel image generic
ii linux-image-5.15.0-126-generic 5.15.0-126.136 amd64 Signed kernel image generic

Я добавил в систему больше ядер для наглядности, но фактически у вас их будет меньше.
В выводе команды dpkg --list (dpkg -l) первые две буквы в столбце обозначают состояние пакета.

Расшифровка состояния ii:

  • Первая буква (i)Status (Статус пакета):
    • i (installed) — Пакет установлен.
  • Вторая буква (i)Desired State (Желаемое состояние):
    • i (install) — Пакет должен быть установлен.

ii означает, что пакет установлен и его текущее состояние соответствует ожидаемому (пакет установлен корректно).

Установка специфического ядра Linux

Когда требуется обновить ядро системы или установить конкретную версию для поддержки оборудования или новых возможностей, выполните следующие шаги. Укажите номер сборки (KERNEL_BUILD) и установите соответствующие пакеты ядра, модули и заголовки с помощью команды apt install.

Задайте переменную для номера сборки ядра:

KERNEL_BUILD=5.15.0-119

Установите ядро и связанные пакеты:

apt install linux-headers-${KERNEL_BUILD} linux-headers-${KERNEL_BUILD}-generic linux-image-${KERNEL_BUILD}-generic linux-modules-${KERNEL_BUILD}-generic linux-modules-extra-${KERNEL_BUILD}-generic

Удаление ненужного ядра в Ubuntu

Для освобождения места и минимизации риска конфликтов рекомендуется удалять устаревшие или ненужные версии ядра. Укажите номер сборки (KERNEL_BUILD) и используйте команду apt remove с флагом --purge, чтобы полностью удалить пакеты ядра и их модули.

Задайте переменную для номера сборки ядра:

KERNEL_BUILD=5.15.0-122

Удалить ядро и связанные пакеты:

apt remove linux-headers-${KERNEL_BUILD} linux-headers-${KERNEL_BUILD}-generic linux-image-${KERNEL_BUILD}-generic linux-modules-${KERNEL_BUILD}-generic linux-modules-extra-${KERNEL_BUILD}-generic --purge

Очистите кэш пакетов:

apt autoremove --purge
apt autoclean

Установка нужного ядра основным при загрузке

Иногда требуется загрузить систему с конкретным ядром. Это можно настроить через меню загрузчика GRUB. Для загрузки системы с определённой версией ядра настройте параметр GRUB_DEFAULT в загрузчике GRUB.

Выведите список доступных ядер в меню GRUB:

grep "menuentry 'Ubuntu," /boot/grub/grub.cfg | awk -F"'" '{printf "%d %s\n", NR-1, $2}'

Пример вывода:

0 Ubuntu, with Linux 5.15.0-126-generic
1 Ubuntu, with Linux 5.15.0-126-generic (recovery mode)
2 Ubuntu, with Linux 5.15.0-125-generic
3 Ubuntu, with Linux 5.15.0-125-generic (recovery mode)
4 Ubuntu, with Linux 5.15.0-124-generic
5 Ubuntu, with Linux 5.15.0-124-generic (recovery mode)
6 Ubuntu, with Linux 5.15.0-119-generic
7 Ubuntu, with Linux 5.15.0-119-generic (recovery mode)

Проверьте текущий параметр GRUB_DEFAULT:

cat /etc/default/grub | grep GRUB_DEFAULT

Обычно значение будет GRUB_DEFAULT=0.

Измените параметр GRUB_DEFAULT:

Откройте файл /etc/default/grub и задайте позицию ядра в формате X>Y, где X — позиция меню, а Y — подпозиция. Например:

GRUB_DEFAULT="1>6"

В данном случае система загрузится с ядром Linux 5.15.0-119-generic.

Обновите конфигурацию GRUB:
Примените изменения, обновив настройки загрузчика:

update-grub

Перезагрузите систему, чтобы применить новое ядро:

reboot -h now

Результат:
Система будет загружаться с указанной версии ядра по умолчанию.

Категории:

Linux,