Рассказываем, как безопасно обновить ядро Linux в Ubuntu 24.04 и откатить изменения при необходимости. Из статьи вы узнаете, когда стоит обновляться, как подготовить систему и какие методы восстановления доступны для серверов и рабочих станций.
Введение
Ядро операционной системы выступает посредником между оборудованием и приложениями. Его обновление — критически важная процедура поддержки системной инфраструктуры, так как устаревшие версии теряют способность корректно взаимодействовать с современными компонентами и защищать систему. Рассказываем, когда нужно обновить ядро Linux в Ubuntu 24.04, как это сделать и как откатить изменения до прежней версии.
Зачем обновлять ядро
Безопасность и закрытие уязвимостей. Каждая новая версия ядра устраняет критические уязвимости в сетевом стеке, подсистеме памяти и механизмах доступа. Например, некоторые уязвимости класса CVE-2024-1086 (ошибки в netfilter) позволяют удалённое выполнение кода, а локальные эксплойты типа Dirty Pipe (CVE-2022-0847) дают несанкционированный доступ. Задержка обновления оставляет системы открытыми для атак, особенно на серверах с публичным доступом.
Поддержка оборудования и обеспечение совместимости. Современное оборудование требует актуальных версий ядра для полноценной работы. Новые процессоры (Intel Arrow Lake, AMD Zen 5), сетевые адаптеры (Wi-Fi 7, 25G Ethernet) и накопители (NVMe 2.0) могут работать с ограничениями или не распознаваться вовсе на устаревших ядрах.
Производительность и оптимизация ресурсов. Обновления ядра содержат улучшения планировщиков задач, менеджеров памяти и сетевых алгоритмов, увеличивающие производительность. Например, в версии 6.12 LTS добавлены возможность включения Realtime-режима, sched_ext для создания планировщиков CPU через eBPF, вывод QR-кода при аварийных состояниях, механизм Device Memory TCP, механизм резервирования ресурсов SCHED_DEADLINE server, улучшение планировщика задач EEVDF, модуль IPE для задания политик обеспечения целостности.
Когда нужно немедленно обновить ядро Linux:
- оборудование не определяется или работает некорректно (ошибки ACPI в логах, отсутствие драйверов);
- инструменты безопасности (например, ubuntu-security-status) обнаруживают незакрытые уязвимости в текущем ядре;
- работа системы под нагрузкой нестабильна.
Подготовка к обновлению ядра Linux
Перед обновлением ядра в Ubuntu 24.04 выполните подготовительные шаги, которые предотвратят потерю данных и обеспечат возможность быстрого восстановления в случае несовместимости.
Узнайте версию работающего ядра командой:
uname -r
Вывод (например, 6.8.0-31-generic) покажет, от какой версии будет выполняться обновление — она понадобится для отката. Дополнительно проверьте загрузочные образы в системе:
ls /boot/vmlinuz*
Это поможет идентифицировать старые ядра, которые можно удалить после тестирования нового.
Затем создайте точку восстановления. Выбор инструмента резервного копирования зависит от среды. На десктопах (с графическим интерфейсом) установите Timeshift — утилиту для создания снапшотов системы:
sudo apt install timeshift
Создайте снапшот в режиме RSYNC, включающий /boot, /etc и корневую файловую систему. Сохраните копию на внешнем диске или отдельном разделе.
На серверах (без GUI) используйте BTRFS снапшоты, если файловая система поддерживает их:
sudo btrfs subvolume snapshot / /@_snapshot_pre_kernel_update
Для EXT4/LVM подойдёт LVM снапшот:
sudo lvcreate --size 10G --snapshot --name pre_kernel_update /dev/ubuntu-vg/root
Перед установкой нового ядра проверьте совместимость оборудования и ПО. На системах с проприетарными драйверами NVIDIA, ZFS или VirtualBox выполните:
sudo dkms status
Убедитесь, что для вашего оборудования есть сборки под новое ядро.
Определите, закрывает ли новое ядро критические CVE для вашей системы:
ubuntu-security-status
Сравните список с исправлениями в changelog целевого ядра:
apt changelog linux-image-6.8.0-35-generic
Для серверов проведите тест в изолированной среде. Разверните временный клон системы через LXD/LXC:
lxc launch ubuntu:24.04 kernel-test
lxc exec kernel-test -- apt install linux-image-generic-hwe-24.04
lxc restart kernel-test
Проверьте работоспособность сервисов после тестового обновления.
Убедитесь, что в GRUB сохранены предыдущие версии ядра:
grep GRUB_DEFAULT /etc/default/grub
Значение GRUB_SAVEDEFAULT=true гарантирует возможность выбора старого ядра при загрузке.
Обновление ядра в Ubuntu 24.04
Стандартное обновление через apt. Обновите список пакетов и установите последнюю доступную версию ядра:
sudo apt update
sudo apt install --only-upgrade linux-image-generic linux-headers-generic
Опция --only-upgrade предотвращает случайную установку дополнительных пакетов.
После установки перезагрузите систему:
sudo systemctl reboot
Проверьте активное ядро:
uname -r
Если система использует проприетарные драйверы (NVIDIA, ZFS), автоматически запустится DKMS для пересборки модулей под новое ядро. Проверьте статус:
sudo dkms status
Ручная установка HWE-ядра (Hardware Enablement). Добавьте HWE-репозиторий:
sudo apt install linux-generic-hwe-24.04
Принудительно установите конкретную версию (если нужно):
sudo apt install linux-image-6.9.0-1009-generic linux-headers-6.9.0-1009-generic
Обновите загрузчик и перезагрузитесь:
sudo update-grub
sudo reboot
Проверка обновления:
dmesg -T | grep "Linux version" # Покажет версию загруженного ядра
journalctl -b -0 | grep "Applying kernel capabilities" # Проверка инициализации
HWE или стандартное ядро. Выбор между стандартным ядром и HWE (Hardware Enablement) в Ubuntu 24.04 зависит от вашего оборудования и рабочих задач:
- Выбирайте стандартное ядро (linux-image-generic) если вы управляете серверами виртуализации или производственными серверами, где стабильность критически важна. Стандартное ядро получает только security- и bug-фиксы, что минимизирует риск неожиданных сбоев.
- Переходите на HWE-ядро (linux-generic-hwe-24.04) если:
- Вы используете ноутбуки или рабочие станции от 2023-2024 годов выпуска. HWE добавляет поддержку новых чипсетов (Intel Meteor Lake, AMD Ryzen 8040), сенсорных панелей и технологий управления питанием, которые отсутствуют в стандартном ядре.
- Ваша система оборудована современными GPU (NVIDIA RTX 40xx, AMD Radeon RX 7000), так как только HWE включает актуальные версии драйверов Nouveau и патчи Vulkan.
- Вы работаете с ресурсоёмкими задачами: 3D-рендеринг, видеомонтаж, научные вычисления. HWE оптимизирует распределение ресурсов CPU/GPU и добавляет поддержку новейших инструкций AVX-512.
Откат ядра в Ubuntu 24.04
Восстановление через GRUB (рекомендуется при проблемах с загрузкой). Когда новое ядро вызывает критическую ошибку (черный экран, сбой драйверов), используйте встроенный механизм восстановления:
- При запуске компьютера удерживайте Shift (BIOS) или нажимайте Esc (UEFI) для входа в меню GRUB.
- Выберите Advanced options for Ubuntu.
- В списке загрузочных образов выберите предыдущее рабочее ядро (например, 6.8.0-31-generic).
- Загрузитесь с этим ядром.
- Система временно вернётся к старой версии. Чтобы закрепить результат, заблокируйте проблемное ядро:
sudo apt-mark hold linux-image-6.8.0-35-generic
sudo update-grub
Это предотвратит автоматическую загрузку с проблемной версией при следующем включении.
Удаление проблемного ядра (постоянное решение). Если система работает стабильно в режиме отката, удалите новое ядро из системы:
- Найдите полное имя пакета:
apt list --installed | grep 'linux-image-6.Х.*generic'
- Удалите ядро и связанные заголовки (всегда оставляйте минимум два рабочих ядра в системе!):
sudo apt purge linux-image-6.Х.Х-ХХ-generic linux-headers-6.Х.Х-ХХ-generic
- Обновите загрузчик:
sudo update-grub
- Убедитесь, что в /boot не осталось файлов ядра:
ls /boot/*6.Х.Х-ХХ*
Восстановление из снапшота. Если ядро повредило системные файлы или настройки (сбой драйверов, разрыв сети), восстановите систему из бекапа.
На декстопе — загрузитесь с LiveUSB Ubuntu. Установите Timeshift:
sudo apt update && sudo apt install timeshift
Запустите графический интерфейс, выберите снапшот, созданный до обновления, восстановите разделы / и /boot. После восстановления через Timeshift может понадобится переустановка GRUB, так как Timeshift не восстанавливает его.
Для серверов с BTRFS:
Найдите нужный снапшот:
sudo btrfs subvolume list /
Переименуйте текущий корень:
sudo mv / @_broken_root
Восстановите систему (создаёт копию снапшота как новый корневой раздел):
sudo btrfs subvolume snapshot @_snapshot_pre_kernel_update /
sudo reboot
Для LVM:
Объедините снапшот с основным томом:
sudo lvconvert --merge /dev/ubuntu-vg/pre_kernel_update
sudo reboot
Как выбрать метод восстановления:
- GRUB подходит для быстрого отката изменений, когда проблема только в совместимости железа;
- APT purge — если новое ядро загружается, но вызывает нестабильность;
- Снапшоты — при критических сбоях (повреждение модулей, отсутствие сети, сбой файловой системы).
После отката:
- Убедитесь, что версия ядра соответствует ожидаемой:
uname -r
- Проверьте проблемные сервисы:
systemctl --failed
- Просмотрите критические ошибки в логах:
dmesg -T -l err,crit
- Сообщите об ошибке разработчикам и получите +100 к карме:
ubuntu-bug linux
Заключение
Обновление ядра в Ubuntu 24.04 — важная, но безопасная процедура, если вы подходите к ней грамотно. Перед установкой нового ядра убедитесь в наличии бекапа и возможности отката: сохранённые загрузочные записи, снапшоты, точка восстановления — всё это даст шанс быстро вернуться к стабильной версии в случае сбоев. Используйте стандартное ядро на продакшен-серверах и HWE — на рабочих станциях с новым оборудованием. Помните, что ошибки после обновления чаще связаны не с самим ядром, а с несовместимыми драйверами или настройками. В статье разобраны сценарии восстановления: через GRUB, откат через APT, полное восстановление из снапшота — выбирайте подходящий в зависимости от ситуации.
Читайте в блоге:
- Управление версиями Node.js через nvm на Ubuntu 24.04
- Как установить и настроить Mattermost на Ubuntu
- Как установить .deb-пакет на Ubuntu 24.04: все способы