配置深度学习主机与环境(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 条评论
登录 后参与评论

相关文章

来自专栏大魏分享(微信公众号:david-share)

API管理对SOAP的集成&自定义开发者门户 | API Management学习第五篇

通常情况下,API管理对web API的集成,除了RESTful Web服务之外,还需要管理基于SOAP的Web服务。

1162
来自专栏木子昭的博客

迈出黑客第一步, 安装配置Kali虚拟机

? Kali Kali是一套用于安全渗透(黑客)的Linux发行版, 好处在于, 系统内置了大量的安全渗透方面的软件, 新手可以免于配置, 开...

3896
来自专栏zhisheng

HBase 集群监控

为什么需要监控? 为了保证系统的稳定性,可靠性,可运维性。 掌控集群的核心性能指标,了解集群的性能表现。 集群出现问题时及时报警,便于运维同学及时修复问题。 集...

4218
来自专栏about云

Flume+Kafka收集Docker容器内分布式日志应用实践

问题导读: 1、如何设计Flume+Kafka收集架构? 2、如何修改Docker内配置文件? 3、如何进行Flume配置? 4、如何定制RollingByTy...

54112
来自专栏IT大咖说

开源中国社区创始人红薯:J2Cache开源中国两级缓存实践

内容摘要 J2Cache 是开源中国开发的一个两级缓存框架,以高性能著称。那么它与同样是缓存框架的Ehcache和redis的区别在哪,又有哪些高性能的体现呢?...

3489
来自专栏源码之家

如何通过SSH更改Linux系统下文件(或文件夹)的拥有者

1433
来自专栏技术点滴

告别S! S! H! 秒杀终端工具——FastLogin快捷登录安装步骤功能测试卸载功能介绍

题记:自从接触到“跳板机”的概念后,一直就被烦不胜烦的机器名,ip地址,用户名,密码折腾的死去活来,心说能有个小精灵随时帮我输入那些重复的登录信息就好了。我见过...

861
来自专栏云计算与大数据

如何让云上的 Spring Cloud 应用配置管理舞动起来

在传统架构中,如果配置信息有变更,通常是登陆服务器手动修改配置来使配置生效。在微服务架构中,应用数和节点数由于微服务化数量激增,导致发布次数增加,配置变更难度加...

692
来自专栏大数据架构师专家

namp 渗透测试-安装篇

nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。

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

如何在CentOS 7上设置Jenkins以进行持续开发集成

合并代码、协调发布、确定构建状态、维护更新。如果你足够了解这些过程的挫败感,这些话本身就会让人头疼,你可能想看看Jenkins CI。

781

扫码关注云+社区