← Назад к вопросам

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

1.0 Junior🔥 131 комментариев
#Linux и администрирование

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Как определить ядро, использованное при загрузке ОС

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

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

1. Использование команды uname

Команда uname — самый простой и быстрый способ получить информацию о текущем работающем ядре.

uname -r

Эта команда выведет версию ядра в формате "X.Y.Z-ABC", где:

  • X — основная версия
  • Y — минорная версия
  • Z — уровень патчей
  • ABC — дополнительные метки (дистрибутив, сборка)

Для получения полной информации можно использовать:

uname -a

Вывод будет содержать:

  • Имя ядра
  • Имя хоста
  • Релиз ядра
  • Версия ядра
  • Аппаратная платформа
  • Архитектура процессора

2. Проверка файлов в /proc

Каталог /proc содержит виртуальные файлы, отображающие состояние ядра и системы.

cat /proc/version

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

3. Анализ журналов загрузки

Журналы загрузки хранят историческую информацию о процессе загрузки системы.

Использование journalctl (системы с systemd):

journalctl -k --boot=0 | grep -i "kernel\|linux"

Где:

  • -k — показывает только сообщения ядра
  • --boot=0 — текущая загрузка (1 — предыдущая и т.д.)

Просмотр традиционных логов:

dmesg | grep "Linux version"

или

grep "Linux version" /var/log/dmesg

4. Проверка загрузчика GRUB

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

Просмотр текущей конфигурации GRUB:

cat /proc/cmdline

Это покажет параметры командной строки, переданные ядру при загрузке.

Проверка конфигурации GRUB2:

cat /boot/grub/grub.cfg | grep -A2 -B2 "menuentry\|linux"

Дополнительные методы для расширенного анализа

5. Использование утилиты uptime

uptime -s

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

6. Анализ пакетного менеджера

Для определения установленных ядер и их версий:

На Debian/Ubuntu:

dpkg -l | grep linux-image

На RHEL/CentOS/Fedora:

rpm -qa | grep kernel

7. Проверка символических ссылок в /boot

ls -la /boot/vmlinuz*

Символическая ссылка /boot/vmlinuz обычно указывает на загруженное ядро.

Практический пример: скрипт для детального анализа

#!/bin/bash

echo "=== Анализ ядра загрузки ==="
echo ""

echo "1. Текущее работающее ядро:"
uname -r
echo ""

echo "2. Полная информация о ядре:"
uname -a
echo ""

echo "3. Информация из /proc:"
cat /proc/version
echo ""

echo "4. Время загрузки системы:"
uptime -s
echo ""

echo "5. Параметры загрузки ядра:"
cat /proc/cmdline
echo ""

echo "6. Установленные ядра:"
if [ -f /etc/redhat-release ]; then
    rpm -qa kernel\* | sort
elif [ -f /etc/debian_version ]; then
    dpkg -l | grep linux-image | awk '{print $2, $3}'
fi

Важные замечания

  1. Различие между установленным и загруженным ядром — система может иметь несколько установленных ядер, но загружено всегда только одно.

  2. Виртуализация и контейнеры — в контейнерах команда uname покажет ядро хоста, а не контейнера.

  3. Проблемы с обновлением ядра — если после обновления ядра система загружается со старым ядром, проверьте:

    • Конфигурацию загрузчика
    • Наличие модулей ядра
    • Проблемы с initramfs
  4. Специальные случаи — в embedded системах или при использовании kexec ядро может быть загружено без участия традиционного загрузчика.

Для большинства повседневных задач достаточно команды uname -r, но для глубокой диагностики или аудита системы рекомендуется использовать комбинацию методов, особенно анализ журналов загрузки и проверку конфигурации загрузчика.

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