Ubuntu安装NVIDIA驱动

2023-05-16

本篇教程来自我在好几台服务器+好几台工作站上安装驱动的实践经验。会持续更新。
强烈建议,阅读完全文后再上手实操!!!

推荐博客:How to install Nvidia drivers and cuda-10.0 for RTX 2080 Ti GPU on Ubuntu-16.04/18.04

以下操作默认使用sudo权限

  1. 卸载Nvidia残余文件

    如果系统是新装的,还没有安装过任何nvidia的东西,可以跳过这一步直接到后面。如果电脑已经安装过nvidia的驱动了,推荐清理一下已经存在的nvidia文件

    # 上来就删!
    apt remove *cuda*
    apt remove *nvidia*
    /usr/bin/nvidia-uninstall
    # 清除rc状态的软件(我直接全删了,不管是不是nvidia or cuda的)
    dpkg -l | grep ^rc | cut -d' ' -f3 | xargs dpkg --purge
    
    

    还可以用locate命令定位一下nvidia文件,比如用命令locate nvidia(先用命令updatedb更新一下数据库)。不过可能找到各种地方的路径,推荐可以手动删除/usr下面的文件,其他地方我也不敢乱删呀。这一步我觉得可以不做,把上面的做好了应该就ok了。

  2. 禁用Nouveau的驱动
    /etc/modprobe.d/blacklist.conf最后添加如下代码:
    (用来禁用nouveau第三方驱动,之后也不需要改回来)

    blacklist nouveau
    options nouveau modeset=0
    

    然后执行

    update-initramfs -u
    

    重启后,执行以下代码,若没有显示则禁用成功

    lsmod | grep nouveau
    

    如果遇到这个问题 (perl: warning: Falling back to a fallback locale (“en_US.UTF-8”))[]

    apt install locales-all
    
  3. 检测NVIDIA显卡型号:如果已知自己显卡型号,可以跳过

    命令行有三种方法

    #方法一:使用ubuntu-drivers-common这个软件`
    apt install ubuntu-drivers-common
    ubuntu-drivers devices
    #方法二
    lshw -numeric -C display //最好用sudo
    #方法三
    lspci -vnn | grep VGA
    

    也可以用软件AIDA64,这个软件可以看电脑的所有配置信息。

    然后下载官方驱动我比较喜欢最新的版本)。推荐下载英文版的驱动,防止中文乱码。例如

    wget http://us.download.nvidia.com/XFree86/Linux-x86_64/410.93/NVIDIA-Linux-x86_64-410.93.run
    
  4. 关闭secure boot
    到电脑的BIOS里关闭“安全启动”的选项。如果不关的话,在后面安装驱动的时候会问你要不要注册key巴拉巴拉之类的,反正我看不懂也没有成功过。

  5. 关闭图形界面

    如果系统已经有图形界面(比如ubuntu desctop),最好关闭一下图形界面关闭之前要先切换到命令行界面,使用快捷键Ctrl+Alt+F1F1不行的话,就换成F2F3…)。然后sudo权限运行命令

    # 如果是gnome桌面环境,执行
    service gdm3 stop
    # 如果是xfce桌面环境,执行
    service lightdm stop
    # 如果提示Failed to stop lightdm.service: Unit lightdm.service not loaded,可以不用管它,继续
    

    PS:也可以先不运行这个命令,等后面安装驱动的时候报错了(如下图),再执行上面那个命令。
    在这里插入图片描述

  6. 安装驱动

    启动驱动安装程序(.run)的方法有两种,我更喜欢第二种

    # 方法一
    chmod +x NVIDIA-Linux-x86_64-410.93.run
    ./NVIDIA-Linux-x86_64-410.93.run 
    # 方法二
    bash NVIDIA-Linux-x86_64-410.93.run
    

    启动安装程序,可以加参数(安装驱动前可能需要先安装gcc和make)。不过我一般都不加任何参数,如果想要加的话,可以加一个--no-x-check

    我在各种教程里面参数有:
    --no-opengl-files:表示只安装驱动文件,不安装OpenGL文件。这个参数不可省略,否则会- 导致登陆界面死循环,英语一般称为”login loop”或者”stuck in login”。然而我并没有用
    --no-x-check:表示安装驱动时不检查X服务。如果没有这个参数,可能会出现“X-Server needs to be disabled before installing the drivers”的错误。然而我也没有用
    --no-nouveau-check:表示安装驱动时不检查nouveau,非必需。
    -Z, --disable-nouveau:禁用nouveau。此参数非必需,因为之前已经手动禁用了nouveau。
    -A:查看更多高级选项。

    安装过程中遇到的选择如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    也有教程说最后一张图片的问题应该选no。还是选no吧。暂时找不到新的图片来更新了

    上面第3张图正常情况下都是可以选择“是否安装32位库”,我一般都选yes,感觉人畜无害:)

  7. 禁用内核更新
    我理解的安装显卡驱动的过程,会将你安装的显卡驱动跟当前使用的内核进行绑定。如果后续更新内核并重启系统,之前安装的显卡驱动就会识别不到导致无法进入图形界面,需要通过到命令行界面or以save mode启动系统,然后重装显卡驱动
    所以为了省事,我都直接禁止更新内核:

    apt-mark hold linux-image-generic linux-headers-generic 
    
  8. 若遇到关于kernal的Error,应该是驱动版本和系统内核版本不匹配(图后面有机会补上吧)。

    方法一:下载更新版本(or更旧,一般都是更新吧)的驱动。推荐这个,因为我都成功了。

    方法二:更改内核的版本。具体应该切换到什么版本的内核,可以参考其他已经成功安装了显卡驱动的电脑的内核版本。查看当前使用的内核 uname -r,查看grub版本 grub-install -V,切换内核可以参考这个博客

  9. 如果系统原本就有图形界面,并且执行了第3步,并且安装完驱动重启后图形界面不能自动打开,可以自己打开图形界面

    # 如果是gnome桌面环境,执行
    service gdm3 start
    # 如果是xfce桌面环境,执行
    service lightdm start
    

    或者设置默认进入的是命令行界面而不是图形界面

    # 查看当前启动模式。如果输出为multi-user.target,表示默认是命令行界面
    systemctl get-default
    
    # 将命令行模式更改为图形界面
    systemctl set-default graphical.target
    

    如果报错Failed to stop lightdm.service: Unit lightdm.service not loaded可能 需要重装一下lightdm

    apt install lightdm
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu安装NVIDIA驱动 的相关文章

随机推荐

  • 爱情

    爱情 一哥们最近谈对象了 这家伙计算机专业 科大本科 中山硕士 电信骨干 年近三十 却一直没有女友 人很老实 整天在游戏里自得其乐 最近另一朋友实在仍不住了 就帮他撮合了一个金领女友 于是乎 这家伙现在满脸红光 连 MSN 都改名子了 xf
  • 管理启示:钓竿与钓技

    有太多人认为自己手握人生的钓竿 xff0c 鱼儿会自动上钓 殊不知各行各业的专业 xff0c 都需要长期用心精耕 xff0c 才能累积到像老人的 钓技 位子 是虚的 xff0c 能力 是实的 有位年轻人到 Career 来寻求职咨询 xff
  • 学习笔记?

    学习笔记 xff1f
  • 新一代电信运营商运营支撑系统中的客户服务

    一 电信运营商的运营支撑系统 随着中国电信业逐步打破垄断 xff0c 为国内的电信运营商提供了一个逐步市场化的合理竞争环境 同时 xff0c 世界经济的全球化 市场的国际化和我国加入WTO步伐的加速 xff0c 也要求国内的电信运营商在经营
  • 用SID模型系统构建支撑

    为什么要使用SID OSS BSS是电信运营商解决企业运做管理自动化 信息化 提高产品销售 xff08 业务 xff09 和客户服务质量的综合支撑系统 它的发展大致可分为面向网元及网络管理 面向业务管理 面向客户管理三个发展阶段 而现阶段的
  • 构筑面向客户的电信运营支撑系统

    一个成功的电信企业如何才能保持持续发展的能力 xff1f 虽然融资 并购 重组等体制改革是非常必要的手段 xff0c 推动电信企业运营管理能力的提升更为重要 在电信业下一轮的竞争中 xff0c 全面提升管理水平和运营能力是决定性因素 以前是
  • 思特奇BOSS:综合计费系统的设计

    及时 灵活优惠的计费是现代移动运营商一切业务活动的基础 xff0c 也是为用户提供全面高质量服务 xff0c 提高市场竞争力的出发点 所以 xff0c 思特奇的综合计费系统根据语音 数据业务 增值业务等相关业务的特征 xff0c 可以按时长
  • CIO靠业务翻身

    身为CIO的你被降级了 CEO将把你叫进他的办公室并告诉你 xff0c 经过深思熟虑 xff0c 他决定让你向CFO做报告 每个人都知道这意味着什么 xff0c IT不必再向CEO作报告了 xff0c 但事实上IT是不应该这样的 虽然IT部
  • NIST SP800系列标准

    NIST SP800系列标准 SP800是美国NIST xff08 National Institute of Standards and Technology xff09 发布的一系列关于信息安全的指南 xff08 SP是Special
  • Python一个对象如何调用基类和继承类的方法

    main 函数 先 生成一个类 TrainOptions 的对象 然后调用 类中 的 parser 方法 但是发现 TrainOptions 没有该方法 所以去它的基类 BaseOptions 中找 并且找到了 parser 方法 此时调用
  • 滤波器和图像处理

    滤波器就是一个信号波形 xff0c 从时域看是 幅度 时间 的曲线 xff0c 从频域看是由多种不同频率成分的波形合成一个波形 xff0c 滤波就是滤除不要的频率成分 保留需要的频率成分 xff1b 高通滤波就是让高频成分通过 xff0c
  • 微信PC版的缓存文件夹

    微信PC版的缓存文件夹都装了什么 我们在PC版的微信上看到的所有东西 xff0c 都是会在硬盘里留下缓存文件的 微信缓存的路径 xff0c 默认是电脑的 我的文档 文件夹 xff0c 也就是 系统盘 Users 用户名 Documents
  • Win10子系统ubuntu20.04设置静态ip、笔记

    Win10子系统ubuntu20 04设置静态ip 笔记 简单有效的方法 一个新思路 xff1a 不改IP xff0c 加一个指定IP 在 Windows 10 中 xff0c 以管理员权限运行 CMD 或 Powershell xff0c
  • win10安装wsl2 unbuntu报错,WslRegisterDistribution failed with error: 0x80070002

    Installing this may take a few minutes WslRegisterDistribution failed with error 0x80070002 Error 0x80070002 The system
  • 什么是系统调用

    系统调用 1 内核模式与用户模式 为了保护设备 xff0c 操作系统不可能让所有的程序都能轻松地访问到任何的文件 xff0c 将处理器CPU分为两种模式 xff0c 内核模式和用户模式 xff0c 诸如一些修改寄存器内容的命令 xff0c
  • 【Docker】update-ca-certificates把JAVA_HOME抹掉了?一个镜像问题(未解决)

    今天在做镜像的时候发现一个问题 maven 3 6 3 openjdk 8 镜像是 dockerhub 拉下来的 xff0c 大家可以尝试一下 xff0c 然后在 Dockerfile 里执行了一下 update ca certificat
  • Mac里捣腾Kerberos(一)

    文章目录 1 Overview2 安装3 Summary 1 Overview 最近需要解决一个部门一个老旧问题 xff0c 问题大概是这样的 xff0c Spark on K8S 在访问 HDFS xff08 其他小组负责 xff09 的
  • Qt实战开发-目录树

    关键知识点 使用QStandardItemModel 建立标准化项目模型 xff0c 对树形控件节点操作提供用于存储自定义数据的通用模型 xff0c 每个数据项被表示为类QStandardItem的对象 xff0c 类QStandardIt
  • fdisk: cannot open /dev/sdb: Permission denied

    fdisk cannot open dev sda Permission denied fdisk cannot open dev sdb Permission denied 切换root用户就好了
  • Ubuntu安装NVIDIA驱动

    本篇教程来自我在好几台服务器 43 好几台工作站上安装驱动的实践经验 会持续更新 强烈建议 xff0c 阅读完全文后再上手实操 xff01 xff01 xff01 推荐博客 xff1a How to install Nvidia drive