UEFI启动、uefi gpt下装win7系统及修复启动文件

UEFI启动、uefi gpt下装win7系统及修复启动文件

一、名词解释

1、UEFI,全称Unified Extensible Firmware Interface,即“统一的可扩展固件接口”,是一种详细描述全新类型接口的标准,是适用于电脑的标准固件接口,旨在代替BIOS(基本输入/输出系统)。此标准由UEFI联盟中的140多个技术公司共同创建,其中包括微软公司。UEFI旨在提高软件互操作性和解决BIOS的局限性。而Windows 8在发布之初就对外宣布全面支持UEFI,这也促使了众多主板厂商纷纷转投UEFI,并将此作为主板的标准配置之一。

  1. GPT分区表:GPT,全局唯一标识分区表(GUID Partition Table),与MBR最大4个分区表项的限制相比,GPT对分区数量没有限制,但Windows最大仅支持128个GPT分区,GPT可管理硬盘大小达到了18EB(MBR分区表不支持容量大于2.2TB的硬盘)。只有基于UEFI平台的主板才支持GPT分区引导启动。
  2. ESP分区:EFI system partition,该分区用于采用了EFI BIOS的电脑系统,用来启动操作系统。分区内存放引导管理程序、驱动程序、系统维护工具等。如果电脑采用了EFI系统,或当前磁盘用于在EFI平台上启动操作系统,则应建议ESP分区。
  3. MSR分区:即微软保留分区,是GPT磁盘上用于保留空间以备用的分区,例如在将磁盘转换为动态磁盘时需要使用这些分区空间。

注意:uefi系统下,Windows只能安装在GPT磁盘,而且系统必须是64位系统。

二、UEFI+GPT模式引导windows系统原理

UEFI+GPT模式引导windows系统时,并不需要mbr主引导记录,也不需要活动分区,只需要你一个存放了引导启动文件的fat格式分区就可以了,这个fat分区当然也可以是U盘等外接USB设备了。

UEFI BIOS引导windows系统时,是通过一个FAT格式分区下的bootmgfw.efi文件来引导efi下的BCD文件(\efi\Microsoft\boot\BCD),然后BCD文件根据自身的配置内容加载系统引导文件winload.efi(一般为c:\windows\system32\winload.efi)。

启动顺序:UEFIBIOS→EFI系统分区→\efi\Microsoft\boot\bootmgfw.efi→efi\Microsoft\BCD→\Windows\system32\winload.efi

ESP分区分析:

  1. a)  ESP分区中的 \EFI\Boot\bootx64.efi 是计算机默认引导,即该文件若存在,计算机默认启动项(硬盘启动)即可使用;
  2. b)  ESP分区中的 \EFI\Microsoft\Boot\bootmgfw.efi 是Windows默认引导文件,当该文件存在,且ESP分区中的所有目录设置正确、efi存在时,Windows Boot Manager启动项才可使用。

ESP分区目录树结构如下图:

PS:

对于Windows来说,bootx64.efi和C:\Windows\Boot\EFI里面的bootmgfw.efi是内容相同但文件名字不同的两个文件,因此bootx64.efi可以通过正常系统下的C:\Windows\Boot\EFI\bootmgfw.efi重命名为bootx64.efi获得。

三、安装win7详解

(一)准备安装U盘

1、制作好Win7系统U盘(U盘必须是FAT32格式),可用空间-推荐5G,最低要求,能放下win7 镜像解压出的所有文件。

2、将win7 x64镜像(最好是微软原版)中的所有文件复制到u盘根目录。

3、在Win8.1/Win10系统中找到bootmgfw.efi文件,并重命名为bootx64.efi,放到U盘\EFI\BOOT中,没有boot文件夹就新建一个,bootmgfw.efi文件的位置在C:\Windows\boot\efi文件夹中。

对于某些稍老的电脑,可能对UEFI支持不是很好,可以通过加载EFI Shell的方式进行安装。此时需要在U盘中加入更多支持文件,除了刚才说过的bootmgfw.efi,还有shell.efi,把它加在根目录就好。

(二)、启动设置

如果你的BIOS里有这些选项请设置如下:

Secure Boot 设置为Disabled【禁用启动安全检查,这个最重要】

OS Optimized设置为Others或Disabled【系统类型设置】

CSM(Compatibility Support Module) Support设置为Yes或Enabled

UEFI/Legacy Boot选项选择成Both

UEFI/Legacy Boot Priority选择成UEFI First

(三)硬盘分区

1、进入pe系统之后,双击桌面上的【DG分区工具】,右键选择硬盘,点击【快速分区】;

2、分区表类型选择【GUID】,也就是GPT,然后设置分区数目,设置系统盘的大小,固态硬盘还需勾选【对齐分区到此扇区】,数字默认即可,确定;

3、之后执行硬盘分区以及格式化过程,分区之后如图所示,gpt分区表会有ESP、MSR两个额外分区;

(四)、uefi gpt安装ghost win7系统步骤(以下过程我没有遇到,直接U盘启动就到安装的过程了)。

1、在BIOS中找到从文件加载EFI Shell或类似选项,如下图 ——

2、在Shell启动后,尝试用fs0:/fs1:/fs2:等“盘符”查找U盘, 方法为每进入一个盘符(例如按下fs1:后回车),就用LS命令(类似于dir)查看该盘内容,确定后执行bootmgfw.efi启动安装程序,如下图 ——

之后安装过程就和之前没有区别了。需要注意的是,使用UEFI安装Win7必须使用GPT分区。

四、引导修复

使用BOOTICE工具来修复引导
此工具不是专门用来修复引导的,其功能很是强大,这里只讲如何借助它修复引导
这里我以修复UEFI+GPT模式下win8和win10双系统引导为例说明,Legacy+MBR类似
运行BOOTICE后,切换到“BCD编辑”,然后“新建BCD”

新建BCD,文件名为:BCD

然后点击“查看/修改”

点击“添加”,选择“windows vista/7/2008”(这是NT6.x架构系统,当然win8/10也适用)

点击“添加”后,如下图为默认的初始BCD内容,在此基础上,我们进行win8+win10 BCD的修改

按照下图说明进行各项修改,启动文件winload.efi为UEFI+GPT启动文件,如果是修复Legacy+MBR启动文件,此处应为winload.exe
修改后,点击“保存到当前系统设置”,这样,win8的BCD内容就添加完成了

接下来,我们按照上面的方法再次添加win10的BCD信息,修改好之后,保存当前系统设置,win10的BCD信息就添加好了;然后再点击“保存全局设置”,这样,win8和win10的引导信息就会保存到我们创建的这个BCD文件中了,如下图:

创建好BCD文件后,我们只需在PE下将这个BCD替换到相应的目录下就可以完成引导修复了。上面我们是以UEFI+GPT模式举例的,随意此处BCD替换文件的目录为ESP/EFI这个fat分区:efi\Microsoft\BCD
如果是Legacy+MBR模式,若磁盘有一个隐藏的活动主分区,我们需要先给这个隐藏的主分区添加盘符(PE下磁盘管理添加盘符或借助DG工具添加),然后将该BCD文件替换到这个活动主分区:\Boot\BCD

方法二,同样适用于单系统BCD文件的修改;也可以不新建BCD文件,直接对系统中的BCD文件进行修改,就省去了替换BCD的步骤,如下:

之后的步骤跟上面一样。

Author: 睽睽

发表评论