Главная
» PC Советы
»
Как исправить проблему с загрузкой драйверов Nvidia после обновления ядра в Ubuntu
Как исправить проблему с загрузкой драйверов Nvidia после обновления ядра в Ubuntu
Обновление ядра может привести к тому, что Ubuntu окажется на экране входа в систему с графикой низкого разрешения, черным экраном или рабочим столом, работающим без ускорения NVIDIA. Это не означает автоматически, что видеокарта вышла из строя. Обновление ядра изменяет ядро, для которого необходимо собрать модуль NVIDIA, не входящий в исходное дерево, и Secure Boot может отказать в загрузке модуля, ключ подписи которого не является надежным.
Начните с определения причины ошибки. Если предыдущее ядро загружается с работающей NVIDIA, вероятной причиной является новое ядро или его модуль. Если модуль установлен, но ядро сообщает об отклонении ключа или подписи, проверьте безопасную загрузку и регистрацию ключа владельца машины (MOK). В этом руководстве используется рабочий процесс с пакетами драйверов Ubuntu; формулировки в меню и ветви драйверов могут различаться в зависимости от версии Ubuntu и оборудования.
Иллюстративный пример работы GRUB: выбор ранее установленного ядра может помочь восстановить работоспособность рабочего стола во время диагностики обновленного ядра.
Можно ли безопасно сначала загрузить предыдущее ядро?
Да, если оно всё ещё установлено. Перезагрузите компьютер и откройте меню GRUB; на многих системах его можно открыть, удерживая клавишу Shift в старом BIOS или нажимая Esc в UEFI во время запуска. Выберите « Дополнительные параметры для Ubuntu» , затем выберите более старое ядро без «режима восстановления». Точное время нажатия клавиш и названия пунктов меню зависят от прошивки и конфигурации GRUB. Если меню скрыто, обратитесь к поведению компьютера при запуске, а не меняйте настройки прошивки наугад.
После запуска системы подтвердите, какое ядро используется uname -r. Рабочее старое ядро предоставляет возможность восстановления и время для проверки пакетов. Это не является постоянным решением: обновления безопасности по-прежнему важны, поэтому вернитесь к новому ядру после восстановления его драйвера. Если ни одно из ядер не запускается нормально, используйте запись восстановления Ubuntu или загрузочный USB-накопитель для резервного копирования важных данных перед внесением изменений в пакеты.
Что следует проверить перед переустановкой чего-либо?
Откройте терминал (или текстовую консоль с помощью Ctrl+Alt+F3, если графический вход в систему недоступен) и соберите короткий базовый график:
uname -rОпределяет активное ядро. mokutil --sb-stateСообщает, включена ли функция Secure Boot. dkms statusПоказывает, зарегистрирована ли для данного ядра сборка с поддержкой динамических модулей ядра. nvidia-smiПроверяет связь с загруженным драйвером NVIDIA; это диагностическая команда, а не команда восстановления. Журнал ядра может выявить отсутствующий модуль, неудачную сборку или отклонение подписи. Отсутствие соответствующей строки в журнале не доказывает работоспособность драйвера.
Используйте информацию об активном ядре, состоянии DKMS и утилиту NVIDIA вместе, чтобы отличить проблему с отсутствующей сборкой от проблемы с загруженным драйвером; пример выходных данных может отличаться в зависимости от версии.
Не удалось ли собрать модуль NVIDIA для нового ядра?
Если DKMS отображает NVIDIA только для более старых версий ядра или модуль NVIDIA недоступен uname -r, установите соответствующие заголовочные файлы ядра и позвольте Ubuntu восстановить встроенный драйвер. Заголовочные файлы предоставляют файлы, необходимые для сборки внешнего модуля для работающего ядра. Сначала убедитесь, что у вас есть доступ к сети и достаточно места на диске, затем выполните:
Рекомендуемый инструмент Ubuntu ubuntu-driversвыбирает доступный драйвер, подходящий для вашей машины. Перед принятием проверьте пакеты, предложенные APT. Если драйвер уже установлен, а сборка DKMS кажется неполной, определите установленный пакет, а не гадайте, к какой ветке он относится:
dpkg -l 'nvidia-dkms-*' 'nvidia-driver-*'
ubuntu-drivers list
Затем переустановите соответствующий пакет DKMS, указанный в вашей системе (замените его точным именем пакета): sudo apt install --reinstall nvidia-dkms-<branch>. Избегайте копирования номера драйвера из другого выпуска Ubuntu или смешивания пакетов Ubuntu с автономным установщиком NVIDIA; конкурирующие методы установки могут перезаписать файлы или усложнить безопасную загрузку. Если APT сообщает о неудовлетворенных зависимостях, заблокированных пакетах или неудачной сборке DKMS, прочтите полное сообщение об ошибке, прежде чем выполнять дальнейшие команды. Соответствующий журнал сборки обычно находится в /var/lib/dkms/; используйте путь, указанный в сообщении об ошибке, вместо удаления каталогов DKMS.
Установите заголовочные файлы для работающего ядра, затем восстановите точно такой же пакет DKMS Ubuntu, который уже выбран для системы. Название пакета и вывод APT могут отличаться.
Блокирует ли Secure Boot собранный модуль?
Возможно. При включенной функции Secure Boot ядро Ubuntu проверяет подписи сторонних модулей ядра. Пакет Ubuntu может создать ключ подписи MOK и предложить вам его зарегистрировать. Если при установке отображалось предложение установить одноразовый пароль, но при следующей перезагрузке система сразу загрузилась в Ubuntu, возможно, ключ не был зарегистрирован. Проверьте mokutil --sb-stateжурнал ядра на наличие сообщений о проверке или отклонении ключа.
Когда программа установки пакетов Ubuntu поставит в очередь регистрацию MOK, перезагрузите компьютер и следуйте инструкциям на синем экране MOK Manager: выберите «Зарегистрировать MOK» , «Продолжить», подтвердите ключ, введите одноразовый пароль, созданный вами во время установки пакета, и перезагрузите компьютер. Этот пароль не обязательно совпадает с вашим паролем для входа в Ubuntu. Внимательно читайте экран; формулировки в меню могут отличаться. Если регистрация не была поставлена в очередь, переустановка поддерживаемого пакета драйверов Ubuntu может запросить настройку ключа. Не регистрируйте незнакомый файл ключа и не сообщайте одноразовый пароль другим лицам.
Экран регистрации MOK Manager появляется во время перезагрузки, когда ожидается регистрация ключа; выберите «Зарегистрировать MOK только для того ключа, которому вы хотели доверять».
Что если сборка завершится неудачей, даже если заголовочные файлы установлены?
Проверьте, полностью ли установлено новое ядро и точно ли совпадают его заголовочные файлы: uname -rони должны соответствовать установленному пакету заголовков. Затем изучите ошибку DKMS в APT и журнал сборки. Новое ядро может выявить несовместимость со старой веткой драйверов NVIDIA; пересборка не исправит исходный код, который не поддерживает этот интерфейс ядра. Используйте селектор драйверов Ubuntu, чтобы установить поддерживаемую ветку для вашего релиза, затем перезагрузите систему. Если вы установили драйвер с помощью установщика NVIDIA .run, следуйте инструкциям NVIDIA по удалению, прежде чем вернуться к пакетам Ubuntu; не используйте менеджеры пакетов друг над другом.
Для временного доступа загрузите предыдущую версию ядра из GRUB и оставьте её установленной до тех пор, пока драйвер нового ядра не загрузится корректно. Если вы используете пользовательское ядро, нестандартную конфигурацию или графический вычислительный/серверный модуль, автоматические рекомендации Ubuntu по выбору рабочего стола могут не соответствовать вашей предполагаемой конфигурации. В этом случае обратитесь к документации для соответствующего ядра или рабочей нагрузки, а не пытайтесь использовать универсальный пакет.
Как проверить, что исправление сработало?
После восстановления пакетов или регистрации ключа перезагрузите систему и загрузите новое ядро. Запустите команды `npm run src`, `npm run src` и `npm run uname -rsrc` dkms statusснова nvidia-smi. Успешным результатом будет наличие записи DKMS для работающего ядра, отсутствие отклонения подписи модуля в журнале загрузки ядра и nvidia-smiотображение информации о графическом процессоре и драйверах. Также убедитесь, что запускается обычная сессия рабочего стола и что приложение, нуждающееся в ускорении графического процессора, может использовать графический процессор NVIDIA. Гибридные ноутбуки могут намеренно использовать интегрированную графику для настольного компьютера, поэтому низкая производительность графического процессора сама по себе не является доказательством неисправности.
Если ошибка сохраняется, сохраните полный вывод сборки DKMS, активную версию ядра, релиз Ubuntu ( cat /etc/os-release), состояние Secure Boot и соответствующие строки журнала ядра. Эти сведения помогут определить, является ли следующий шаг поддерживаемой веткой драйверов, проблемой с подписью или проблемой совместимости ядра. Официальные рекомендации Ubuntu рекомендуют этот ubuntu-driversпуть для большинства систем, особенно там, где включена функция Secure Boot; см. Ubuntu Desktop: Установка драйверов NVIDIA , Ubuntu Server: Установка драйверов NVIDIA и Ubuntu Security: UEFI Secure Boot . Для получения подробной информации о совместимости драйверов на низком уровне обратитесь к документации NVIDIA по установке драйверов для Linux . Доступные версии драйверов и точные инструкции зависят от релиза Ubuntu и статуса поддержки графического процессора.