天天看點

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

原因一:

沒有在開機啟動項将secure boot禁用
           

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

原因二:

系統使用了新核心。
           

解決:更換核心。

首先檢視系統核心:

uname -r
           

記住目前版本,然後檢視所有核心:

grep menuentry /boot/grub/grub.cfg
           

選擇舊版本.下面以我為例:

我的所有核心資訊:

[email protected]:~$ 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