基于UEFI引导的win 和ubuntu 双系统安装方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于UEFI引导的和

双系统安装

1.前言

UEFI引导的出现乃至变得火热让系统安装的问题变得复杂,尤其是在windows横空出世并针对URFI优化更是让其与ubuntu组成的双系统安装变得情况百出(顺带哀悼下由此退出江湖的wubi安装)。

最近花了一天多的时间完成了与基于UEFI引导的安装,在过程中遇到了一些问题,理解了一些硬件和软件架构,摸索了一个不算完美的解决方案,在此整理,希望能够帮助到需要的人。

实验环境:

电脑——联想Y510P 支持UEFI启动,N卡

Windows——Windows 简体中文64位

Ubuntu——Ubuntukylin AMD64位

2.UEFI boot与Legacy boot

基本输入/ 输出系统(BIOS)是硬件和操作系统之间的一层。UEFI与Legacy都是系统引导的技术,都是实现电脑在硬件开机之后找到操作系统过程中的引导。

Legacy boot是传统的引导方式,其引导基于驱动器上的主引导记录(MBR)。通俗的解释,一次系统启动的流程为,硬件开启→BIOS自检→读入MBR→读取激活主分区→启动系统。一些蛋疼的人们认为Legacy boot有一些他们不能容忍的缺点:

1)无法直接引导超过的驱动器

2)缺乏安全性验证

3)启动时间慢

于是他们加强了BIOS的功能,设计了UEFI boot模式(仅针对64位系统),可以解决上述的问题,于是MBR被抛弃了,引进了一个新的引导分区EFI,采用全局唯一标识分区表GPT来引导分区,下图中可以在硬盘管理中看到EFI系统分区。

另一方面,UEFI boot也提供了驱动、系统信息的临时储存,用于加快开机。在引导的时候也提供了SecureBoot,禁止加载未知的系统(正中Windows下怀)。

UEFI boot与Legacy boot对于我们安装双系统的影响是两个系统需要使用同一引导模式。如果是按照UEFI引导的方式安装的,ubuntu也一定要是UEFI引导,反之亦然。而ubuntu 从开始就支持UEFI引导,版本越新,兼容性越好。

3.BIOS的设定与的安装

BIOS要做的事情只有两个,1、打开UEFI boot,2、禁用SecureBoot。一般前者的设置在BIOS-boot中,后者的设置在BIOS-secure中。

前者是保证我们装的系统走的是UEFI的引导,不需多说。后者因为如果使用了SecureBoot,会加密EFI分区,ubuntu作为一个未知的系统将无法安装无法引导。

设置完成后,可以在powershell中检查secureboot是否关闭(如果此时有win8系统运行的话),切记要以管理员运行,出现下图的false代表成功。

如果要是出现下图的情况,您可以不用按照这个教程来做,您的电脑不支持UEFI。

如果之前安装win8没有使用UEFI引导或者想重新安装,此时可以按照正常方式安装,不再赘述。安装中或者安装完运行磁盘分区,给即将安装的ubuntu预留磁盘容量(文件系统也就是/挂载建议40G,/home个人兴趣,还要内存大小×2的swap交换分区)。在此为了方便在磁盘的尾部预留200G左右的空间。

分区可以在Win8安装中或者是管理-存储-磁盘管理中进行。

4.安装ubuntu

在调研中没有找到EasyBCD支持UEFI引导的说明,所以采用更方便的U盘安装,将ubuntukylin 64bit使用UltraISO软碟通刻录到U盘中,在BIOS设置从U盘启动。如果你看到了如下的经典的画面,此时ubuntu并没有按照UEFI的引导安装,需要检查设置。

如果看到的是这个画面,ubuntu是按照UEFI引导安装的,这也意味着不管怎么说,在ubuntu安装的时候需要一个EFI分区。如果ubuntu是唯一的操作系统,需要新建一个EFI

分区以供安装,像本文中的双系统法,ubuntu将会在安装中生成的EFI分区中添加信息。

对于N卡用户,也就是笔记本的显卡为NVIDIA,选择Install Ubuntu后有可能会进入黑屏的状态,原因是因为ubuntu不能很好的支持显卡的显示。因此需要实现添加信息,解决

方案为:

1)选择Install Ubuntu

2)按键盘e,进入启动命令行配置的编辑模式,在quite splash后面添加nomodeset 3)按F10重新启动

如此可以进入有显示的安装,需要特别指出的是,在安装成功后第一次进入系统的时候,也需要做同样的设置。进入系统之后修改grub中的默认启动项,作如下修改:sudo gedit /etc/default/grub

找到:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

改成:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

保存退出后执行sudo update-grub来更新启动器。

如上可以解决N卡的显卡驱动问题,进入正常的安装界面。

但是会发现一个让人有点担心的现象,就是在系统选择的时候看不到已有的windows 系统,如下图所示(事后截图,所以已经有了)。

这个时候不要害怕,果断选择其他选项,手动分区,只要自己心中有数,不把windows 的启动分区弄坏就一定没问题,分区设置如图所示。

可以看到,因为之前装过,磁盘中已经有了一个efi分区,所以新建/、/home和swap 三个ubuntu需要的分区,每个分区给予相应的容量,然后果断点击现在安装,剩下正常安装不提。

安装完成重启,在grub引导选项中可以看到对应的信息。

第一个应该是默认版本的ubuntu,第二个是不同版本的ubuntu(估计考虑并非LTS版,肯定有多次更新),第三个就是我们熟悉的windows了也就是。

也就是说,ubuntu仅仅识别了windows boot manager,并没有进一步的往下识别是什么系统,所以在安装的时候没有检测到已有的。ps,此时进入ubuntu需要按照N卡显卡的方式添加nomodeset。

5.测试双系统

分别启动两个系统,通过windows boot manager可以正常启动,运行良好。本以为大功告成,可惜进入ubuntu的时候,图形界面X启动失败,提示如下:

No screens found,initx失败。不知道是为什么,在网上搜索也没有找到解决方案。如果有哪位大神能看到这个地方,跪求给予指点和帮助。

Ubuntu启动失败之后我决定用Legacy boot重新安装两个系统,于是我将BIOS设置成了Legacy Support,Legacy first,也就是先尝试Legacy boot,失败了再使用UEFI引导。

相关文档
最新文档