Ошибка загрузки модуля SLES: найдите драйвер и устраните её.

Если во время загрузки SLES отображается сообщение «Не удалось запустить загрузку модулей ядра», сначала изучите systemd-modules-load.serviceжурналы, чтобы определить модуль, вызвавший сбой. Если модуль является устаревшим необязательным элементом, удалите этот запрос из его конфигурации; если он необходим, исправьте несоответствие драйвера или ядра, а не отключайте службу.

Данная процедура применима к SUSE Linux Enterprise Server (SLES) 15, используя в качестве参考 документацию по администрированию SLES 15 SP7. Команды следует запускать из локальной консоли или работающей SSH-сессии с sudoдоступом.

Что означает это сообщение, прежде чем что-либо менять?

Модуль ядра — это драйвер или функция ядра, которую можно загрузить отдельно. Во время запуска systemd-modules-load.serviceобрабатываются запросы на загрузку определенных модулей, в том числе определенных в modules-load.dфайлах. Неудачный запрос может привести к сбою службы, даже если другие части сервера продолжают работать.

Компания SUSE отмечает, что большинство драйверов загружаются автоматически при обнаружении оборудования. Обычно ручной список модулей не требуется, поэтому устаревшая запись вполне вероятна, но само сообщение при загрузке этого не доказывает. Сохраните доступ к консоли, сделайте снимок системы или резервную копию конфигурации, если это возможно, и не выгружайте драйверы хранилища, сети или кластера только для того, чтобы исчезло предупреждение. См. руководство по администрированию модулей ядра SUSE для получения информации о поддерживаемых моделях.

Шаг 1: Прочитайте состояние службы и журнал ее загрузки.

Начнём с проверки состояния systemd. systemdЭто менеджер служб, отвечающий за запуск служб и передачу информации об их состоянии.

sudo systemctl status systemd-modules-load.service --no-pager
sudo journalctl -b -u systemd-modules-load.service --no-pager

Этот -bфлаг ограничивает journalctlзагрузку текущей системой и -uвыбирает данную службу. Над последней строкой «Сбой с результатом» проверьте наличие сообщений типа «Не удалось найти модуль», недопустимого параметра или ошибки доступа или подписи. Запишите точное имя модуля и текст ошибки. Не предполагайте, что модуль, указанный в примере ниже, существует на вашем сервере.

Статус завершения работы службы systemd-modules-load.service: сбой, код завершения 1.
Пример отображения состояния службы: неисправный модуль указывает, какая служба при запуске требует проверки.
Журнал терминала, показывающий пример сообщения об ошибке "не удалось найти модуль" для example_driver.
Пример журнала загрузки: показательное имя модуля example_driver является ключом к трассировке, а не подтвержденной ошибкой SLES.

Если журнал служб не дает однозначных результатов, проверьте сообщения ядра для получения дополнительной информации:

sudo journalctl -k -b --no-pager

Если компьютер не может получить доступ к работоспособной учетной записи, запустите более старую установленную версию ядра из GRUB, если таковая имеется, или используйте носитель восстановления SLES. Не редактируйте критически важные для загрузки модули из непроверенной удаленной сессии. SUSE описывает фильтры журнала в главе об администрировании journalctl .

Шаг 2: Найдите конфигурацию запуска, которая запрашивает это.

Предположим, названия журналов example_driver... Замените этот заполнитель фактическим названием модуля, затем выполните поиск в списках модулей:

sudo grep -Rns --include='*.conf' 'example_driver' \
  /etc/modules-load.d /run/modules-load.d \
  /usr/lib/modules-load.d 2>/dev/null

Каждая совпадающая строка указывает, какой файл запрашивает этот модуль при загрузке. Локальная конфигурация администратора обычно находится в папке `/etc/systemd` /etc/modules-load.d/, тогда как пакет может предоставлять свой файл в папке `/etc/ /usr/lib/modules-load.d/systemd`. Локальный файл с тем же базовым именем имеет приоритет над файлом поставщика, как описано в руководстве по настройке systemd от SUSE . Если поиск ничего не находит, проверьте также cat /proc/cmdlineзапросы модулей во время загрузки и убедитесь, что имя ошибки было скопировано правильно.

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

Терминальный текстовый редактор с необязательной записью example_driver в файле /etc/modules-load.d/example.conf
Пример локальной конфигурации: изменяйте необязательную запись модуля только после подтверждения её назначения.

Шаг 3: Проверьте модуль, затем примените соответствующее исправление.

Проверьте, какое ядро ​​запущено и доступен ли для него драйвер. modprobeЗагружает модули ядра и разрешает зависимости; его -nопция выполняет пробный запуск без добавления драйвера.

uname -r
modinfo example_driver
sudo modprobe -n -v example_driver

Снова замените example_driver. Пробный запуск помогает выявить проблемы с поиском или конфигурацией, но не доказывает , что драйвер успешно инициализируется на вашем оборудовании или пройдет проверку подписи Secure Boot. SUSE рекомендует использовать modprobeвместо прямой insmodзагрузки; подробности о флагах пробного запуска приведены в руководстве по modprobe .

Терминал с командой modprobe dry-run для проверки example_driver и командой uname -r kernel-version check
Примеры проверок: перед внесением изменений сравните работающее ядро ​​с исследуемым модулем.

Если устаревшая дополнительная запись указывает на отсутствующий модуль

Создайте резервную копию конкретного локального файла и закомментируйте только устаревшую строку. Например, если /etc/modules-load.d/example.confэто подтвержденный источник:

sudo cp -a /etc/modules-load.d/example.conf \
  /etc/modules-load.d/example.conf.bak
sudoedit /etc/modules-load.d/example.conf

Измените единственную example_driverзапись на # example_driver, сохраните и оставьте остальные запросы модулей без изменений. Если источником является файл пакета в каталоге /usr/lib, не редактируйте этот упакованный файл напрямую; используйте правильно проверенное локальное переопределение или исправьте конфигурацию пакета. Никогда не удаляйте запрос модуля только потому, что modinfoон сообщает об отсутствии соответствующего устройства, если оно требуется.

Если необходимый модуль отсутствует или несовместим

Не комментируйте этот код. Убедитесь, что пакет драйверов поддерживает вывод команды uname -rи установленный пакет обновлений SLES. Сообщение «модуль не найден» может указывать на то, что соответствующий драйвер не был установлен или не был пересобран после обновления ядра. Сообщение «недопустимый формат модуля» указывает на проблему совместимости; строки журнала ядра могут помочь сузить круг возможных причин. Восстановите или переустановите поддерживаемый драйвер в соответствии с инструкциями SUSE или производителя оборудования. Избегайте копирования произвольных .koфайлов из другого ядра.

Если модуль существует, но его индекс зависимостей явно устарел, перестройте этот индекс для текущего ядра и повторите тестовый запуск:

sudo depmod -a "$(uname -r)"
sudo modprobe -n -v example_driver

Этот шаг не устанавливает отсутствующий драйвер. Если в системе с использованием Secure Boot вы видите сообщение «Требуемый ключ недоступен» или отклонение подписи модуля, следуйте процедуре регистрации доверенного ключа и подписи драйвера, описанной в руководстве SUSE; не отключайте Secure Boot в качестве универсального обходного решения. SUSE объясняет ограничения сторонних драйверов в своем руководстве по развертыванию Secure Boot .

Шаг 4: Убедитесь, что следующая загрузка прошла без ошибок.

После исправления конфигурации или восстановления драйвера повторите попытку загрузки и проверьте ее состояние. Выполняйте это только после того, как убедитесь, что все оставшиеся записи корректны; перезапуск предпримет повторную попытку загрузки настроенных файлов.

sudo systemctl restart systemd-modules-load.service
sudo systemctl status systemd-modules-load.service --no-pager
sudo journalctl -b -u systemd-modules-load.service --no-pager

Если проверка прошла успешно, запланируйте контролируемую перезагрузку с доступом к консоли и снова выполните команды проверки состояния и ведения журнала. Исправление считается подтвержденным, когда служба больше не выдает ошибок при новой загрузке, и все необходимое оборудование или программное обеспечение, зависящее от модуля, по-прежнему работает. Если ошибка возвращается, сравните новый журнал со старым: возможно, неисправен и другой указанный модуль. Сохраните резервную копию до тех пор, пока эта проверка не будет пройдена; не маскируйте сообщение systemd-modules-load.serviceпросто для подавления сообщения при запуске.

Оставить комментарий

Сброс утерянного пароля администратора Nextcloud с помощью OCC

Используйте команду OCC в Nextcloud для сброса пароля администратора из командной строки сервера, с инструкциями по заполнению полей для имен пользователей, разрешений и внешних сервисов авторизации.

Добавьте заголовок HSTS к HTTPS-конечной точке, обслуживающей Nextcloud.

Чтобы устранить предупреждение HSTS от Nextcloud, установите заголовок на Apache, NGINX или вашем TLS-прокси, а затем безопасно проверьте публичный HTTPS-ответ.

Устранение неполадок при установке приложения Nextcloud, сообщающего об отсутствии интернета.

Устранение неполадок при установке приложения Nextcloud, сообщающего об отсутствии интернета.

Причины сбоев при установке приложений из App Store могут быть связаны с DNS, HTTPS, прокси-сервером, TLS или проблемами конфигурации самого сервера Nextcloud.

Снизьте скачки загрузки ЦП в предварительной версии Nextcloud с помощью запланированной очереди.

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

Переход от «обработки файлов» к синхронизации Nextcloud Desktop Sync

Найдите файл, правило исключения, проблему с подключением или состояние базы данных клиента, препятствующие синхронизации Nextcloud, а затем безопасно проверьте загрузку и скачивание файлов.

Устраните предупреждение Nextcloud OPcache, отрегулировав правильный лимит.

Найдите ограничение на использование PHP OPcache, вызывающее предупреждение Nextcloud, обновите правильную конфигурацию PHP для веб-приложений, безопасно перезапустите систему и проверьте результат.

Подключение Nextcloud к CODE Docker: настройка и компромиссы.

Подключение Nextcloud к CODE Docker: настройка и компромиссы.

Сравните встроенный и основанный на Docker код, затем подключите Collabora Online к Nextcloud через защищенный обратный прокси-сервер HTTPS.

Создайте отказоустойчивый кластер Nextcloud с помощью Galera.

Спланируйте надежное развертывание Nextcloud HA с использованием общего хранилища, блокировок Redis, маршрутизации MariaDB с учетом кворума и практичных проверок отказоустойчивости.

Проводите звонки Nextcloud Talk, если прямая передача медиаданных не работает.

Проводите звонки Nextcloud Talk, если прямая передача медиаданных не работает.

Настройте и проверьте доступность TURN-ретранслятора для Nextcloud Talk, если брандмауэры или ограничительные NAT блокируют прямые вызовы.

Устраните предупреждения о целостности Nextcloud, восстановив правильные файлы.

Используйте отчет о недействительных файлах, чтобы выявить измененный, отсутствующий или лишний код Nextcloud, безопасно восстановить доверенные файлы и проверить результат.