配置深度学习主机与环境(TensorFlow+1080Ti) | 第二章 Win10&Ubuntu双系统与显卡驱动安装

网上安装双系统的教程不少,但多数教程所使用的硬件以现在的眼光看来显得有些过时;另外,其原有所使用的方法,对于新的硬件也不再合适。本教程写于2017年7月,希望能够给大家提供些许帮助,避免重走弯路。

目前安装双系统的主要基于两种构架:BIOS+MBR 和 UEFI+GPT,可以简单的理解为EFI是新一代的BIOS,GPT是新一代的分区方式。基本上目前市面上的新机器,都是以UEFI+GPT构架为主。需要注意的是,对于 UEFI固件,一般还是沿用之前的称呼:BIOS,在查询相关资料的时候需要注意,可能BIOS指的就是UEFI。

BIOS即Basic Input/Output System,翻成中文是“基本输入/输出系统”,是一种所谓的“固件”,负责在开机时做硬件启动和检测等工作,并且担任操作系统控制硬件时的中介角色。

新型UEFI,全称“统一的可扩展固件接口”(Unified Extensible Firmware Interface), 是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。

可扩展固件接口(Extensible Firmware Interface,EFI)是 Intel 为 PC 固件的体系结构、接口和服务提出的建议标准。其主要目的是为了提供一组在 OS 加载之前(启动前)在所有平台上一致的、正确指定的启动服务,被看做是有近20多年历史的 BIOS 的继任者。

GUID磁碟分割表(GUID Partition Table,缩写:GPT)其含义为“全局唯一标识磁盘分区表”,是一个实体硬盘的分区表的结构布局的标准。它是可拓展固件接口(EFI)标准的一部分,被用于替代BIOS系统中的一32bits来存储逻辑块地址和大小信息的主开机纪录(MBR)分区表。

通常使用BIOS+MBR构架的双系统需要使用EasyBCD软件来添加启动项,使用EFI并不需要,两种方法我都尝试过,最后当然选择UEFI+GPT,更新更简单。

01

安装前准备

U盘(最低8G),用于制作启动盘

Win10安装软件(http://go.microsoft.com/fwlink/?LinkId=691209)

选择第二项:立即下载工具

Ubuntu 16.04 LTS(长期支持)版本(http://cn.ubuntu.com/download/),建议使用16.04版本,以获取长期支持保持系统稳定。

02

BIOSS(UEFI)设置(系统性能)

此次BOIS设置为系统基本设置,主要和系统硬件性能相关。包括XMP内存超频设置,风扇管理设置,电源管理设置。总之,使系统能够在保正稳定的情况下,实现较高的性能和较为安静的运行。

UEFI设置

左一为X.M.P设置选项,通常只有一个文档可以选择,选择之后保存内存即可超频。

右上为主板性能选项,感觉是一个比较笼统的设置,可以先将这个选项设置为高性能,再设置X.M.P以免影响内存频率的设置。

右中为启动顺序选项,插入启动盘后会有多个选项,直接用鼠标拖拽排序即可更改启动顺序,SSD放在HDD之前。实际上HDD作为仓储盘,BIOS和系统安装过程中都不必任何操作。

右下为启动菜单选项,点开后会将所有可能的启动选项(分区)列出来,点击可以直接启动,所以不用设置启动顺序,需要启动哪个分区,直接点击即可。注意点击启动之前先保存之前更改的设置。

更多高级设置请参考主板说明书。

03

安装Windows10

Win10安装建议参考如下视频:

ZEALER:「TECHMAN」最详细的 Win10 系统安装教程 E01(http://www.zealer.com/post/816)

此次配置深度学习主机,以512G SSD为主存储空间,2T HDD作为仓储盘可以在Win10和Ubuntu之间共同使用(相当于一个移动硬盘),用来保存数据。

Win10与Ubuntu分别占用200G和312G SSD空间,两者内部均不再分区。

Win10安装之后可以自动更新相关硬件驱动,美滋滋。当然,最好再打开一下设备管理器查看是否所有的硬件都更新好驱动。

设备管理器

磁盘管理: 快捷键Win+X打开磁盘管理,或者右键单机“我的电脑”选择管理后,再选择磁盘管理。下图是我已经安装好Win10和Ubuntu之后的磁盘状态,可以看到两个EFI分区分别为Win10和Ubuntu的启动分区。Win10的EFI分区是自动分配的,Ubuntu需要自己设置,后面会详述。第一个“恢复分区”也是Win10安装时自动分配的。忽略“恢复分区”和“EFI系统分区”Win10实际上只有一个分区SSD-Win(C:)。

磁盘管理

下图(来自互联网,非作者自己系统的截图,仅用做说明)为只安装了Win10后应该呈现的磁盘管理状态,SSD中未被Win10(C、EFI、恢复)占用的部分,应该为黑色,标注为“未分配”状态。保持这个状态不要管,不要格式化,后续的Ubuntu将安装在这个“未分配”的分区。安装成功之后就会变成上图所示。

未安装Ubuntu时的分区(来自互联网)

04

BIOS(UEFI)设置(启动项)

第二次设置主要是关闭BIOS中的“安全启动”项,或“Security Boot”项。在传统BIOS界面中,可以比较顺利的关闭“安全启动”,相关方法可以在网上找到不少,自己仔细查看BIOS选项也可以找到。

但是华硕采用图形界面+鼠标的BIOS设置,在其选项中并没有明确列出来“安全启动”项,着实把我坑了几个小时。总之,如果不关闭“安全启动”项,Ubuntu系统中无法正常更新1080Ti的显卡驱动,并且会进入“循环登录”的状态。

具体设置如下:

1、Make sure the "OS Type" is "Windows UEFI"

2、Enter "Key Management"

3、Select "Clear Secure Boot keys" (You will have the option "Install default Secure Boot keys" to restore the default keys after you cleared the Secure Boot Keys)

4、After you cleared the Secure Boot Keys, Secure Boot will be automatically disabled. You can set the OS Type to Other OS now.

以上设置流程的参考视频来自Youtube(https://www.youtube.com/watch?v=tnOHi0w77bU),相对于视频中的EFI界面,华硕的BIOS好像又更新的UI,不过区别不大,具体如下:

进入BIOS中的高级设置界面,选择“启动”项设置

启动

关闭快速启动“Fast Boot”(这步应该需要有)

选择密钥管理,点击删除密钥

密钥管理

删除后显示安全启动状态关闭

安全启动状态关闭

关于BIOS安全启动关闭设置的相关资料如下:

华硕主板禁用UEFI安全启动(Disable Secure Boot for ASUS Motherboard)(http://blog.csdn.net/roach_zfq/article/details/53883976)

05

制作Ubuntu 16.04LTS启动盘

将ios文件直接解压到空U盘中即可,当然不放心的话也可以使用UltraISO软碟通(https://cn.ultraiso.net/xiazai.html)(试用即可)制作启动盘,实际上两者没差。具体文件如下,可以看到其中包含EFI文件夹:

Ubuntu.iso

06

安装Ubuntu 16.04LTS

1、打开BIOS,选择包含Ubuntu安装文件的U盘为启动项启动。具体在“2. BIOS(UEFI)设置(系统性能)”中有说明。

2、应该会先选择地区与语言,中英都可以。

3、是否选择“安装更新和第三方软件”,是否都行,但是选择是,需要确保联网,安装时间也会稍长,对系统不影响。

4、选择其他选项/Something Else,网上不少教程第一个选项都是“选择与其他系统共存”,在我的安装过程中并没有看到,当然反正不选这个。

选择 其他选项/Something Else

5、Ubuntu分区选项。下图为分区之后的状态,实际上除了蓝色方框中的部分,红色方框中在未操作的状态下为一整个unkonw分区,对应之前Windows磁盘管理中的黑色“未分配”部分,Ubuntu的所有分区(挂载)都将从这部分划分出来。

系统分区选项

双击这一部分,即可出现划分选项。或者单击“未分配”磁盘,点击+/加号,如下图所示(此图来自于网络,非作者系统截图):

分区设置

然后会出现分区选项,具体操作如下(此图来自于网络,非作者系统截图):

分区选项

1、swap交换空间,相当于Win中的虚拟内存,通常需要划分对应物理内存2倍的空间,考虑到深度学习主机内存一般都是32G、64G或者128G,所以选择忽略不划分,之后如有需要还可以在系统设置中添加swap部分。

2、EFI系统分区,选择分区类型为“逻辑分区”,分区位置为“空间起始位置”。分配大小为512M,足矣。

3、挂载“/”,类型为EXT4日志文件系统,选择“逻辑分区”和“空间起始位置”。根目录将挂载除了“/home”和“/usr”之外的其他目录,分配50G。

4、挂载“/usr”,类型为EXT4日志文件系统,选择“逻辑分区”和“空间起始位置”。“/usr”为Linux存放软件的地方,分配100G。

5、挂载“/home”,类型为EXT4日志文件系统,选择“逻辑分区”和“空间起始位置”。剩余120G左右空间全部分配给“/home”。

/home 用户的home目录所在地,这个分区的大小取决于有多少用户。如果是多用户共同使用一台电脑的话,这个分区是完全有必要的,况且根用户也可以很好地控制普通用户使用计算机,如对用户或者用户组实行硬盘限量使用,限制普通用户访问哪些文件等。 以往Linux系统主要是提供服务器使用,所以/home这个目录使用量并不高。但随著Linux的桌面应用发展,不少人也拿来在日常上使用,这时/home就变成存储媒体中,最占容量的目录。假如你安装Ubuntu主要是桌面应用,那你可能需要把最大的空间留给他。 额外分割出/home有个最大的好处,当你重新安装系统时,你不需要特别去备份你的个人文件,只要在安装时,选择不要格式化这个分区,重新挂载为/home就不会丢失你的数据。

还有一个特别的应用:假如你会在你的计算机上,安装两个或更多的Linux系统,你可以共享/home这个分区。简单地说,你的个人文件可以在切换到其它Linux系统时,仍正常使用

1、将“安装引导启动器的设备/Device for boot loader installation”设置为与Ubuntu的EFI分区所对应的部分,文中为p5,故设置为p5作为安装引导启动器的设备。

2、选择安装后可能会提醒没有选择swap分区,忽略,选择继续即可。

提醒未分配swap区

3、选择时区,设置相关用户名,密码,等待即可。注意密码不要设置太复杂,不然sudo命令输入密码很烦。

4、安装完毕之后应该会要求重启,重新启动即可。

5、重启之后即会出现EFI登录选项,可以选择Ubuntu或者Win10。如下图所示,如果没有出现的话,尝试在BIOS中将Ubuntu EFI作为第一启动项。至此,双系统安装成功。

GNU GRUB选项

07

更新显卡驱动(Ubuntu)

进入Ubuntu桌面系统后分辨率很奇怪,是正常的。因为系统默认使用了开源显卡驱动。且在分辨率设置中无法设置高分辨率,默认只有1024x768选项,如下图所示,主要是因为没有更新显卡驱动。

分辨率设置

打开设置,进入软件更新设置(Software&Updates)

Software&Updates

选择附加驱动,等待刷新

选择附加驱动

选择所列出来的可以更新的选项,选择应用改变(Apply Changes)即可。

再次进入分辨率设置界面,发现可以更改分辨率

分辨率设置

在终端中输入nvidia-smi,可以查询显卡驱动状态。

查询显卡驱动

08

参考资料

1、亲测UEFI启动模式的电脑安装Win10和Ubuntu双系统(http://blog.csdn.net/ysy950803/article/details/52643737)

2、Win10+Ubuntu16.04双系统安装(http://www.cnblogs.com/ziven/p/6384550.html)

原文发布于微信公众号 - 人工智能LeadAI(atleadai)

原文发表时间:2017-10-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏猛牛哥的博客

门罗币新挖矿软件的使用方法

8998
来自专栏用户3030674的专栏

Android sdk配置 常见问题及处理方法

Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml Fetched ...

572
来自专栏鬼谷君

maven搭建详解

1072
来自专栏技术翻译

使用Kubernetes和Docker将Spring Boot和MongoDB作为容器部署

对于本教程,您将拥有一个Dockerized示例spring-boot应用程序,该应用程序与MongoDB通信以获取GET / POST REST API并部署...

930
来自专栏北京马哥教育

CentOS系统启动流程你懂否

一、Linux内核的组成 相关概念: Linux系统的组成部分:内核+根文件系统 内核:进程管理、内存管理、网络协议栈、文件系统、驱动程序。 ...

3314
来自专栏Petrichor的专栏

文件层次结构

文件系统层次结构标准(英语:Filesystem Hierarchy Standard,FHS)定义了Linux操作系统中的主要目录及目录内容。在大多数情况下,...

1024
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装和配置mod_deflate

Mod_deflate是一个Apache模块,它允许在发送到客户端之前压缩Web服务器的输出。一旦您的网站内容的大小被压缩,其大小就会变小,客户端可以更快地下载...

810
来自专栏Vamei实验室

Linux开机启动(bootstrap)

计算机开机是一个神秘的过程。我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面。然而,计算机开机又是个异常脆弱的过程,我们满心期望的...

2008
来自专栏LinXunFeng的专栏

PyCharm中设置python3解释器

1303
来自专栏FreeBuf

一个人的武林:内网渗透测试思路(二)

写在前面 跟web渗透(上一篇)不同,内网渗透需要更多的随机性和突破口,情况较为复杂,遇到障碍,有时可以换种思路突破,很多时候则无奈的只能止步于此。下面分享一些...

2145

扫码关注云+社区