SystemdDoctor
служба не работает загрузка ядро модули

systemd-modules-load: модуль не загружается при загрузке системы

Модули, нужные службам, загружаются отдельной службой при старте системы. Её отказ виден только в журнале, а последствия проявляются позже: не работает брандмауэр, не поднимается туннель, не монтируется файловая система.

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

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

  1. Модуля нет для текущего ядра

    После обновления ядра модули сторонних сборок могут отсутствовать. Загрузка отказывает.

  2. Модуль встроен в ядро

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

  3. Модуль заблокирован в чёрном списке

    Блокировка не даёт загрузить модуль ни автоматически, ни по описанию. Служба сообщает об отказе.

Диагностика

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

Какие модули не загрузились при старте.

journalctl -u systemd-modules-load -b --no-pager

Загруженные модули.

lsmod | head -20

Загрузка модуля вручную с подробным выводом.

sudo modprobe -v имя_модуля 2>&1 | head

Решение

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

1. Модуля нет для текущего ядра
Почему происходит
После обновления ядра модули сторонних сборок могут отсутствовать. Загрузка отказывает.
Как проверить
Посмотрите сообщение и наличие модуля.
journalctl -u systemd-modules-load -b --no-pager | tail -10
modinfo tun 2>&1 | head -3; uname -r
Как исправить
Пересоберите или установите модуль для текущего ядра. После обновления ядра это надо проверять отдельно.
2. Модуль встроен в ядро
Почему происходит
Встроенную функциональность загружать не нужно, и попытка даёт сообщение об отсутствии модуля.
Как проверить
Посмотрите, встроен ли модуль.
grep -E "CONFIG_TUN" /boot/config-$(uname -r) 2>/dev/null
Как исправить
Уберите модуль из описания загрузки: встроенная поддержка уже работает. Значение «y» в настройках ядра означает встроенную поддержку.
3. Модуль заблокирован в чёрном списке
Почему происходит
Блокировка не даёт загрузить модуль ни автоматически, ни по описанию. Служба сообщает об отказе.
Как проверить
Посмотрите чёрные списки.
sudo grep -rh "blacklist" /etc/modprobe.d/ 2>/dev/null | head
sudo modprobe -v tun 2>&1 | head -3
Как исправить
Снимите блокировку либо откажитесь от модуля. Блокировки обычно ставят намеренно, поэтому стоит выяснить причину, прежде чем убирать.

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

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

systemd-modules-load[610]: Failed to find module 'wireguard'
systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: Failed to start systemd-modules-load.service - Load Kernel Modules.

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

Где встречается чаще всего

Источники

  • modules-load.d(5)
    Описания загрузки модулей при старте.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено описанием с модулем, отсутствующим для текущего ядра.
    собственная проверка, systemd 255
    сверено 15 сентября 2026