Kali安装Nvidia显卡驱动

Kali系统安装好后先看硬件,发现显卡驱动是一个名字叫nouveau的开源驱动,实际使用起来发现偶尔都会有鼠标延迟的情况,于是决定安装Nvidia的官方驱动,从此就走上了一条不归路,网上搜了一大堆教程,每个教程还都不一样,包括kali官方support里的教程也是拉闸,前前后后折腾重装了十几次,前后跨度一个月的时间才最终装成功

以下是我的总结:

电脑硬件:

笔记本 dell Precision M6600(十年前的电脑了,基本属于电子垃圾行列) 显卡是Quadro 3000M

系统:Kali 2021-4

首先下载显卡驱动

(安装显卡驱动有两种方式,一种是使用APT库里的驱动程序安装,一种是使用Nvidia的官网二进制程序安装,这里我们选择第二种Nvidia的官方驱动,因为使用APT库的程序我试过几次都是黑屏无法启动,只能重装,大家可以自行尝试)

下载驱动

Unix Drivers | NVIDIAhttps://www.nvidia.cn/drivers/unix/

一般电脑都是x64,选择第一个, Linux x86_64/AMD64/EM64T,然后根据显卡支持情况选择版本,点进相应版本,在产品支持列表内选择相应最新的版本

(之前有大神教我,显卡驱动用旧的比较好,因为旧的稳定一些,但是实际安装过程中发现太旧的驱动在新系统上面可能编译不成功,因为系统内核变化太大的话可能会产生这种情况,所以选择最新的驱动,我这里选择的是390.147,再新的驱动已经不支持我的显卡Quadro 3000M,或者大家也可以把最新版本驱动以下版本的全部下载,挨个去试)

下载到指定文件夹,例如/home/xiazai,文件名称是NVIDIA-Linux-x86_64-390.147.run

因为linux系统,文件时没法直接当程序运行,需先修改文件属性,增加可运行的权限

sudo chmod a+x /home/xiazai/NVIDIA-Linux-x86_64-390.147.run

自行寻找自己适合的显卡驱动

更新APT库

首先更新源(国内源的连接速度较快,如果能正常连接外部官方源,此步骤可跳过,以下是国内中科大的源,也可自己找清华、阿里、网易等国内的源):

sudo vim /etc/apt/sources.list

把以下链接接入到文件中

deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

deb-src https://mirrors.ustc.edu.cn/kali kali-rolling main non-free

  

更新软件列表,保证软件库最新

sudo apt-get update

安装Linux-headers

(此步骤不可省略,按我的理解,安装驱动时需要重新编译到内核,headers就是内核函数的声明,不安装headers就无法编译内核,默认headers在安装系统时是不会安装的,因为内核已经编译完成运行在系统中,所以需要额外安装,如果不安装的话,后面安装驱动时会报警unable to find the kernel source tree )

apt-get -y install linux-headers-$(uname -r)

注:uname –r就是当前的内核版本,如果无法找到,先用

apt-cache –search Linux-headers

找到对应全名再安装即可。

还有一种情况是比较特殊的,系统内核版本老一些,apt库已经找不到对应版本的headers,这时就需要安装对应版本的内核,然后再安装相应最新的headers(内核包含两个 Linux-image-版本-AMD64Linux-image-AMD64),用apt-get install安装即可,不知道全名的可以用 apt-cache –search Linux-image找出对应全名

电脑重启,查看当前内核是否更新完成

(未更新内核的可跳过)

uname –a

安装dkms

dkms是一种动态内核管理的软件,在安装驱动时可以自动选择相应内核,之前我未安装dkms的时候一直报错找不到相应内核 还有headers,让我指定路径,安装完就自动选择好了)

sudo apt-get install dkms

禁用开源显卡驱动 nouveau

(此步骤也花费了我很长时间)

禁用开源显卡驱动nouveau要分解一些步骤

1.增加blacklist

Sudo vim /etc/modprobe.d/blacklist.conf (有些系统是在/usr/lib/modprobe.d/dist-blacklist.conf,保险起见,两个都可以添加)

文件内容是

blacklist nouveau

2.更新initramfs

(不更新initramfs 的话blacklist的禁用是不会生效的)

sudo update-initramfs -u

3.更新grub,进入命令行模式

这个步骤,很多教程会忽略,那就是重启进入命令行模式,此时的旧显卡驱动已被禁用,新显卡驱动还未安装,如果不进入命令行模式,那么系统启动后,内核会调用显示接口进入图形化界面,会直接黑屏

修改grub文件

sudo vim /etc/default/grub

在quiet后面增加 splash 3

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash 3"

(linux的启动有很多种模式,6是桌面用户模式,3是命令行模式,感兴趣的可以自己研究)

保存后退出,然后更新grub

sudo update-grub

安装驱动

重启就直接进入命令行模式

然后直接运行驱动程序

cd /home/xiazai

sudo ./NVIDIA-Linux-x86_64-390.147.run

不出意外的话直接安装完成

完成后再恢复桌面模式

删掉/etc/default/grub的splash 3

Sudo vim /etc/default/grub

再更新grub及initranfs

sudo update-initramfs -u

sudo update-grub

重启正常进入系统

命令行输入nvidia-smi即可看到驱动安装完成

nvidia-smi

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐