2023年11月25日发(作者:)
学习笔记
UEFI、GPT、UEFI boot 以及UEFI boot WIN7&8的安装
1、 UEFI的概念
UEFI是跟BIOS平行的一个概念,是传统BIOS的替代品,UEFI更先进,能让OEM开
发固件更省事,也能让硬件在OS没有加载前能够更好的被利用,从而提升用户在Pre
OS界面中的体验,拓展这部分的功能等等。
类似于传统BIOS支持的磁盘格式是MBR,UEFI也有自己支持的一种磁盘格式,叫做
“GUID分区表”,英文缩写为GPT。
2、 GPT的概念
跟MBR一样,GPT也是组织磁盘物理存储区域一种形式。GPT的优点很多,例如支持
超大容量的硬盘,可以支持上百个分区等等。而传统MBR的磁盘就只能支持到2.2T
的硬盘,以及4个分区。
3、 UEFI Boot
UEFI Boot是指在UEFI模式下进行电脑的启动和操作系统的加载,而不是传统BIOS
启动电脑并加载OS的那套程序,二者在流程上有着根本的不同。虽然具体做了哪些事
情,仔细一看可能有不少类似的,但是差别还是很大的。
UEFI Boot有着自己的特点,同时也有自己的规矩。UEFI Boot的特点是,UEFI下可执
行的程序不仅可以放在CMOS里,也可以放在硬盘上。UEFI程序的运行,是基于一种
通用的驱动程序模型,使得UEFI程序几乎可以无限制的使用硬件资源,包括CPU资
源、内存、硬盘、网络等等,彻底摆脱了传统BIOS运行在16bit实模式的束缚。因此
UEFI程序的执行效率相对于传统BIOS也得到了大幅的提高。
UEFI boot的规矩简单说是这样,在GPT磁盘里,必须有一个EFI System Partition
(ESP),UEFI会在这个磁盘分区里找启动OS的引导程序。这个分区必须是FAT格
式的,所以一般都用FAT32来格式化。这个启动OS的引导程序,扩展名为EFI,必须
存放在这个路径中:“EFIBoot”,文件命名也有规矩,叫:BOOT{架构名}.EFI,对
于64位PC来说,架构名是“x64”。其他的,比如intel的安腾架构的电脑,则架构
名为“IA64”。所以,对于普通电脑来说,UEFI引导文件是
“”。
4、 UEFI boot WIN7&8的安装
Windows从win7开始支持UEFI Boot下的安装,并且安装好之后,操作系统便仅支持
从UEFI boot引导操作系统。
那么无论是windows的安装过程,还是今后的正常启动,以UEFI Boot方式运行,带
来的好处是能够加快系统的启动速度,在未来版本的windows中,还能够利用UEFI
的特性来实现更高的安全性等等。
UFEI之所以能够提供更快的启动速度,我觉得主要是源于以下几点:
a) UEFI运行在32/64bit模式下,而BIOS运行在16bit实模式下,效率不可同日而
语。16bit实模式只能使用64KB内存,而UEFI则几乎可以无限制的使用硬件资源。
b) UEFI与硬件打交道的能力比BIOS强很多,例如UEFI使用EFI Block I/O协议,
以块形式读数据,一次可以读1MB的数据,而实模式的BIOS通过int13读数据,
一次最多64KB。
c) UEFI启动的时候省略了一些BIOS启动所需的步骤??(不敢确定)
d) Win8的Boot Manager做了特殊的优化??(臆测)
那么除了满足以上几个以UEFI Boot的条件之外,windows对于GPT磁盘的管理也有
自己的一套规矩。
Windows下对于一个可启动的GPT磁盘,至少要包含三个分区。按照分区的物理位置,
划分如下:
System,就是之前提到的EFI System Partiton,简称ESP分区。这个分区必须是
FAT32格式,以便UEFI能够识别。别且这个分区里包含了Windows系统启动的EFI
程序以及其他windows的系统程序文件。这个分区最小为100M,可以更大无所谓。
MSR,则被称作Microsoft Reserved Partition,这个分区没有文件格式,在windows
系统里一般也不可见,主要用于兼容windows里面利用原MBR磁盘的隐藏扇区所实现
的各种功能。这个分区大小为128M,并且隐藏,用户不可对其内容进行操作。
再就是普通的分区了,但至少得有一个,用来存放windows操作系统。
所以,如果想用UEFI Boot方式引导安装windows,那么首先安装镜像的媒体里要有
能够被UEFI识别的启动程序,用来引导windows installer。而且媒体的分区必须是
FAT32。当然光盘除外,UEFI能够识别ISO 9960以及UDF格式的光盘。
需要注意的是Win7的安装镜像并没有默认就将UEFI Boot所需的引导文件准备好,需
要手工更改一下镜像才能够实现UEFI Boot。


发布评论