祥磊部落

随机出现的你

UEFI、GPT、UEFI boot 以及UEFI boot WIN7&8的安装

UEFI的概念

UEFI是跟BIOS平行的一个概念,是传统BIOS的替代品,UEFI更先进,能让OEM开发固件更省事,也能让硬件在OS没有加载前能够更好的被利用,从而提升用户在Pre OS界面中的体验,拓展这部分的功能等等。

 

类似于传统BIOS支持的磁盘格式是MBR,UEFI也有自己支持的一种磁盘格式,叫做“GUID分区表”,英文缩写为GPT。

 

GPT的概念

跟MBR一样,GPT也是组织磁盘物理存储区域一种形式。GPT的优点很多,例如支持超大容量的硬盘,可以支持上百个分区等等。而传统MBR的磁盘就只能支持到2.2T的硬盘,以及4个分区。

 

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,必须存放在这个路径中:“\EFI\Boot”,文件命名也有规矩,叫:BOOT{架构名}.EFI,对于64位PC来说,架构名是“x64”。其他的,比如intel的安腾架构的电脑,则架构名为“IA64”。所以,对于普通电脑来说,UEFI引导文件是“\EFI\Boot\Bootx64.efi”。

 

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磁盘,至少要包含三个分区。按照分区的物理位置,划分如下:

 

《UEFI、GPT、UEFI boot 以及UEFI boot WIN7&8的安装 》

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。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据