Ubuntu16.04安装NVIDIA驱动问题总结

本文记录在Ubuntu16.04安装NVIDIA的驱动过程中遇到的问题及解决方法,希望对看到的人有所帮助。

1、显卡驱动安装

(1) 禁用nouveau驱动

sudo vim /etc/modprobe.d/blacklist.conf

在最后添加下面的两行

blacklist nouveau
options nouveau modeset=0

(2) 更新initramfs

sudo update-initramfs -u

(3) 确认nouveau已经禁用

重启后执行下面的命令,没有输出的话表明禁用成功

lsmod | grep nouveau

(4) 进入控制台字符界面安装显卡

在NVIDIA官网下载驱动,https://www.nvidia.cn/Download/index.aspx?lang=cn,建议放在一个没有中文的路径下,进入控制台字符界面之后中文无法显示。

Ctrl+Alt+F1 进入字符界面,然后通过下面的命令停止lightdm服务(lightdm在ubuntu中负责启动X servers)。

sudo service lightdm stop

通过下面命令卸载系统中原有的nvidia程序

sudo apt-get remove --purge nvidia*

切换到驱动文件所在目录,首先给安装文件加上执行权限,然后执行安装文件

sudo chmod +x NVIDIA-Linux-x86_64-430.40.run
sudo ./NVIDIA-Linux-x86_64-430.40.run –no-opengl-files 

关于安装选项 –no-opengl-files,我之前安装一直没加过这个参数,直到有一次出现循环登录进不去系统,查看日志是显卡的问题,多次重装显卡驱动都不行,然后加上–no-opengl-files参数重装之后,就可以顺利登录系统了。

安装过程中如果没有报错,重启即可,如果出现了报错,可能和我遇到的情况一样,下面分解。

2、问题解决方法

(1) Unable to find the kernel source tree for the currently running kernel

出现这个问题可能是新安装的系统,缺少某些包,解决的方法是安装下面的4个包。

  1. build-essential:安装之后c/c++编译所需的包都会被安装。
  2. xserver-xorg-dev:提供X server开发所需的包。
  3. pkg-config:用于获得模块编译相关的信息。
  4. linux-headers-`uname -r`:提供 Linux kernel headers,注意包住uname -r的符号不是单引号,而是键盘上数字1左边那个按键。

sudo apt-get install build-essential xserver-xorg-dev pkg-config linux-headers-`uname -r`

安装完后重启,再次尝试安装驱动,应该就不会再报这个错。如果出现了新的错误,请继续向下看。

(2) Unable to load the kernel module 'nvidia.ko'

ERROR: Unable to load the kernel module 'nvidia.ko'.  
This happens most frequently when this kernel module
 was built against the wrong or improperly configured
 kernel sources, with a version of gcc that differs
 from the one used to build the target kernel, or if
 a driver such as rivafb, nvidiafb, or nouveau is present
 and prevents the NVIDIA kernel module from obtaining
 ownership of the NVIDIA graphics device(s), or no NVIDIA
 GPU installed in this system is supported by this NVIDIA
 Linux graphics driver release.

查看日志之后,发现是内核签名导致的

nvidia: module verification failed: signature for required key missing - tainting kernel

网上有的资料说对nvidia的模块进行签名,实际上有一个很简单的方法,首先进bios关闭安全启动,然后执行下面的命令,重启之后再安装应该就好了。

sudo update-initramfs -u

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值