LinuxСредняя

Удаление старых ядер Linux: освободите место и улучшите систему

В этом гайде вы узнаете, как безопасно удалить старые версии ядра Linux, чтобы освободить место на системном разделе и уменьшить риски обновления. Инструкция для Debian/Ubuntu и других дистрибутивов.

Обновлено 16 февраля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 20.04+Debian 10+Fedora 35+другие дистрибутивы на базе apt/dpkg

Введение / Зачем это нужно

После обновлений системы в Linux накапливается множество старых версий ядра. Каждое ядро занимает 100–300 МБ на системном разделе /boot. Со временем это может привести к заполнению раздела, что вызовет ошибки при установке обновлений или даже помешает загрузке системы. Удаление ненужных ядер:

  • Освобождает место на диске.
  • Снижает риски безопасности, так как в старых ядрах могут оставаться уязвимости.
  • Упрощает меню загрузчика, оставляя только актуальные варианты.

В этом гайде вы научитесь безопасно удалять старые ядра в дистрибутивах на базе Debian/Ubuntu (а также получите общие рекомендации для других систем).

Требования / Подготовка

Перед началом убедитесь, что:

  1. У вас есть доступ к терминалу с правами sudo (или root).
  2. Вы знаете текущую версию ядра (см. шаг 2), чтобы не удалить его.
  3. Рекомендуется оставить хотя бы одно предыдущее ядро на случай, если новое ядро вызовет проблемы с оборудованием или драйверами.

Пошаговая инструкция

Шаг 1: Проверьте установленные ядра

Сначала просмотрите список всех установленных ядер. Для дистрибутивов на базе Debian/Ubuntu выполните:

dpkg --list | grep linux-image

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

ii  linux-image-5.4.0-100-generic   5.4.0-100.112   amd64   Signed kernel image generic
ii  linux-image-5.4.0-99-generic    5.4.0-99.111    amd64   Signed kernel image generic

Для Fedora/CentOS/RHEL используйте:

rpm -qa | grep kernel

Обратите внимание на версии ядер (например, 5.4.0-100-generic). Это пакеты, которые можно удалить.

Шаг 2: Определите текущее ядро

Чтобы не удалить активное ядро, узнайте его версию:

uname -r

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

5.4.0-100-generic

Запишите эту версию. Удалять пакет с такой версией нельзя, иначе система не запустится.

Также можно проверить, какие ядра доступны в меню GRUB, но это необязательно.

Шаг 3: Удалите старые ядра

Способ A: Использование apt autoremove (Ubuntu/Debian)

Команда apt autoremove удаляет пакеты, установленные как зависимости и больше не нужные. Иногда она удаляет и старые ядра:

sudo apt autoremove --purge

Флаг --purge также удаляет конфигурационные файлы. После выполнения проверьте, остались ли старые ядра (шаг 1). Если да — перейдите к способу B.

Способ B: Ручное удаление через dpkg/apt purge

Удалите конкретные пакеты старых ядер и соответствующие заголовки (headers). Например, для версии 5.4.0-99:

sudo apt-get purge linux-image-5.4.0-99-generic linux-headers-5.4.0-99-generic

Важно: не удаляйте пакеты текущего ядра (из шага 2). Также рекомендуется оставить хотя бы одно резервное ядро (например, предыдущую версию).

Если нужно удалить все ядра, кроме текущего, можно использовать такой скрипт (для Debian/Ubuntu):

#!/bin/bash
# Получаем текущую версию ядра (без архитектуры)
current_kernel=$(uname -r | grep -oE '^[0-9]+\.[0-9]+\.[0-9]+-[0-9]+')
# Получаем список установленных версий ядер (из пакетов linux-image)
installed_kernels=$(dpkg --list | grep linux-image | awk '{print $2}' | grep -oE '[0-9]+\.[0-9]+\.[0-9]+-[0-9]+')
# Удаляем все, кроме текущего
for kernel in $installed_kernels; do
  if [ "$kernel" != "$current_kernel" ]; then
    sudo apt-get purge -y "linux-image-$kernel-generic" "linux-headers-$kernel-generic"
  fi
done

Для других дистрибутивов:

  • Fedora: sudo dnf remove kernel-версия
  • Arch Linux: sudo pacman -R linux-версия

Шаг 4: Обновите конфигурацию загрузчика

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

sudo update-grub

Для систем, использующих systemd-boot, обновление может не потребоваться, но проверьте конфигурацию в /boot/loader/entries/.

Шаг 5: Перезагрузите систему

Перезагрузите компьютер, чтобы убедиться, что система загружается с текущего ядра:

sudo reboot

После перезагрузки проверьте, что система работает корректно (сеть, графический интерфейс и т.д.).

Проверка результата

  1. Освобождённое место: проверьте, сколько места теперь занимает раздел /boot:
    df -h /boot
    

    Вы должны увидеть значительное увеличение свободного места.
  2. Список ядер: убедитесь, что старые ядра удалены:
    dpkg --list | grep linux-image   # Debian/Ubuntu
    rpm -qa | grep kernel           # Fedora/CentOS
    
  3. Текущее ядро: проверьте, что активное ядро не изменилось:
    uname -r
    
  4. Меню загрузчика: при следующей перезагрузке убедитесь, что в меню GRUB нет удалённых версий ядра.

Возможные проблемы

Проблема: Случайное удаление текущего ядра

Симптом: система не загружается, появляется ошибка grub rescue> или no such device.

Решение:

  1. Перезагрузите компьютер и в меню GRUB выберите предыдущее ядро (если оно есть).
  2. Загрузитесь с ним и переустановите нужное ядро, например:
    sudo apt install linux-image-5.4.0-100-generic
    
  3. Обновите GRUB (sudo update-grub) и перезагрузитесь.

Если предыдущего ядра нет, потребуется загрузка с LiveCD, монтирование корневой файловой системы и chroot для восстановления.

Проблема: GRUB не обновляется

Симптом: после удаления ядер в меню загрузки всё ещё отображаются удалённые записи.

Решение:

  • Убедитесь, что вы выполнили sudo update-grub.
  • Проверьте, что пакет grub-common установлен.
  • В редких случаях может потребоваться переустановка GRUB:
    sudo apt install --reinstall grub-pc
    sudo update-grub
    

Проблема: Ошибки зависимостей при удалении

Симптом: команда удаления завершается с ошибками о неудовлетворённых зависимостях.

Решение:

  • Удаляйте ядра вместе с заголовками (headers) и модулями (modules), как показано выше.
  • После ручного удаления запустите sudo apt autoremove --purge, чтобы очистить оставшиеся зависимости.
  • Если проблема persists, используйте sudo apt-get -f install для исправления.

Проблема: Раздел /boot снова заполняется

Симптом: через некоторое время после очистки раздел /boot снова заполняется.

Решение:

  • Это нормально: новые обновления ядра будут устанавливаться. Настройте регулярную проверку (например, раз в месяц).
  • Для автоматизации можно использовать инструменты вроде byobu (с опцией purge-old-kernels), но будьте осторожны — настройте их на сохранение хотя бы одного резервного ядра.

Проблема: Удаление ядер в нестандартных конфигурациях

Если вы используете кастомные ядра или нестандартные пути, убедитесь, что удаляете правильные пакеты. Вместо dpkg можно удалять файлы вручную из /boot, но это крайне не рекомендуется — лучше использовать менеджер пакетов.

Часто задаваемые вопросы

Как узнать, какое ядро сейчас используется?
Можно ли удалить все ядра, кроме текущего?
Что делать, если после удаления ядра система не загружается?
Почему команда `apt autoremove` не удаляет старые ядра?

Полезное

Проверьте установленные ядра
Определите текущее ядро
Удалите старые ядра
Обновите конфигурацию загрузчика
Перезагрузите систему

Эта статья помогла вам решить проблему?