BIOS与UEFI
BIOS
BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。在IBM PC兼容系统上,是一种业界标准的固件接口。 [1] BIOS这个字眼是在1975年第一次由CP/M操作系统中出现。 [2] BIOS是个人电脑启动时加载的第一个软件。
- Pre-EFI初始化模块
- EFI驱动执行环境
- EFI驱动程序
- 兼容性支持模块(CSM)
- EFI高层应用
- GUID 磁盘分区
1 必须搞清的几个UEFI问题
(1) UEFI启动模式 与 legacy启动模式
legacy启动模式: 就是这么多年来PC一直在使用的启动方式(从MBR中加载启动程序),UEFI BIOS作为一种新的BIOS自然也应该兼容这种老的启动方式;
UEFI启动模式: UEFI
BIOS下新的启动技术。如果你的PC在UEFI启动模式下预装了Win8,你会发现有两个很小的隐藏分区。一个叫ESP(EFI系统分区),另一个MSR(Microsoft保留分区,通常为128MB)。MSR是windows要求的。ESP对UEFI启动模式很重要,UEFI的引导程序是以后缀名为.efi的文件存放在ESP分区中的,ESP分区采用fat32文件系统。此外,可能还存在一个小分区叫WinRE
Tools,这个是win8的恢复分区,体积也很小。所以千万不要手贱把这三个分区删了。但对我们有意义的是ESP分区,windows下想访问ESP分区需用分区工具给它分配盘符并取消隐藏;而Ubuntu则直接将这个分区挂载到/boot/efi,直接用文件夹浏览器进去就可以看到各种.efi文件了。
因此第一个关键问题就是确定自己的启动模式,方法是进入BIOS,然后你会发现有一项叫"boot mode",选中"UEFI
boot"就是UEFI启动模式,选中"Legacy boot"就是Legacy启动模式。
(2) UEFI启动模式只支持64位的系统,所以预装的win8是64位的,ubuntu(kylin)也需要64位的。
(3) UEFI BIOS 和 Legacy BIOS
我们都知道可以在传统的bios中调整设备的启动优先级,UEFI
BIOS在UEFI启动模式下不但可以调整设备的优先级,还可以调整设备中引导程序的优先级,安装完ubuntu之后,你再进BIOS就会发现多了一个可选择的启动项叫ubuntu。
(4) UEFI启动模式下如何从u盘或移动硬盘引导
只要u盘或移动硬盘上有一个fat32的分区,分区的根目录下有个文件夹叫EFI,UEFI就会自动去查找相应的启动文件(.efi)
如果你刚制作了ubuntu(kylin)-13.04-64位的启动u盘,可以打开它,你会发现分区的文件系统是fat32,确实有一个EFI文件夹,进去看看就是各种.efi引导文件(这里再次强调64位,32位下你是找不到这个文件夹的)。因此现在想制作可启动的u盘或移动硬盘就简单了,只需要复制粘贴就行了。
部分UEFI BIOS还支持从NTFS分区中查找启动文件。
Q:GPT与(U)EFI有何关系?
A:这点通过百科即可了解。GPT本来可算是(U)EFI的衍生品,但是两者并无绝对的彼此依赖关系。也就是说,在BIOS/MBR分区表使用(U)EFI,或者在GPT使用BIOS/MBR都是可能的。这点也是大多数初级接触的用户的误区,认为两者是共生关系,缺一不可,事实上却完全不是如此。
Q:操作系统对GPT的支持如何?
A:这点也可以通过查找百科了解。现有的主流操作系统皆可支持GPT。但是,我在这里要把所谓的支持分成两部分来说,一部分是对GPT作为数据盘的支持,一部分是对从GPT磁盘启动的支持。如果仅将GPT用作数据盘,几乎都不存在问题。如果要从GPT启动,对于Windows而言,由于其依赖(U)EFI,因此仅有64位的Windows可实现。而在Linux等非Windows系统,通常不存在此限制。
Q:GPT有何优势?
A:首先最明显的优势自然是对于大容量硬盘(2.2TB或者2.0TiB以上)的原生支持。现在虽然厂商各自针对大容量硬盘推出了在BIOS/MBR分区表的访问方案,不过总觉得有点别扭。
其次,GPT不存在扩展分区和逻辑分区,所有分区全都是主分区,且理论上可存在的主分区个数是无限的(大多数操作系统会将主分区个数限制为128个,此处可能有谬误)。由此带来的好处显而易见,不必纠结于分区个数的限制和扩展分区/逻辑分区和主分区的转换了。而且这两年分区工具日渐成熟,对GPT的支持也已经算是良好了。
第三,GPT的分区表在GPT头部和磁盘尾部各存一份,这种机制使得GPT的分区表不容易破坏或丢失,像我这样没有备份分区表习惯的人也不怕丢分区了。
Q:我没有(U)EFI主板,能否从GPT启动Windows?
A:事实上是可以的,不过需要Hackintosh的Clover EFI
Loader,这个Loader可以在不支持(U)EFI的主板模拟(U)EFI,从而骗过操作系统。只不过Clover似乎并不能单独提取出来,因此差不多只有需要Hackintosh和Windows双系统的用户才会用到。
Q:为何Linux/BSD等操作系统不需要(U)EFI即可从GPT启动?
A:仔细研究下GPT的组成结构就不难发现,GPT的第一个扇区是一份出于兼容考虑而保留的保护性MBR(PMBR)。有些操作系统从GPT启动依赖的就是这份PMBR,而不是(U)EFI。在涉及PMBR时,其操作和BIOS/MBR完全一样。因此,Linux/BSD等操作系统是“以传统MBR方式”从GPT启动的。
BIOS与UEFI的更多相关文章
- BIOS与UEFI、MBR和GPT介绍
操作步骤: UEFI是取代传统BIOS的,全称“统一的可扩展固件接口”.MBR则是传统的分区表类型,最大的缺点则是不支持容量大于2T的硬盘.GPT则弥补了MBR这个缺点,最大支持18EB的硬盘,是基于 ...
- 如何确定windows启动类型是bios还是uefi
原文地址:http://www.kqidong.com/bios/3728.html 如何确定windows启动类型是bios还是uefi?随着装机越来越简单,大家对安装系统充满信心,但是了解到启动类 ...
- BIOS + MBR > UEFI + GPT
BIOS + MBR > UEFI + GPT硬件接口系统与磁盘分区UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR. 名词解释: BIOS (Basic Input/Output S ...
- 操作系统的启动与引导问题 BIOS、UEFI、MBR、GPT
关于ISO.WIM.GHO三者的正确理解. ISO(Isolation)文件一般以ISO为扩展名,是复制光盘上全部信息而形成的镜像文件. WIM是英文Microsoft Windows Imaging ...
- BIOS/MBR UEFI/GPT关系与区别-资料整理
---恢复内容开始--- 关于 BIOS/MBR UEFI/GPT他们之间的关系一直比较疑惑, 首先一点前提 BIOS UEFI 是一类,是控制硬件,引导启动的:MBR GPT是硬盘的分区定义.. 后 ...
- 【我所认知的BIOS】—> uEFI AHCI Driver(8) — Pci.Read()
[我所认知的BIOS]-> uEFI AHCI Driver(8) - Pci.Read() LightSeed 6/19/2014 社会一直在变.不晓得是不是社会变的太苦开,而我没变所以我反而 ...
- Linux磁盘管理——BIOS和UEFI
参考:BIOS and UEFI - CompTIA A+ 220-901 - 1.1 BIOS and UEFI As Fast As Possible 严格上来说BIOS和UEFI除了在搜索boo ...
- BIOS、UEFI、Boot Loader都是些什么
BIOS.UEFI.Boot Loader都是些什么 目录 BIOS.UEFI.Boot Loader都是些什么 什么是BIOS 基本的输入输出是什么 自检程序"检"了什么 系统自 ...
- 【干货】BIOS、UEFI、MBR、GPT、GRUB 到底是什么意思?
公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 01 前言 在学习 Linux 系统启动原理之前,我们先了解下与操作系统启动相关的几个概念. 02 与操作系统启动相关的几个 ...
随机推荐
- Day8 - D - Multiplication Table CodeForces - 448D
Bizon the Champion isn't just charming, he also is very smart. While some of us were learning the mu ...
- 困惑我的x++和++x;
刚学习C语言时X++和++X非常不解 目前有了新的领悟 1.X++ int x=0; int z=x++; 此时z?x? 这个问题可以分两步思考 第一步:先把x的值赋予z,此时z=x=0; 第二步:x ...
- idea-plugin-easycode
1.背景 在练习使用mybatis-generator时候,无意间看到博文esaycode(代码神器),https://www.jianshu.com/p/e4192d7c6844,试验完,感觉这个工 ...
- 006、MySQL取当前系统时间
#取当前时间文本格式 SELECT curdate( ) , now( ); 效果如下图: 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:3824772 ...
- 虚拟机下安装Maven
1.首先需要下载maven安装包(我下载的是apache-maven-3.5.3版本) 官网下载:http://maven.apache.org/download.cgi 2.将压缩包放到虚拟机下(我 ...
- CPU各个具体的指标含义
CPU各个具体的指标含义解释如下: ①CPU(监测到的master主机上的CPU使用情况) 从图中看出,一共有五个关于CPU的指标.分别如下: 1. User User表示:CPU一共花了多少比例的时 ...
- 学习进度04(billbill长评数据提取01)
学习了python写入csv文件自己想了一个小实战,爬取billbill<白色相簿>番剧的长评 网页是动态变化的,往下拉他才会更新出长评,找出关键链接https://api.bilibil ...
- Golang函数-函数的基本概念
Golang函数-函数的基本概念 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.函数的概述 1>.函数定义语法格式 Go语言函数定义格式如下: func 函数名( 函数参 ...
- Kafka--windows下简单使用kafka命令
参考 https://www.cnblogs.com/cici20166/p/9426417.html 启动zookeeper 只需要保证有可用的zookeeper,可以使用kafka内置的,也可以自 ...
- 《Java面试全解析》1000道面试题大全详解(转)
<Java面试全解析>1000道 面试题大全详解 本人是 2009 年参加编程工作的,一路上在技术公司摸爬滚打,前几年一直在上海,待过的公司有 360 和游久游戏,因为自己家庭的原因,放弃 ...