#Симптом и границы применимости
После обновления пакета ядра Arch Linux модуль Wi-Fi, видеокарты или другого оборудования не загружается. Различайте отсутствие модуля у ещё работающего старого ядра и неудачную сборку внешнего DKMS-модуля.
#Возможные причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Несовпадение запущенного ядра и модулейПосле pacman -Syu диск содержит новые модули, а старое ядро ещё работает в памяти. | modprobe сообщает Module not found in directory /lib/modules/<старое-ядро>. | После резервирования способа доступа выполнить плановую перезагрузку. |
| Не собралась внешняя сборка DKMSДля внешнего модуля нужны заголовки точного семейства ядра и успешная сборка. | dkms status сообщает ошибку, make.log содержит причину. | Исправить зависимости и пересобрать модуль для установленного ядра. |
| Модуль заблокирован или отсутствуетМодуль может быть в blacklist, конфликтовать с другим драйвером или не поддерживать новое ядро. | modinfo недоступен, журнал сообщает refused, signature или blacklist. | Проверить поддержку и настройки, не отключая защиту. |
#Подробная диагностика и безопасные действия
- 1. Снимите показатели ядра и ошибокОткройте терминал и запишите версию
uname -rи пакет ядра.pacman -Qвыводит установленные версии только тех пакетов, которые реально стоят; сообщения об отсутствии linux-lts допустимы.Linux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.uname -rpacman -Q linux linux-lts linux-zenls /usr/lib/modules/
- 2. Определите проблемный модульИз сообщения об ошибке или документации оборудования узнайте реальное имя модуля. Вместо ИМЯ_МОДУЛЯ подставьте его точно.
modinfoлишь читает описание, не загружает код; отсутствие вывода означает, что модуль не найден в текущем наборе.Linux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.modinfo ИМЯ_МОДУЛЯlsmod | grep ИМЯ_МОДУЛЯ
- 3. Установите точное содержание ошибкиПосмотрите сообщения ядра, отфильтрованные по имени драйвера. Убедитесь, что проблема появилась после обновления, а не из-за аппаратного отказа или запрета подписи.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
journalctl -k -b --no-pager | grep -i ИМЯ_МОДУЛЯgrep -i "linux\|dkms" /var/log/pacman.log | tail -n 35
- 4. Проверьте внешние модули DKMSЕсли драйвер установлен как *-dkms, определите наличие dkms и соответствующих заголовков (linux-headers, linux-lts-headers и т. п.). Отсутствующая команда dkms означает, что этот путь не применяется к штатному модулю ядра.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
command -v dkmsdkms statuspacman -Q linux-headers linux-lts-headers
- 5. Проверьте готовность загрузочных разделовПеред любым обновлением ядра убедитесь, что раздел /boot или ESP смонтирован туда, где его ожидает установленный загрузчик. В Arch нельзя считать, что /boot — всегда EFI; неправильное место даст ещё одну копию ядра, недоступную при загрузке.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
findmnt /bootfindmnt /efilsblk -f
- 6. Пересоберите только требуемый DKMS-модульЕсли установлен внешний модуль, вы знаете версию целевого ядра, есть его заголовки и журнал подтвердил ошибку сборки, запустите автосборку. На компьютере с единственным сетевым драйвером заранее подготовьте локальную консоль и доступ к пакетам.
- Дополнительная команда по темеLinux · Терминал (Bash)С осторожностьюНужен sudoАдминистративная сборка модулей для установленного ядра; не отменяет проверку совместимости и подписей.
sudo dkms autoinstalldkms statusКоманда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
uname -rmodinfo ИМЯ_МОДУЛЯlsmod | grep ИМЯ_МОДУЛЯ - 7. Планово перезагрузитесь и проверьте модульКогда после обновления продолжает работать старое ядро, плановая перезагрузка может устранить расхождение. Не перезагружайте удалённый хост без резервного доступа. После запуска проверьте uname, modinfo, lsmod и фактическую работу устройства; при неуспехе вернитесь к предыдущему рабочему варианту загрузки.
#Как понять, что проблема устранена
Повторите исходное действие, из-за которого возникла неисправность, и сверяйте не только код завершения команды, но и прикладной результат. Сохраните вывод последней диагностической команды и записи журнала до и после исправления. Если ошибка повторяется, верните только изменённую настройку из резервной копии и передайте специалисту точный симптом, имя программы/службы, версию системы и необходимые фрагменты журнала без паролей и закрытых ключей.
#Что делать, если не помогло
Не применяйте случайные советы для другого дистрибутива: в Arch Linux особенно опасны частичные обновления пакетов, а в Rocky Linux — отключение SELinux или неконтролируемый перезапуск системных служб. Остановитесь после неуспешного безопасного шага, зафиксируйте фактическое сообщение и вернитесь к соответствующей причине. Для загрузки, разделов диска и единственного удалённого подключения используйте резервную копию и локальную консоль.