SystemdDoctor
мешает работе ядро разбор

Tainted в сообщениях ядра: что это значит при разборе сбоя

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

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Загружен сторонний модуль

    Драйверы вне основного ядра ставят метку. При разборе падений это первый подозреваемый.

  2. Метка появилась после прежней ошибки ядра

    Первая ошибка ставит метку. Всё, что происходит дальше, может быть её следствием.

  3. Метку принимают за причину сбоя

    Метка есть почти на любой машине со сторонними драйверами и ни о чём сама не говорит.

Диагностика

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

Числовое значение метки: каждый бит имеет своё значение.

cat /proc/sys/kernel/tainted

Первые ошибки ядра за загрузку.

journalctl -k -b --no-pager | grep -inE "BUG:|WARNING:|Oops" | head

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Загружен сторонний модуль
Почему происходит
Драйверы вне основного ядра ставят метку. При разборе падений это первый подозреваемый.
Как проверить
Посмотрите значение метки и сторонние модули.
cat /proc/sys/kernel/tainted
grep -E "^[a-z]" /proc/modules | awk '{print $1}' | head -20
Как исправить
При падениях попробуйте воспроизвести их без стороннего модуля. Расшифровка битов метки есть в документации ядра.
2. Метка появилась после прежней ошибки ядра
Почему происходит
Первая ошибка ставит метку. Всё, что происходит дальше, может быть её следствием.
Как проверить
Найдите первое сообщение об ошибке ядра за загрузку.
journalctl -k -b --no-pager | grep -inE "BUG:|WARNING:|Oops" | head -5
Как исправить
Разбирайте первое сообщение, а не последующие. После первой ошибки состояние ядра непредсказуемо.
3. Метку принимают за причину сбоя
Почему происходит
Метка есть почти на любой машине со сторонними драйверами и ни о чём сама не говорит.
Как проверить
Посмотрите, какие именно биты выставлены.
cat /proc/sys/kernel/tainted
Как исправить
Разбирайте сбой по существу: метка лишь уточняет степень доверия к сообщениям.

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

Метка выставлена загруженным сторонним модулем. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

kernel: INFO: task kworker/1:2:412 blocked for more than 120 seconds.
kernel:       Tainted: P           OE     6.8.0-139-generic #139-Ubuntu

$ cat /proc/sys/kernel/tainted
12801

Связанные ошибки

Источники

  • Документация ядра: метка tainted документация программы
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Взято с машины со сторонним драйвером.
    собственная проверка, systemd 255
    сверено 15 сентября 2026