NVIDIA 显卡驱动安装

补充:这篇博文目前是整理的结果,之前安装了384,但是之前电脑卡死次数太多,强制重启后,突然驱动就没有了,扩展屏幕也用不了,因此,又一次尝试了各种方法, 附加了一些疑难杂症,具体可以参考下面的步骤;

我第一次安装是用apt-get安装了NVIDIA-384 /NVIDIA-430 , 第二次是自己从官网下载.run文件进行安装, 目前比较喜欢第二种方法,可控性强一点;

背景: UBUNTU16.04 +NVIDIA-384

安装过程比较艰辛,参考了很多人的博客,中间走了一些弯路,下面主要将大家的方法分为两类:

1. 使用apt-get 安装的方法

2. 使用官网下载 .run 文件安装的方法

前提:去Nvidia官网下载自己需要的驱动版本, 比如我的是1050TI, 下载了对应的430.run文件;这一步需要提前做好的;

我两种方法都试了,先用第一种没成功,又尝试了第二种,也没成功,后面又重新安装第一种,成功。

所以,下面的方法总结是按照apt-get的安装方法,如果想用.run文件安装的,我的博客不具有参考价值:

第一步: 查看显卡信息

lspci | grep VGA

第二步:删除原有驱动,如果你之前有安装过的话:

sudo apt-get remove --purge nvidia*
sudo apt-get autoremove

安装依赖:

sudo apt-get install build-essential gcc-multilib dkms

这些依赖有可能我们已经安转,执行只是为了确认;

第三步: 禁用nouveau驱动:

编辑 /etc/modprobe.d/blacklist-nouveau.conf 文件,使用sudo vim /etc/modprobe.d/blacklist-nouveau.conf 命令,因为只有sudo才能够保存最后的修改

添加以下内容:

    blacklist nouveau
    blacklist lbm-nouveau
    options nouveau modeset=0
    alias nouveau off
    alias lbm-nouveau off

然后wq保存,关闭nouveau:

下面这一步具体的功能不清楚,但是代码的意思就是将 options nouveau modeset=0 写入到文件/etc/modprobe.d/nouveau-kms.conf中;  所以可以去/etc/modprobe.d/nouveau-kms.conf文件中查看,是否执行成功; 

(命令tee是用来进行重定向,就是将 | 前面的命令的执行结果 重定向 输入到 tee 后面指定的文件中)

$ echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

第四步: 重启

sudo update-initramfs -u
sudo reboot

第五步: 获取kernelsource(非常重要):

sudo apt-get install linux-source
sudo apt-get install linux-headers-xxx x-x-generic

其中x.x.x-x-generic可以通过$(uname -r)替换得到

第六步:关掉显示服务

sudo systemctl stop lightdm(or sudo service lightdm stop)
sudo systemctl stop gdm
sudo systemctl stop kdm

这里需要注意,执行sudo systemctl stop lightdm 之后有可能电脑黑屏后,只有一个光标显示,或者出现一些其他的非正常界面的状态,这时候可以Ctrl+Alt+F1进入命令行状态, 执行接下来两条;

我在执行关闭gdm,kdm之后都显示Failed, 这种情况属于正常,接着往下走就可以;

到这一步就都是非图像化界面,命令行的状态,接下来就可以安装了

第七步:安装nvidia

如果使用源来安装可以执行下面的命令

sudo apt-get install nvidia-430
sudo apt-get install nvidia-430-dev

这里重点说一下使用.run文件安装

sudo chmod 666 NVIDIA-Linux-x86_64-430.34.run
sh ./NVIDIA-Linux-x86_64-430.34.run –no-x-check -no-nouveau-check -no-opengl-files

执行这一步会收到很多提示:

问题1:The distribution-provided pre-install script failed! Are you sure you want to continue? 

选择 yes 继续。

问题2:Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 

选择 No 继续。

问题3Nvidia's 32-bit compatibility libraries?

选择 No 继续。

问题4:Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.

选择 Yes 继续

上面这种情况是比较顺利的情况, 也会有不顺利的时候,就是执行问题2之后报错, 

报错1:The target kernel has CONFIG_MODULE_SIG set, which means that it support  ------ from a trusted key. This system has UEFI Secure Boot enabled; many distributions enforce module signature verification on UEFI systems when Secure Boot is on;....

大致的意思就是我们的安全启动还处于打开的状态, 这时候需要将其关闭; 这里说两种关闭SecureBoot的办法:

第一种: 正常进入BIOS模式, 在系统设置中找到安全启动,也就是SecureBoot 将其关闭即可;

第二种: 用Mok管理工具,禁用 shim->grub2 这一步之后的校验就行了 

sudo apt-get install mokutil
sudo mokutil --disable-validation

执行上面的代码,需要输入一个至少八位的密码, 我输入12345678, 然后执行reboot重启电脑,会收到需要确认密码的状态,这时候就输入数字对应的密码即可, 比如让我输入第3位, 我就输入3;

接下来就进入到了Mok管理界面,在这个界面,将SecureBoot设置为NO即可;

第二种方法到这里按理说就结束了,但是不清楚我自己是操作有误,还是不同电脑的状态不同, 这时候进入了BIOS界面(蓝色白色相间)和Ubuntu界面(紫红色界面,需要选择Ubuntu版本)的循环模式;

这时候一定要淡定,冷静!!按照BIOS界面的提示, 按F10进入传统的BIOS模式, 回到第一种方法,找到SecureBoot关闭即可;

关闭之后,再重新回到第六步,关闭显示界面, 重新安装驱动,没有意外的话,这次应该会有正常的第七步的提示;

第八步:挂载驱动:

modprobe nvidia

到这一步其实就可以执行 nvidia-smi进行检测了, 看自己是否安装成功,如果有什么问题,也可以执行下面的附加步骤,进行重新启动;

附加步骤: last but not least!!!!

我最开始执行完上一步之后,直接用nvidia-smi去查询驱动信息,但是显示结果时command not found, 所以才会又从官网下载.run文件安装,但是安装失败后,又添加下面代码就成功 :

sudo apt-get update
sudo apt-get upgrade

然后重启。

使用nvidia-smi查询信息,如果显示如下,则说明安装成功:

重磅参考博客:https://www.cnblogs.com/pprp/p/9430836.html  写的很好,只是有一些疑难杂症没有提到

关闭SecureBoot: https://forum.ubuntu.com.cn/viewtopic.php?t=477854

疑难杂症的图片对应: https://blog.csdn.net/qq_29650553/article/details/81028739 遇到的问题一样,但是没有参考其对应的解决方案(他的系统应该是Windows的)

参考博客:https://blog.csdn.net/tianrolin/article/details/52830422

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值