Ubuntu開機後nvidia-smi英偉達驅動消失,或_解決更改內核無效的問題。

原因一:

沒有在開機啓動項將secure boot禁用

解決:開機時按del進入,找到security,在裏面找secure boot 並選擇disabled。(tips:進啓動項也有可能是別的鍵)

原因二:

系統使用了新內核。

解決:更換內核。
首先查看系統內核:

uname -r

記住當前版本,然後查看所有內核:

grep menuentry /boot/grub/grub.cfg

選擇舊版本.下面以我爲例:
我的所有內核信息:

ubuntu@ubuntu:~$ grep menuentry /boot/grub/grub.cfg
if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-5b51bd63-24ef-4c07-a6b0-0d95283dec4f' {
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-5b51bd63-24ef-4c07-a6b0-0d95283dec4f' {
	menuentry 'Ubuntu, with Linux 4.15.0-70-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-70-generic-advanced-5b51bd63-24ef-4c07-a6b0-0d95283dec4f' {
	menuentry 'Ubuntu, with Linux 4.15.0-70-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-70-generic-init-upstart-5b51bd63-24ef-4c07-a6b0-0d95283dec4f' {
	menuentry 'Ubuntu, with Linux 4.15.0-70-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-70-generic-recovery-5b51bd63-24ef-4c07-a6b0-0d95283dec4f' {
	menuentry 'Ubuntu, with Linux 4.15.0-66-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-66-generic-advanced-5b51bd63-24ef-4c07-a6b0-0d95283dec4f' {
	menuentry 'Ubuntu, with Linux 4.15.0-66-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-66-generic-init-upstart-5b51bd63-24ef-4c07-a6b0-0d95283dec4f' {
	menuentry 'Ubuntu, with Linux 4.15.0-66-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-66-generic-recovery-5b51bd63-24ef-4c07-a6b0-0d95283dec4f' {
	menuentry 'Ubuntu, with Linux 4.15.0-64-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-64-generic-advanced-5b51bd63-24ef-4c07-a6b0-0d95283dec4f' {
	menuentry 'Ubuntu, with Linux 4.15.0-64-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-64-generic-init-upstart-5b51bd63-24ef-4c07-a6b0-0d95283dec4f' {
	menuentry 'Ubuntu, with Linux 4.15.0-64-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-64-generic-recovery-5b51bd63-24ef-4c07-a6b0-0d95283dec4f' {
menuentry 'Memory test (memtest86+)' {
menuentry 'Memory test (memtest86+, serial console 115200)' {

比如我想更換內核到4.15.0-64, 那麼我需要複製兩條信息:
第一個是跟在Advanced options for Ubuntu後面的id:
gnulinux-advanced-5b51bd63-24ef-4c07-a6b0-0d95283dec4f
第二個是內核版本後面的id(4.15.0-64-generic):
gnulinux-4.15.0-64-generic-advanced-5b51bd63-24ef-4c07-a6b0-0d95283dec4f
確定這兩條內容後我們打開grub文件進行修改:

sudo gedit /etc/default/grub

修改grub文件中的GRUB_DEFAULT=“gnulinux-advanced-5b51bd63-24ef-4c07-a6b0-0d95283dec4f>gnulinux-4.15.0-64-generic-advanced-5b51bd63-24ef-4c07-a6b0-0d95283dec4f”
兩個id中間用>分隔.
保存關閉文件,終端敲

sudo update-grub

最後重啓:

sudo reboot
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章