admin管理员组

文章数量:1567747

2024年6月23日发(作者:)

UEFI与LegacyBIOS两种启动模式详解

UEFI与Legacy BIOS两种启动模式详解

(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的恢复分区,体积也很小。所以千万不要把这三

个分区删了。

因此第一个关键问题就是确定自己的启动模式,方法是进入BIOS,

然后你会发现有一项叫"boot mode",选中"UEFI boot"就是UEFI启

动模式,选中"Legacy boot"就是Legacy启动模式。

(2)、UEFI启动模式只支持64位的系统,所以预装的win8是64

位的,Ubuntu(乌班图)

是一个以桌面应用为主的Linux操作系统,也需要64位的。

(3)、UEFI BIOS 和Legacy BIOS

我们都知道可以在传统的bios中调整设备的启动优先级,UEFI

BIOS在UEFI启动模式下不但可以调整设备的优先级,还可以调整设

备中引导程序的优先级,安装完ubuntu之后,你再进BIOS就会发现

多了一个可选择的启动项叫ubuntu。此外,UEFI BIOS也引入了一些

新的技术,例如Fast boot和secure boot,当然后面一项完全是用来

坑爹的。

(4)、UEFI启动模式下如何从u盘或移动硬盘引导

只要u盘或移动硬盘上有一个fat32的分区,分区的根目录下有

个文件夹叫EFI,UEFI 就会自动去查找相应的启动文件(.efi)

如果你刚制作了ubuntu(kylin)-13.04-64位的启动u盘,可以打

开它,你会发现分区的文件系统是fat32,确实有一个EFI文件夹,进

去看看就是各种.efi引导文件(这里再次强调64位,32位下你是找不

到这个文件夹的)。因此现在想制作可启动的u盘或移动硬盘就简单

了,只需要复制粘贴就行了。

Legacy BIOS Boot 是如何启动或引导的

当系统首次引导时,或系统被重置时,处理器会执行一个位于已

知位置处的代码。这个位置在基本输入/ 输出系统(BIOS)中。CPU

会调用这个重置向量来启动一个位于闪存/ROM 中的已知地址处的程

序。通常,它执行一个启动自测(POST)来检查机器。最后,它从引

导驱动器上的主引导记录(MBR)加载第一个扇区。

引导程序就位于MBR 第一个扇区里面。此时引导程序就被装入

RAM 并执行。这个引导加载程序在大小上小于512 字节(一个扇区)。

BIOS 自检完成之后,将MBR 的代码读入内存,管理权交给MBR ,

MBR 再读取DPT,从DPT (Disk Partition Table,硬盘分区表占据

MBR 扇区的64个字节(偏移01BEH--偏移01FDH))找出硬盘的所有

分区哪一个是激活的主分区。到这里为止,所有系统都是一样的。下

面就有区别了。DPT读完找

到主分区之后然后找到这个主分区的PBR(Partition Boot

Record分区引导记录),PBR位于激活主分区的第一个扇区。安装不

同操作系统的时候PBR 是会被改变的,XP 的PBR 写死的代码是去找

NTLDR 。而Vista 和7 的PBR 里写进的就是去找Bootmgr。

这个时候显示器上还没有显示引导管理器的界面。Bootmgr被找

到之后管理权就交到了Bootmgr。Boot Manager 首先从BCD 中读

取Boot Manager 菜单的语言版本信息,然后再调用BOOTMGR 与

相应语言的 组成相应语言的启动菜单,之后才会

在显示器上显示引导管理器,也就是选择多操作系统的那个文字界面。

最后,当你选择了相应的操作系统,这里是Win7 或8 (如果选择XP,

会转入XP 的启动流程,找到XP 的NTLDR 然后启动),Bootmgr就

去寻找系统分区(系统分区和主分区的概念不是一样的哦)

Windows/System32 下的 加载操作系统内核。

EFI Boot 介绍

EFI 的全称是可扩展固件接口(Extensible Firmware Interface),

它是Intel 公司为全新类型的固件体系结构、接口和服务提出的建议性

标准。该标准有两个主要用途:向操作系统的引导程序和某些在计算

机初始化时运行的应用程序提供一套标准的运行环境;为操作系统提

供一套与固件通讯的交互协议。

简单说,EFI 是BIOS 的替代者。它为操作系统和固件提供了更加

强大、安全、方便的交互途径。EFI 规范定义的接口,包括数据表包含

平台的信息,可在OS Loader 和OS 的启动和运行时服务。

EFI 固件提供了几种技术优势:

引导能力支持大容量磁盘(超过2 TIB );

更快的启动;

独立CPU 的体系结构;

CPU 的独立的驱动程序;

灵活的预操作系统环境,包括网络功能;

模块化设计;

EFI 启动还需要一个特殊的分区表,该分区表指向一个特殊的文件。

通常情况下该文件位于EFI 路径,EFI 启动涉及到一个写入到

firmware 中的boot loader, EFI 并不把启动程序放置在MBR 中,

firmware 知道如何读取分区表以及FAT 的文件格式。EFI 系统分区是

用FAT 格式格式化的特定分区,其中包含boot loader, 该boot loader

是EFI 可执行程序,可被EFI boot manager 载入和运行。

Boot loader 被设置为一个可以通过固件访问的文件。Boot

loader 允许用户选择并加载操作系统。所有的boot manager 都包含

一个EFI 变量,该变量被用来定义固件配置参数。

MBR 与GPT

MBR:主引导记录(Master Boot Record,缩写:MBR),又

叫做主引导扇区,是计算机开机后访问硬盘时所必须要读取的首个扇

区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。

主引导扇区记录着硬盘本身的相关信息以及硬盘各个分区的大小

及位置信息,是数据信息的重要入口。如果它受到破坏,硬盘上的基

本数据结构信息将会丢失,需要用繁琐的方式试探性的重建数据结构

信息后才可能重新访问原先的数据。主引导扇区内的信息是通过分区

程序写入的,它是低级格式化的产物,和操作系统没有任何关系(操

作系统是创建在高级格式化的硬盘分区之上,是和一定的文件系统相

联系的)。

对于硬盘而言,一个扇区可能的字节数为128×2n (n=0,1,2,3)。

大多情况下,取n=2,即一个扇区(sector)的大小为512 字节。

MBR 的限制:

在MBR 分区表中最多 4 个主分区或者 3 个主分区+1 个扩展分

区:从主引导记录的结构可以知道,它仅仅包含一个64 个字节的硬盘

分区表。由于每个分区信息需要16 个字节,所以对于采用MBR 型分

区结构的硬盘,最多只能识别 4 个主要分区(Primary partition)。

MBR 分区方案无法支持超过2TB 容量的磁盘。因为这一方案用4

个字节存储分区的总扇区数,最大能表示 2 的32 次方的扇区个数,按

每扇区512 字节计算,每个分区最大不能超过2TB 。磁盘容量超过

2TB 以后,分区的起始位置也就无法表示了。

GPT:全局唯一标识分区表(GUID Partition Table,缩写:GPT)

是一个实体硬盘的分区结构。GUID 分区表(GPT) 是作为Extensible

Firmware Interface (EFI) 计划的一部分引入的。相对于PC 常用的较

旧的主引导记录(MBR) 分区方案,GPT 提供了更加灵活的磁盘分区机

制。

GPT 使用GUID 分区表(GPT) 磁盘分区系统。

GPT 磁盘提供了以下好处:

最多允许128 个分区;主引导记录(MBR) 磁盘可以支持4 个主分

区和扩展分区内的124 个附加分区。

允许大于2 TB 的卷容量,而 2 TB 是MBR 磁盘的极限。

由于分区表提供了复制和循环冗余校检(CRC) 保护,所以更加可

靠。

能在所有基于x64 平台上用作存储卷,包括运行Windows XP

Professional x64 Edition 的平台。从Windows Server 2003 SP1 开

始,GPT 磁盘也可用作基于x86 的Windows 平台上的存储卷。

可用作基于x64 的Windows 7、Windows Vista 和Windows

Server 2008 版本上的引导卷。从Windows Server 2003 SP1 开始,

GPT 磁盘也可用作基于Itanium 的系统上的引导卷。

注意:Windows 仅支持从包含Unified Extensible Firmware

Interface (UEFI) 引导固件的系统上的GPT 磁盘引导。

注:哪些系统支持UEFI 启动?为什么当前我们不能支持32bit 的

win8 UEFI 启动?

目前我们的BIOS 的Build 生成是x64 模式的,因此32 位的Win8

UEFI 是不被支持的。总结:UEFI是新式的BIOS,legacy是传统BIOS。

你在UEFI模式下安装的系统,只能用UEFI模式引导;同理,如果你

是在Legacy模式下安装的系统,也只能在legacy模式下进系统。

UEFI只支持64为系统且磁盘分区必须为GPT模式,传统BIOS使用

INT13中断读取磁盘,每次只能读64KB,非常低效,而UEFI每次可

以读1MB,载入更快。此外,Win8,更是进一步优化了UEFI支持,

号称可以实现瞬时开机。

本文标签: 分区启动引导模式系统