+++
title = "Failed to start Load Kernel Modules"
date = 2018-05-14
description = "Заметил ошибку при загрузке системы, и хотя на работу она не влияет решил выяснить, что за модули не может загрузить."

[taxonomies]
tags = ["deepin", "manjaro", "kernel", "modules"]

[extra]
quick_navigation_buttons = true
toc = false
mermaid = false
social_media_card = "social_cards/index.png"
+++

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

<div class="gallery">
  <a href="failed-start-kernel-modules.jpg">
    <img src="failed-start-kernel-modules.jpg" alt="Failed to start Load Kernel Modules">
  </a>
</div>

Окей, пробуем перезапустить:

```bash
sudo systemctl restart systemd-modules-load

Job for systemd-modules-load.service failed because the control process exited with error code.
See "systemctl status systemd-modules-load.service" and "journalctl -xe" for details.
```

Для детальной информации предлагают ввести `journalctl -xe`, смотрим:

```bash
journalctl -xe

мая 13 23:36:05 dell systemd[1]: Starting Load Kernel Modules...
-- Subject: Начинается запуск юнита systemd-modules-load.service
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Начат процесс запуска юнита systemd-modules-load.service.
мая 13 23:36:06 dell systemd-modules-load[24959]: Failed to find module 'vfs_monitor'
мая 13 23:36:06 dell systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
мая 13 23:36:06 dell systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
мая 13 23:36:06 dell systemd[1]: Failed to start Load Kernel Modules.
-- Subject: Ошибка юнита systemd-modules-load.service
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Произошел сбой юнита systemd-modules-load.service.
-- 
-- Результат: RESULT.
мая 13 23:36:06 dell sudo[24956]: pam_unix(sudo:session): session closed for user root
```

Видим строчку `Failed to find module 'vfs_monitor'`, а вот ты и попался.

Теперь смотрим откуда юнит грузит модули:

```bash
cat /usr/lib/systemd/system/systemd-modules-load.service

#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=Load Kernel Modules
Documentation=man:systemd-modules-load.service(8) man:modules-load.d(5)
DefaultDependencies=no
Conflicts=shutdown.target
Before=sysinit.target shutdown.target
ConditionCapability=CAP_SYS_MODULE
ConditionDirectoryNotEmpty=|/lib/modules-load.d
ConditionDirectoryNotEmpty=|/usr/lib/modules-load.d
ConditionDirectoryNotEmpty=|/usr/local/lib/modules-load.d
ConditionDirectoryNotEmpty=|/etc/modules-load.d
ConditionDirectoryNotEmpty=|/run/modules-load.d
ConditionKernelCommandLine=|modules-load
ConditionKernelCommandLine=|rd.modules-load

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/lib/systemd/systemd-modules-load
TimeoutSec=90s
```

Нас интересуют строчки `ConditionDirectoryNotEmpty`, переходим и видим, что конфиги с указанными модулями располагаются в `/usr/lib/modules-load.d/`.

Смотрим наличие `vfs_monitor` в файлах:

```bash
$ cd /usr/lib/modules-load.d/
$ grep -i vfs_monitor *

anything.conf: vfs_monitor
```

Открываем `anything.conf` и коментируем горе модуль.

Как выяснилось, файл `anything.conf` принадлежит пакету `deepin-anything` связанного с поиском файлов.

После перезагрузки ошибка исчезла 🙃
