#Что означает проблема и кому подходит инструкция
После обновления ядра Ubuntu устройство перестало работать, а его модуль (например, драйвер Wi-Fi или USB) больше не загружается. Причина может заключаться в DKMS, несовместимом модуле, Secure Boot или изменении имени; нельзя наугад отключать защитную загрузку и удалять рабочие ядра.
#Возможные причины и отличительные признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| DKMS не собрал модуль под новое ядроВнешний драйвер собран для старого ядра. | dkms status показывает старое ядро, а uname -r новое. | Проверить лог сборки и точный пакет драйвера. |
| Модуль заблокирован или не подписанSecure Boot может отвергать неподписанный модуль. | В журнале явно указана ошибка подписи. | Использовать штатную подпись/MOK после проверки документации. |
| Железо использует другой драйверПосле обновления сменился модуль или прошивка. | lspci -nnk показывает другой Kernel driver in use. | Проверить поддержку по ID устройства и обновлениям Ubuntu. |
#Диагностика и пошаговое устранение
- 1. Выясните, что именно сломалосьОткройте терминал (для неработающего графического входа перейдите в текстовую консоль Ctrl+Alt+F3). Запишите модель устройства, наблюдаемый симптом и номер текущего ядра. Команда
uname -rпоказывает загруженное ядро, аlspci -nnk— драйверы PCI-устройств (для USB используйтеlsusb). Если беспроводная сеть недоступна, подготовьте проводное подключение или офлайн-копию нужного пакета.Linux · Терминал (Bash)Командаlspci и lsusb могут отсутствовать на минимальной установке; не устанавливайте пакеты вслепую без сети.uname -rlspci -nnklsusb
- 2. Посмотрите ошибки именно ядраВ журнале отфильтруйте ошибки, затем ищите название проблемного модуля,
firmware,signature,module,invalid. Сообщения при старте не должны интерпретироваться отдельно от имени устройства. Используйтеjournalctl -k -bдля текущей загрузки; предыдущая доступна через-b -1, если журнал хранится на диске.Linux · Терминал (Bash)КомандаНикаких изменений в ядро; длинный вывод можно сохранить в файл без паролей.journalctl -k -b --no-pager -p warninglsmod
- 3. Проверьте состояние внешних модулейЕсли используется сторонний модуль с DKMS, выполните
dkms statusи сравните номер сборки сuname -r. При отсутствии команды это не обязательно неисправность: возможно, штатный драйвер ядра не использует DKMS. Проверьте установленные ядра командойdpkg -l, не удаляйте старую рабочую версию.Linux · Терминал (Bash)КомандаЕсли dkms не установлен, сначала проверьте, нужен ли он вашему драйверу.dkms statusdpkg -l "linux-image*" "linux-headers*"
- 4. Оцените Secure Boot, не отключая егоДля модулей, блокируемых подписью, проверьте
mokutil --sb-stateпри наличии утилиты. Если в журнале естьRequired key not availableилиmodule verification failed, узнайте процедуру подписания вашего драйвера в документации Ubuntu и производителя. Не отключайте Secure Boot автоматически и не импортируйте неизвестные ключи.Linux · Терминал (Bash)КомандаКоманды чтения; команда grep может завершиться с кодом 1, когда совпадений нет.mokutil --sb-statejournalctl -k -b --no-pager | grep -Ei "module|signature|key|firmware"
- 5. Отдельно проверьте прошивку и пакеты ядраОткройте «Программы и обновления» → «Дополнительные драйверы» в настольной Ubuntu, если эта вкладка доступна, и посмотрите предложенный поддерживаемый драйвер. На сервере получите список пакетов и журналы APT; устанавливайте драйвер только под конкретный ID оборудования и текущую версию ядра. Массовая переустановка
linux-*может повредить систему. - Только проверка; apt history может не отражать драйвер, поставленный вручнуюLinux · Терминал (Bash)КомандаТолько проверка; apt history может не отражать драйвер, поставленный вручную.
dpkg -l | grep -E "linux-(image|headers)|dkms"ls -lah /var/log/apt/history.log
- 6. Проверьте работу со старым ядром без удаления новогоЕсли проблема началась сразу после обновления, при загрузке через меню GRUB (обычно «Дополнительные параметры для Ubuntu») попробуйте прежнее установленное ядро. На некоторых системах меню скрыто или GRUB не используется; не меняйте загрузчик наугад. Если со старым ядром модуль работает, зафиксируйте два номера uname -r и сообщите о несовместимости пакета. Не делайте старое ядро единственным без плана обновления безопасности.Linux · Терминал (Bash)КомандаНужна физическая/удалённая консоль, не перезагружайте без неё.
uname -rjournalctl -k -b --no-pager -n 60
#Как убедиться, что неисправность устранена
Исправление подтверждается не просто наличием модуля в lsmod, а работой устройства после запуска на текущем поддерживаемом ядре и новой загрузки. Для несобираемого стороннего драйвера полезны точные ID оборудования, версия ядра и журнал DKMS.
#Если результат не получен
Не повторяйте опасные действия наугад. Сохраните точную формулировку ошибки, вывод диагностики без секретов, версию Ubuntu и данные о затронутом компоненте. Верните лишь собственные изменения из резервной копии; если затронута загрузка, диски или рабочий сервер, воспользуйтесь консолью восстановления либо помощью администратора.