双显卡笔电安装N卡驱动及CUDA

本文详细介绍了在Ubuntu系统中安装Nvidia显卡驱动的步骤,包括解决双显卡配置问题,以及如何正确安装与测试CUDA环境,确保GPU计算能力得到充分利用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于工作需要,必须换操作系统了,一想到笔记本已经冗杂不堪,所以就索性重装成Linux系统,虽然显卡性能不如实验室的机器,但完全可以当做试验机,同时本身机子性能也不差,所以装个乌班图应该体验还不错。以上是我开始时的想法,后来装完了之后呢,体验总体也不错,但总归是有写麻烦,我总结一下放在开头。

image.png

安装和使用Ubuntu的感受

  • 初始安装时要修改配置,针对双显卡机器;
  • 安装系统的过程非常快,这得益于我的固态硬盘;
  • 系统的初始环境比Win10全,比如自带Python环境等等;
  • 操作起来整体感觉圆滑,但比Win10要卡;
  • 随便的小操作就可能导致开机黑屏,不过修复也比较容易;
  • 开机关机要快点,因为不存在Win10那种更新;
  • 系统的自定义程度高,基本哪里都可以改;
  • 注意:微星笔电开启独显后会导致风扇一直运行在高转速;
  • 注意:真不需要占用太多硬盘空间,后悔没装双系统!

总体体验还不错,除了娱乐性差一点,我基本可以适应从Win10到Ubuntu的过度。有关于系统设置和美化的内容请转到 这篇文章

下面是安装系统及显卡驱动的步骤和需要注意的地方。

安装系统及Nvidia驱动

双显卡的系统安装及驱动安装的准备工作
  1. Bios改成uefi,关闭安全启动;

    image.png
  2. 插入启动U盘,启动安装,在try ubuntu ..install Ubuntu 的这个界面,按e,进入grub的调整界面;

    image.png
  3. 把里边的quiet splash修改为nomodeset idle=nomwait,修改完成以后Ctrl + X或F10,使之生效;

    image.png
  4. 然后继续安装,这样安装完成以后,应该可以顺利进入桌面;

  5. 正常进入桌面后,编辑 /etc/default/grub 这个文件,同样添加nomodeset字段到splash后面;

此时重启,应该一切正常可以进入桌面,这时其实系统使用的集显,独显的显卡还没装,下面开始。

# 自动探测显卡版本并列出可使用的显卡驱动编号
tzloop@tzloop-GE62-6QC:~$ ubuntu-drivers devices
… …
vendor : NVIDIA Corporation
model : GM107M [GeForce GTX 960M]
driver : nvidia-driver-440 - third-party free recommended
driver : nvidia-driver-415 - third-party free
driver : nvidia-driver-410 - third-party free
driver : nvidia-driver-430 - third-party free
driver : nvidia-driver-390 - third-party free
driver : nvidia-driver-435 - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin

# 查看内核版本(高内核会引发显卡驱动的不兼容)
tzloop@tzloop-GE62-6QC:~$ uname -r
5.3.0-26-generic

# 开始安装驱动时,先卸载之前的驱动
tzloop@tzloop-GE62-6QC:~$ sudo apt-get remove --purge nvidia*
… …
INFO:Disable nvidia
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/put_your_quirks_here
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.130ubuntu3.8) ...
update-initramfs: Generating /boot/initrd.img-5.3.0-26-generic

# 添加驱动的软件源
tzloop@tzloop-GE62-6QC:~$ sudo add-apt-repository ppa:graphics-drivers/ppa
… …
Fetched 88,7 kB in 0s (186 kB/s)
Reading package lists... Done

# 更新下载器
tzloop@tzloop-GE62-6QC:~$ sudo apt-get update
… …
Reading package lists... Done
选择安装驱动的版本

列出适用该笔记本电脑显卡的具体驱动版本。这里有三点需要注意:

  • 尽量选择高版本的显卡驱动,比如这里选择安装440,如果选择安装410,则会出现与内核不兼容的情况,我们面会谈到。

  • 第二点就是,可能你运行下面的命令不能自动识别出显卡版型号,那么你就要去手动查询对应的Nvidia显卡型号和Ubuntu驱动编号的关系,手动选择一个版本安装。

  • 最后,如果可以在<软件和更新>中找到相对应的驱动版本,也可以直接鼠标选择后应用即可。这是18.04及以后都支持的Nvidia驱动安装方法。(一般初始驱动是不完整的)

    image.png

如果错误的在高版本内核下安装了低版本驱动,会安装失败的:

tzloop@tzloop-GE62-6QC:~$ sudo apt install nvidia-driver-410 
… …
Building initial module for 5.3.0-26-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/nvidia-kernel-source-410.0.crash'
Error! Bad return status for module build on kernel: 5.3.0-26-generic (x86_64)
Consult /var/lib/dkms/nvidia/410.104/build/make.log for more information.
Setting up nvidia-driver-410 (410.104-0ubuntu0~18.04.1) ...
Processing triggers for initramfs-tools (0.130ubuntu3.8) ...
update-initramfs: Generating /boot/initrd.img-5.3.0-26-generic

所以我们要安装高版本,直接安装其recommended的版本即可。安装过程中会有基佬紫对话框,可能会被要求输入密码。

image.png
tzloop@tzloop-GE62-6QC:~$ sudo apt install nvidia-driver-440 
… …
Processing triggers for initramfs-tools (0.130ubuntu3.8) ...
update-initramfs: Generating /boot/initrd.img-5.3.0-26-generic
Processing triggers for libc-bin (2.27-3ubuntu1)

显卡驱动安装完成的判定:,重启后输入nvidia smi,如果正常的显示出以下信息则正常。

image.png
可能出现的问题
  • 重启后nvidia-smi通信失败
    如果安装非常顺利,但重启后nvidia-smi命令无效,切记要在重启后进入蓝色方框的界面输入安装驱动时的密码,再重启就可以啦。

  • 首次安装过程中,登录账户后桌面黑屏
    原因:安装时的grub配置没有修改,这时要重新安装系统,按照上述步骤,一定要注意修改grub文件。
    请确认,这是在首次安装过程中出现的,我们可以看见登录界面,但登录进去后就是黑屏,可能有鼠标也可能没有。

  • 安装显卡驱动之后,重启黑屏
    原因:没有在grub配置文件内添加nomodeset字段。
    请确认,这是在我们安装完成系统之后出现的问题,那么接下来的操作就与安装盘没有任何关系,所有操作都不要插着安装盘。只需要使用Ctrl+Alt+F4(也可能是F1~F6),进入tty4也就是黑框(微型Ge62系列是在出现MSI图标后就按下ESC进入,时机比较难把握,多试几次就行了),登录root账户后,找到/etc/default/grub文件,将里面的quiet splash后面添加上nomodeset这个字段,保存重启即可。

安装CUDA

为什么重新安装Cuda,安装完成显卡驱动后的输出里已经能发现Cuda10.2了,这个问题我的理解是,我们要一个可控的开发环境,而不是运行环境,所以我们自己要重新装个Cuda,在Cuda官网可以找到对应显卡驱动的Cuda安装包,安装过程直接照官网来。

image.png

那么如何知道我们安装成功了呢,这里可以通过编译Cuda自带的例子来看其是否通过测试。

# 首先测试下运行环境是否正常,主要是GCC是否正常
tzloop@tzloop-GE62-6QC:~$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 440.48.02 Tue Jan 14 06:22:51 UTC 2020
GCC version: gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)

# 进入sample所在的目录
tzloop@tzloop-GE62-6QC:~$ cp -r /usr/local/cuda-10.2/samples/ ~
tzloop@tzloop-GE62-6QC:~$ cd ~/samples

# 编译自带的例子
tzloop@tzloop-GE62-6QC:~/samples$ make
… …
arch=compute_75,code=sm_75 -gencode arch=compute_75,code=compute_75 -o cudaNvSci.o -c cudaNvSci.cpp
In file included from cudaNvSci.cpp:12:0:
cudaNvSci.h:14:10: fatal error: nvscibuf.h: No such file or directory
#include <nvscibuf.h>
^~~~~~~~~~~~
compilation terminated.

注意:这里我们直接使用 make 的话会无法通过对例子的编译,参见 这里 的解释,这是一个已知的错误,我们可以通过 make -k 来忽略过程中的错误。

# 使用 -k 参数来跳过错误
tzloop@tzloop-GE62-6QC:~/samples$ make -k
… …
mkdir -p ../../bin/x86_64/linux/release
cp cuSolverRf ../../bin/x86_64/linux/release
make[1]: Leaving directory '/home/tzloop/samples/7_CUDALibraries/cuSolverRf'
make: Target 'all' not remade because of errors.

# 最终的测试,如果是PASS则Cuda运行正常
tzloop@tzloop-GE62-6QC:~/samples/bin/x86_64/linux/release$ ./deviceQuery
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 960M"
CUDA Driver Version / Runtime Version 10.2 / 10.2
… …
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.2, CUDA Runtime Version = 10.2, NumDevs = 1
Result = PASS

参考资料

https://bbs.deepin.org/forum.php?mod=viewthread&tid=41469
https://bbs.deepin.org/forum.php?mod=viewthread&tid=41469
http://askubuntu.com/questions/162075/my-computer-boots-to-a-black-screen-what-options-do-i-have-to-fix-it
https://www.jianshu.com/p/fc5edbd6f480
https://www.jianshu.com/p/e476e5ad6b56



😒 留下您对该文章的评价 😄


<think>好的,用户现在想在Ubuntu 24.04上安装NVIDIA显卡驱动,之前他遇到了通过run文件安装后黑屏、无法进入系统以及登录界面光标闪烁的问题。结合之前的引用内容,用户可能是在手动安装驱动时出现了兼容性问题,或者CUDA版本与驱动不匹配导致的问题。 首先,我需要考虑Ubuntu 24.04的版本较新,可能默认的驱动仓库还不完善,或者用户使用了不兼容的驱动版本。之前的错误可能是由于使用run文件安装时没有禁用Nouveau驱动,或者安装过程中与现有内核模块冲突。 用户现在需要安全可靠的安装方法,避免再次出现黑屏或无法登录的情况。我应该推荐使用官方仓库的驱动,或者PPA源,这样更稳定。同时,需要确保安装后正确配置,并处理可能的内核模块问题。 另外,用户提到的CUDA版本过高导致的问题,需要提醒他在安装驱动时注意CUDA兼容性。可能需要先安装合适的驱动,再安装对应的CUDA版本,或者使用conda环境管理不同的CUDA版本。 可能的步骤包括:禁用Nouveau驱动,更新系统,通过apt安装推荐驱动,或者添加PPA安装最新驱动,然后配置环境,最后验证安装。同时,需要提供安全模式进入的方法,以防安装失败后恢复。 还要考虑用户可能在安装后遇到登录循环或显示问题,需要给出相关的故障排除步骤,比如使用恢复模式卸载驱动,或者调整显示管理器配置。 最后,确保用户了解备份重要数据,以及在安装前创建系统快照,防止系统崩溃无法恢复。</think>### Ubuntu 24.04安装NVIDIA显卡驱动完整指南 #### 一、安装前准备 1. **禁用Nouveau驱动** ```bash sudo nano /etc/modprobe.d/blacklist-nouveau.conf # 添加以下内容 blacklist nouveau options nouveau modeset=0 # 更新initramfs并重启 sudo update-initramfs -u sudo reboot ``` 2. **验证Nouveau是否禁用** ```bash lsmod | grep nouveau # 无输出则为成功 ``` #### 二、推荐安装方式(优先选择) **方法1:使用Ubuntu官方仓库** ```bash # 更新软件源 sudo apt update && sudo apt upgrade -y # 查看推荐驱动版本 ubuntu-drivers devices # 自动安装推荐驱动 sudo ubuntu-drivers autoinstall ``` **方法2:手动指定驱动版本** ```bash # 查看可用驱动版本 apt search nvidia-driver | grep '^nvidia-driver-' # 安装指定版本(示例为535) sudo apt install nvidia-driver-535 nvidia-dkms-535 ``` **方法3:使用官方NVIDIA驱动(针对特殊需求)** ```bash # 安装编译依赖 sudo apt install build-essential libglvnd-dev pkg-config # 下载官方驱动(从官网获取对应版本) chmod +x NVIDIA-Linux-x86_64-535.129.03.run sudo ./NVIDIA-Linux-x86_64-535.129.03.run --dkms -s ``` #### 三、关键配置步骤 1. **重建内核模块** ```bash sudo dkms build -m nvidia -v 535.129.03 sudo dkms install -m nvidia -v 535.129.03 ``` 2. **更新GRUB配置** ```bash sudo update-initramfs -u -k all sudo update-grub ``` 3. **验证安装** ```bash nvidia-smi # 应显示显卡信息 glxinfo | grep "OpenGL renderer" # 应显示NVIDIA显卡 ``` #### 四、CUDA兼容性配置(根据引用[2]问题) 1. **安装与驱动匹配的CUDA** ```bash # 查看驱动支持的CUDA版本(nvidia-smi输出顶部) # 示例:驱动535对应CUDA 12.2 wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.pin sudo mv cuda-ubuntu2404.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/3bf863cc.pub sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/ /" sudo apt install cuda-toolkit-12-2 ``` 2. **PyTorch环境配置** ```bash # 创建独立环境(兼容CUDA 12.x) conda create -n pytorch_env python=3.10 conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia ``` #### 五、故障恢复方案 **若出现黑屏/登录循环(引用[1]问题)**: 1. 进入恢复模式: - 开机时长按Shift键进入GRUB菜单 - 选择**Advanced options > recovery mode** 2. 卸载问题驱动: ```bash sudo apt purge nvidia-* sudo apt autoremove sudo reboot ``` 3. 修复显示管理器: ```bash sudo apt install --reinstall gdm3 ubuntu-session ``` #### 六、推荐版本对照表 | 驱动版本 | 适用场景 | 兼容CUDA | 内核支持 | |----------|--------------------|----------|-----------------| | 535 | 主流用户 | 12.2 | Linux 6.5+ | | 470 | 旧显卡(Maxwell) | 11.4 | Linux 5.15+ | | 525 | RTX 40系列新特性 | 12.0 | Linux 6.2+ | **注意事项**: 1. Ubuntu 24.04默认使用Wayland显示协议,建议在`/etc/gdm3/custom.conf`中启用`WaylandEnable=false`切换Xorg[^1] 2. 双显卡用户需配置`prime-select`: ```bash sudo prime-select nvidia sudo reboot ``` 3. 安装完成后建议创建系统快照: ```bash sudo timeshift --create --comments "Post-NVIDIA-install" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值