忙活了一天,踩了不少坑,终于完成了安装linux双系统以及Nvidia显卡驱动和Cuda的安装
配置信息
硬件
- Win7系统
- 16G U盘
- 带有Geforce 820M的笔记本
- 机械盘
软件
- Centos 7
- cuda_8.0.44_linux.run
- NVIDIA-Linux-x86_64-390.48.run
Win7安装Linux双系统(CentOS 7)
参考链接
踩到的坑
- 某次重启后,机械盘盘符+文件乱码 ,使用Disk Genius进行了数据恢复;乱码原因应该是磁盘引导区文件损坏。
- Centos设置挂载点时不正常 ,强行采用brtfs文件系统进行分区,完成后直接生成Centos系统。
安装Nvidia显卡驱动
安装Nvidia驱动之前,我们必须检测自己电脑上的显卡设备,根据其支持的驱动版本进行安装,同时,我们还必须考虑到其与cuda的版本兼容性问题(此次安装过程中,我首先安装了cuda-10.0,之后通过官网推荐下载了驱动Nvidia-Linux-x86_64-410.78.run,后来发现Nvidia-Linux-x86_64-410.78.run已经不支持Geforce 820M,重新下载Nvidia-Linux-x86_64-390.48.run,之后发现cuda-10.0对于驱动版本存在要求,重新安装cuda-8.0。中途更是遇到了诸如Centos无法进入图形界面、cuda覆盖已安装Nvidia驱动等一系列问题)
-
查看系统显卡信息
lspci | grep -i nvidia
-
安装Nvidia驱动
- Centos中显卡默认为nouveau驱动,而不使用Nvidia驱动,故需要先禁用nouveau驱动
//使用root权限 vi /lib/modprobe.d/dist-blacklist.conf //在blacklist nvidiafb前面加上# //在最后加上 blacklist nouveau options nouveau modeset=0 //备份镜像 sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak //重建镜像 sudo dracut -v /boot/initramfs-$(uname -r).img $(uname -r) //之后 reboot //确认nouveau已被禁用 ls mod | grep nouveau //没有输出表示已被禁用
- Nvidia驱动自带的OpenGL与Centos的GNOME桌面冲突,故不能安装OpenGL,否则在安装Nvidia驱动后,将无法进入Centos图形界面
//进入纯命令模式 init 3 // init 5恢复图形显示 //安装Nvidia驱动,拒绝OpenGL sh NVIDIA-Linux-x86_64-390.48.run --no-opengl-files //测试 nvidia-smi
安装Cuda
- 安装cuda
下载cuda_8.0.44_linux.run
安装过程中将是否安装驱动一项选择为‘n’,否则会覆盖已有驱动sudo chmod 777 cuda_8.0.44_linux.run //获取可执行权限 sh cuda_8.0.44_linux.run //安装cuda
- 配置环境变量及测试
vim ~/.bashrc export PATH=/usr/local/cuda-8.0/lib64 export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH //保存bashrc文件 source ~/.bashrc //更新 //查看nvcc版本号 nvcc -V //测试cuda cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery sudo make //编译deviceQuery.cpp文件 ./deviceQuery //若Result=Pass则表示安装成功