首先说一下我奇葩的笔记本电脑机械革命X6ti的配置。
显卡是GTX965M和intel 集显530,硬盘为128GSSD和1T的机械硬盘,cup是i7-6700的。整个安装过程我们可以给它分为四个阶段
1、在电脑上安装ubuntu16.04双系统。
2、在ubuntu上安装Nvidia 的驱动
3、在安装完Nvidia驱动后,安装cuda,及cudnn
4、安装tensorflow-gpu版本
一、在电脑的双硬盘上安装ubuntu16.04双系统
在机械革命这款不知道自己会不会革命成功的电脑上安装ubuntu会遇到各种各样的奇葩问题,比如使用u盘作为启动盘安装开机和关机都会卡在logo界面上,英伟达显卡驱动不能正常安装等问题。
1、首先让我们解决第一个问题就是安装过程会卡在logo界面的问题。
开机时按;F2进入到BIOS界面,在ADVANCED选项中将ossuppor这个选项设置为legacyos,然后将secureboot选项设置为disable,保存设置并且退出。
再次进入到启动界面,按F10进入,选择uefi的usb启动项,当我们进入到启动引导的时候,也就是我们看到tryUbuntu without installing的时候,我们按下e键进入到编辑界面,在quite splash后面按下空格之后输入acpi=off,按F10进行保存,这时就可以进入到系统安装界面了,不会出现卡在logo页面的情况。
2、其次,由于现在安装双系统的电脑都有双硬盘,而且现在越来越多的计算机通过uefi进行双系统的安装,这部分我们就大致说一下如何进行分区和安装。
由于之前的windows安装在ssd上,我们在windows下通过磁盘管理器进行压缩卷,分出一个大约5G的磁盘空间。在机械硬盘上进行压缩卷,得到一个大约200G的磁盘空间。大致分配如下图。
在进入到Linux安装界面后,我们在sda(我的ssd硬盘)上创建一个efi分区,大约500M用来安装引导器,然后在将剩下的4.5G作为一个分区用来安装linux,也就是将/root目录挂载在这个分区上。接下来我们对机械硬盘进行操作,将在机械硬盘上压缩出的空间大致分为:
/:根目录10G;swap交换空间8G; /usr 50G,/home剩下的空间。大致分区状况如下,具体分区的作用在网上都有,/usr最好还是大一点毕竟以后安装的一些软件的文件都在这个目录下。
当我们进行初次安装后,进行重启时,在进入ubuntu时,也要按e进入到编辑模式再次输入acpi=off,按F10重新加载启动参数才能进入。
再次进入系统后,进入etc/default/grub,将GRUB_CMDLINE_LINUX=”acpi=off”中的acpi=off删掉,并保存(可能需要获取grub的权限才能保存)。保存后关闭grub文件,在终端命令中输入的指令为:
cd /etc/default
sudo gedit /etc/default/grub
sudo update-grub
注意!!!这里应该能正常关机和开机了。在完成以上各种操作后,我的电脑在终端模式下发生了一些小问题。在进入终端命令行的时候总会有piceport进行报错,不影响图形界面下的操作,但是在安装nvidia驱动的时候我们有可能需要关闭图形界面。可能是由于在我的系统中有的驱动装的不对,为了解决个问题,我们可以在grub的编辑界面中找到quite splash 在其后面空格 并且加上pci=nomsi,关闭MSI。
二、在ubuntu上安装Nvidia的驱动
在ubuntu上安装Nvidia驱动有两种方法,一种直接通过系统下的软件和更新进行安装。另一种则是自己手动安装。
第一种方法
通过系统下的软件和更行进行安装。保证电脑联网,打开设置-》软件更新-》附加驱动,然后等一会,系统会自动为你搜索合适你机子的显卡驱动。最好选择系统搜索出来的两个专有的显卡驱动,如下图所示,最后选择好点击“应用更改”进行安装(这里可能需要一段时间不同软件源提供的驱动会略有不同这种方法比较省事。
第二种方法
大致的思路是,从官网上下载对应驱动的runfile。注意一定是.run文件,不要下错了。禁用开源驱动nouveau-》禁用x-window-》安装驱动-》开启x-window。
(1) 禁用nouveau ,编辑黑名单文件/etc/modprobe.d/blacklist.conf。在conf的文末添加如下文本。
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
(2) 更新状态
sudo update-initramfs –u
(3) 重启系统,检查nouveau是否禁用成功.
lsmod | grep nouveau
如果没有输出则代表了nouveau禁用了。而有些人在安装ubuntu的过程中并没有选择在安装过程中更鞋也没有选择安装图形和无线赢家的选项。可能系统中没有nouveau,如果是这种状况下不用禁用nouveau。因为这种情况下,系统会调用集显驱动进行显示。
(4) 禁用X服务,这时我们要切换到终端模式alt+ctrl+f1-f7都可以。
sudo service lightdm stop
(5) 安装驱动
Sudo chmod +x NVIDIA-Linux-x86_64-375.66.run
sudo ./NVIDIA-Linux-x86_64-375.66.run(假设这个是下载的.run文件)
注意事项:只安装驱动,不安装OpenGL。对于UEFI启动的主板,需要进Bios 关闭secure boot。
(6) 验证方式
nvidia-smi
输入该指令后可以看到显卡的信息,说明安装成功。成功后可重启。
以下的问题很关键!!!
在安装完ubuntu的时候,大多都会遇到以下的状况,例如双显卡安装Nvidia驱动,循环登陆或是黑屏。这都是因为我们电脑上的集成显卡导致的。这个问题我查看了很多方式去解决改这个改那个,禁用其他驱动,拉集显进入黑名单但是都不太好使。在我们安装完Nvidia驱动之后,在Grub界面选择ubuntu那一行按E进入编辑模式。在quite splash 后面加入acpi_osi=linux。然后按F10启动就可以进入界面了。在进入到界面之后
sudo geditetc/default/grub
找到GRUB_CMDLINE_LINUX_DEFAULT=”quite splash”在quite splash 后面加入acpi_osi=linux。保存信息。网上还有一些其他方案会存在在引导时在quite splash后面加入nomodest参数(由于安装系统一般没有驱动,很多人调用集成显卡进入图形界面)。这种情况下系统会一直调用集成显卡,然后出现循环登陆或黑屏的情况。acpi_osi=linux则是告诉grub,电脑将以linux系统启动,调用其中的驱动,所以可以使用Nvidia的驱动进行显示了。
三、安装CUDA
(1)禁用nouveau和X服务,方法与上节一致
(2)从官网上下载cuda的runfile。我安装的是cuda-8.0.
(3)在终端模式下,找到下载的runfile所在的文件夹,进行安装
sudo sh cuda_8.0.61_375.26_linux.run
(4)在安装过程中会有多次提示,“是否安装nvidia driver”和“是否安装opengl”这两个选n。其他都选yes和default就好了。安装程序会自动将cuda安装在/usr/local的目录下。重启gui界面执行 。alt+crl+t
sudo service lightdm start
(5)设置环境变量,编辑~/.bashrc,在文末添加以下两句路径。具体文件名会因为版本问题只有一点点不同。9.0的cuda就把下面的路径把8改成9,其他都是一样的.更改后我们可以执行source~/.bashrc更新环境变量等。
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64:$LD_LIBRARY_PATH
(6)进行验证
进入~/NVIDIA_CUDA-8.0_Samples中找任何一个例子的文件夹,进入文件夹执行make。然后执行程序产生的执行文件。输出的result是pass说明安装成功了。
四、安装cudnn
(1)从官网developer.nvidia.com/rdp/ducnn-download下载cudnn,我刚开始下载的是5.1,但是后面在使用tensorflow-gpu时会报错,改使用cudnn6.0之后tensorflow正常运行了。
(2)进入到解压的cudnn文件夹中,一共是5个文件,分别复制到对应的cuda的文件夹中。指令如下
tar -xvf cudnn-8.0-linux-x64-v5.1.tgz
sudo cp cudnn.h /usr/local/cuda/include/
sudo cp lib*/usr/local/cuda/lib64/
并且更改复制过去的文件的权限
sudo chmod a+r/usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn
五、安装tensorflow
(1)看自身使用的python版本
sudo apt-get install python-pip
sudo apt-get install python3-pip
(2)为了使下载变快更改pip的镜像源.在根目录下建立文件夹.pip
sudo mkdir ~/.pip
sudo nano ~/.pip/pip.conf
(3) 在文件中写入
[global]
Index-url=https://镜像源的网站/simple
(4) 下载tensorflow
pip install tensorflow-gpu==1.4
(5)验证
python
import tensorflow as tf
如果不报错说明安完了
==每个人电脑情况不同,可能会或多或少出现其他问题,linux是对文件更改很敏感的系统,希望大家好运。
最后感恩CSDN上的大腿们,看了不少大腿们踩过的坑,引文之类的也懒得引了,总之,总算安完了,感恩。