0. 前言

坑爹的Ubuntu晚上运行还是好好的,第二天中午的时候打开机器发现屏幕分辨率不正常了:2K屏显示800*600左右的分辨率(无法调节),一个图标一拳头大,窗口和网页显示不全。Google查了一下发现可能是nvidia显卡驱动坏了(真的脆),照着几个博客搞了一下还尼玛进不去系统,一直循环登录了???之后又折腾了一整个下午,最后的结果是,重装显卡驱动一直失败:PPA装显示connect不上、run文件装显示build kernel module error。反正我也是不管什么奇怪的配置问题都能遇上,破系统破摔,正好没有Win10,重新装一个双系统。(本文安装配置过程仅作个人参考



1. U盘启动盘制作

1.1 系统下载

Win10的系统从MSDN下载,选择 consumer edition version 1803 x64:


Ubuntu从官网下载Desktop 16.04 LTS即可(貌似是比18.04稳定?)

1.2 制作启动盘

下载UltraISO,文件 -> 打开 -> 选中iso文件,启动 -> 写入硬盘镜像 -> 写入方式:USB-HDD+ -> 写入,制作完成。


2. 安装系统

2.1 安装顺序

这次双系统先安装Win10,之后再安装Ubuntu。主要有两个原因:


(上图来自鸟哥的Linux私房菜,几句话看得不是很懂,本科买的CSAPP还是得看起来了...)

其次,现在唯一的系统坏了,相当于是裸机,安装Win10之后方便后续的磁盘分区。

2.2 安装 Win10

因为主板是华硕的,好像新版的 UEFI 操作确实都比老的 Legacy 方便。先关闭 启动 这一项中的 安全启动(需要删除密码)和 快速启动,不是很清楚原理,但既然很多贴子都这么说,还是照做保险。再按 F8,选择 U盘 前带 EFI 的那一项,就能进入安装引导。接着引导会询问安装在哪一个分区,有的分区不能安装,这时候把所有的分区删了,合成一个大分区,之后可安装成功。之后进行分区,使用DiskGenius,分给C盘128G,D盘2T,剩下的分区用 Win10 自带的磁盘管理删除变为空闲空间,方便安装 Ubuntu 系统时辨别(中间无盘符区域为留给 Ubuntu 的空间):


2.3 安装 Ubuntu

同 Win10, 选择带 EFI 的 U盘启动项。选择 try Ubuntu without installing,可以先随便用一下系统,连接网络等,之后再在图形界面中选择安装 Ubuntu 16.04 LTS。注意不要勾选安装 Ubuntu 时 下载更新和安装第三方软件这两项,可能会导致安装最后的“执行安装后执行触发器 update-notifier-common”卡住(最后拔了网线才安装成功)。接着引导提示:已经安装了 Windows 10,此时勾选“其他选项”。

再之后是对系统分区,选中空闲区域,点击 + 号,根据我的环境,空间分配如下:


安装启动引导器的设备:/boot 所在的分区,点击“现在安装”。最后坐等安装完成,重启,拔 U盘。有的博客还有用 EasyBCD 在 Win10 里面添 Ubuntu 引导,但我重启之后发现已经可以在两个系统之间(Ubuntu、Windows Boot Manager)切换了,华硕主板(UEFI)的特点?反正目的达到了,至此双系统安装完毕。


3. 安装 Ubuntu NVIDIA 显卡驱动

(司马显卡驱动)

3.1 下载 run 文件

不建议通过 ppa源 安装,因为你无法配置具体选项且成功后需要经常手动更新驱动。

官网选好分类之后下载 run 文件,并将其复制到英文目录下,因为切换到 tty 下之后,中文全都变成实心方块,辨认不出目录。


3.2 卸载旧驱动

没有安装过 NVIDIA 驱动的主机可以省略:

sudo apt-get remove --purge nvidia*
# 卸载对应版本号
sudo ././NVIDIA-Linux-x86_64-390.48.run --uninstall

3.3 安装各种依赖

不是很清楚,反正照着安装就vans了

sudo apt-get update
sudo apt-get install dkms build-essential linux-headers-generic
sudo apt-get install gcc-multilib xorg-dev
sudo apt-get install freeglut3-dev libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

3.4 禁用 nouveau

应该是将 ubuntu 自带的显卡驱动加入黑名单?

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
# 添加以下代码:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
# 保存
# 禁用nouveau 内核模块
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs -u
reboot # 重启
lsmod |grep nouveau # 无显示则成功,驱动没了桌面分辨率会比较大

3.5 关闭 secure boot、fast boot

安装系统时已经关闭

3.6 在 tty 中安装显卡驱动

按 Ctrl+Alt+F1 进入 tty1,输入用户名、密码(无回显),之后暂停图像输出服务:

sudo service lightdm stop
# 安装驱动
chmod a+x NVIDIA-Linux-x86_64-390.87.run
sudo ./NVIDIA-Linux-x86_64-390.97.run --dkms --no-opengl-files

之后出现的 pre-script failed 是确保用户真的要安装驱动,属实睿智。接着 dkms 选 yes,32 位兼容选 yes,x-org 选 no。最后居然没有出错,我哭了,前面被各种 build error 搞出心里阴影了。

sudo service lightdm start # 重启服务
nvidia-smi # 输出 GPU 信息代表安装成功

4. 配置 cuda 和 cudnn

4.1 配置 cuda

由于项目需要且目前深度学习框架都支持了 cuda9.0,因此从官网下载 cuda9.0 的 run 文件安装,下载完成后输入:

sudo sh cuda_9.0.176_384.81_linux.run

输入 accept 之后开始安装,依次选择不装驱动、安装 cuda、建立链接、不装 sample。

添加路径:

sudo gedit ~/.bashrc
# 添加下面三行
# add for cuda9.0
export PATH="/usr/local/cuda-9.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH"
source ~/.bashrc
nvcc -V # 查看 cuda 是否安装成功

4.2 配置 cudnn

安装cudnn比较容易,同样从官网下载(需注册账号)。下载 cuDNN v7.1.4 Library for Linux,完成后选择提取到此处,得到一个 cuda 文件夹。执行以下命令:

sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

之前看到很多博客在这步之后都添加了软链接,不是很理解。后来发现上面命令中第二步就是将 lib64 文件夹中的文件复制到 /usr 目录下,而在 lib64 中的三个 libcudnn.so 文件,其中两个都是软链接,只有 libcudnn.so.7.1.4 是最终的的文件:


而复制到 /usr 下的三个 so 文件已经没有了这种链接关系(可能是cuda文件夹也是软链接的原因?),因此需要 rm 之后重建:

sudo rm libcudnn.so libcudnn.so.7
sudo ln -s libcudnn.so.7.1.4 libcudnn.so.7
sudo ln -s libcudnn.so.7 libcudnn.so

5. 安装 anaconda

官网上只有 Python 3.7 版本的了,但是以前安装的库好像都是说在3.6的环境下测试的。对于怎么下载之前的版本,网站是这么说的:

There are three ways to get Anaconda with Python 3.5 or 3.6:

  • We recommend that you download the latest version of Anaconda and then make a Python 3.5 (or 3.6) environment.
  • Or download the latest version of Anaconda and run the following command to install Python 3.5 (or 3.6) in the root environment: conda install python=3.5 or conda install python=3.6
  • Or download the most recent Anaconda installer that included Python 3.5 (Anaconda 4.2.0) or Python 3.6 (Anaconda 5.2.0).

感觉前两条说的挺有道理,我信了,还是下载新版。不过官网下的速度很慢,可以在 Win10 下用迅雷下载 Linux 版,再拷过来安装。
运行bash Anaconda3-5.3.0-Linux-x86_64.sh即可。
再之后的 TensorFlow 和 PyTorch,都是一条命令完成。


6. 其他

有关 Linux 软件安装目录:

Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的

/usr:系统级的目录,可以理解为 C:/Windows/,/usr/lib 理解为 C:/Windows/System32。
/usr/local:用户级的程序目录,可以理解为 C:/Progrem Files/ 。用户自己编译的软件默认会安装到这个目录下。
/opt:用户级的程序目录,可以理解为 D:/Software,opt 有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接 rm -rf 掉即可。在硬盘容量不够时,也可将 /opt 单独挂载到其他磁盘上使用。

源码放哪里?
/usr/src:系统级的源码目录。
/usr/local/src:用户级的源码目录。


7. 总结

一趟下来不容易,重装系统和重配环境之后,感觉比以前清白了一点,毕竟第一次装双系统。但也知道了自己有更多不懂的东西,比如装系统时的磁盘管理,uefi、grub、lagacy等各种名词,Linux 系统的整体了解等等,还是计组没学好的锅。不过因为是一步步采坑搭起来的,感觉现在这个系统更亲切了,就算以后再出问题也不会慌了


参考资料:

  1. https://blog.csdn.net/V_code/article/details/64199525
  2. https://blog.csdn.net/fesdgasdgasdg/article/details/54183577
  3. https://blog.csdn.net/u014561933/article/details/79958017
  4. https://blog.csdn.net/aqxin/article/details/48324377

转载于:https://www.cnblogs.com/southtonorth/p/9784344.html

安装 Win10 Ubuntu 16.04 双系统以及 Ubuntu 配置深度学习环境记录相关推荐

  1. linux nvidia 361.run,Ubuntu 16.04+Nvidia GTX 1080+CUDA8.0 深度学习环境配置

    GTX1080主机准备好之后,就是配置深度学习环境了,这里选择了比较熟悉Ubuntu系统,不过是最新的Ubuntu 16.04版本,另外在Nvidia GTX1080的基础上安装相关GPU驱动,外加C ...

  2. Ubuntu 20.04 LTS/RTX30XX显卡 快速配置深度学习环境(一行命令)

    近日,新入一台RTX3080的服务器,目前好像还没办法很方便地在 RTX 30 系列 GPU上通过 pip/conda 安装 TensorFlow 或 PyTorch.因为这些 GPU 需要 CUDA ...

  3. thinkpad装linux双系统,ThinkPad T460P 安装 Win10 Ubuntu 16.04 双系统

    二.[制作Ubuntu 16.04启动盘] 1.因为是个人使用且不是用作服务器,为了系统安全起见,推荐到Ubuntu官网下载Ubuntu 16.04 桌面版. 本人下载的版本为ubuntu-16.04 ...

  4. w10安装ubuntu_Win10 + Ubuntu 16.04双系统完美安装教程【详细】

    务必记得备份自己的数据,数据无价!!! 电脑型号:Thinkpad E550 固态装了win10,机械硬盘打算装Ubuntu16.04 固态硬盘格式MBR,机械硬盘格式GPT 一.制作U启动盘 1.下 ...

  5. 联想小新锐7000安装win10和ubuntu18.04双系统踩坑

    联想小新锐7000安装win10和ubuntu18.04双系统 转载注明出处:https://blog.csdn.net/xbean1028/article/details/89527311 联想小新 ...

  6. Win10 下安装Ubuntu 16.04双系统详解

    Win10 环境下安装Ubuntu 16.04过程记录 步骤1:下载镜像文件 从Ubuntu官网https://www.ubuntu.com/download/server下载系统的iso镜像文件 , ...

  7. 华为Matebook 13安装win10+ubuntu 16.04双系统

    因为原来的笔记本内存相对小一些,用的时间也很长了,在运行Windows和一些软件的时候经常卡顿,所以有了换电脑的想法,然后就看了市面上的一些电脑,出于华为matebook 13比较便携,有较高的屏幕素 ...

  8. 新手在SSD+HDD上安装win10、Ubuntu 16.04双系统

    本人在老笔记本和新台式上都装过双系统.每次都是花了一天功夫.所以写下本文一是为了让大家能够有个借鉴,二是为我自己存个档. 装双系统首先要知道自己的电脑是什么情况,不同情况会有略微差别.我一开始就是因为 ...

  9. 《Win10 下安装Ubuntu 16.04双系统详解》与《 U盘安装windows系统详解》

    <Win10下安装Ubuntu16.04双系统 >与<U盘安装windows系统详解> 本文由博主经过查阅网上资料后亲自操作实验后记录编写,如存在不对之处请留言以便更正,内容仅 ...

最新文章

  1. Ilist与List的区别
  2. 程序员最害怕的5件事,你中招了吗?
  3. 华为访问列表traffic-policy案例
  4. 子元素相对于父元素垂直居中对齐
  5. [恢]hdu 1846
  6. 《neuralnetworks and deeplearning》学习笔记1-深入理解BP算法
  7. ANSI C标准预定义宏
  8. 使用实体框架核心创建简单的审计跟踪
  9. Oracle 无备份情况下的恢复--控制文件/数据文件
  10. VC++调试方法和技巧
  11. android listview多视图嵌套多视图
  12. python同时执行多个py文件_【经验分享】如何同时运行多个python脚本
  13. 分区助手服务器,分区助手专业版
  14. DFRobot for Arduino 中级套件
  15. 软件以人为本5 - 敏捷3 - 拯救每日立会2
  16. C语言 条件运算符的用法
  17. java基础jdk,jre,jvm作业-答案
  18. python javascript人工智能_Python,Java和JavaScript哪个编程语言未来发展空间更大?...
  19. 中国节水灌溉设备产业运行分析与投资前景规划报告2022年版
  20. CS和IP寄存器的作用及执行分析

热门文章

  1. Delphi 10.2.3发布
  2. TextRank算法可以用来从文本中提取关键词和摘要(重要的句子)
  3. ext4 关闭延迟分配
  4. 百度网盘爬虫(如何爬取百度网盘)
  5. tomcat配置虚拟目录的方法
  6. VO(DTO)模式在架构设计中是否需要
  7. java对菜单项的监听_我是新手,请问大神java菜单项和下拉列表添加监听和监听方法???有变量和方法就行了...
  8. 基于tcp的网络程序_【CVPR 2020 Tutorial】基于神经网络的符号化视觉推理和程序合成(2)...
  9. 百度关键词抓取工具_阿里巴巴国际站运营关键词抓取工具
  10. xps15u盘装linux,Dell XPS 15 9560 安装 Ubuntu 18.04