После обновления ядра 14.04 невозможно войти в экран входа в систему - proUbuntu
3 голосов
/ 09 февраля 2018

После того, как я обновил свое ядро, я перезапустил свой компьютер (как он всегда запрашивает), и теперь я не могу войти (я не могу пройти через экран входа в систему). Разрешение экрана при входе в систему также изменилось, поэтому я полагаю, что драйвер видео, который я обычно использовал, был изменен.

При загрузке компьютера экран в какой-то момент моментально становится черным и отображает следующие сообщения:

[7.635692] nvidia: версия magic '4.4.0-113-generic SMP mod_unload modversions 686' должна быть '4.4.0-113-generic SMP mod_unload modversions 686 retpoline'

[7.788685] nvidia: версия magic '4.4.0-113-generic SMP mod_unload modversions 686' должна быть '4.4.0-113-generic SMP mod_unload modversions 686 retpoline'

Любые предложения относительно того, что я могу сделать, чтобы решить эту проблему? Я новичок, когда дело доходит до Ubuntu, поэтому любая помощь очень ценится!

1 Ответ

0 голосов
/ 10 мая 2018

Я решил проблему, следуя этому сообщению из панели запуска ошибок. В итоге:

Запустите следующую команду и найдите строку vermagic:

modinfo nvidia-384 -k 4.4.0-116-generic

Вероятно, он скажет: vermagic: 4.4.0-116-generic SMP mod_unload modversions. Здесь строка ретполина отсутствует. Вы можете исправить это, удалив и заново собрав модуль с помощью DKMS

sudo dkms remove nvidia-384/384.111 -k 4.4.0-116-generic
sudo dkms install nvidia-384/384.111 -k 4.4.0-116-generic

После этого команда modinfo покажет vermagic: 4.4.0-116-generic SMP mod_unload modversions retpoline

Если вы используете пользовательскую версию gcc , этот пост также актуален:

Если вы используете версию gcc для Ubuntu, то, вероятно, gcc обновится, когда вы получите более новое ядро. Изменения в gcc, необходимые для поддержки retpoline, должны быть перенесены в большинство активных версий gcc. Однако, если вы установили пользовательскую версию gcc, ваш модуль ядра, вероятно, не будет собран правильно.

Так что, если описанная выше процедура не работает, вам, возможно, придется проверить, какую версию gcc вы используете.

...