迅维网

传统Legacy BIOS和新型UEFI BIOS的引导过程分析

晨洋宝贝 2016-9-1 09:07

【迅维网原创文章,禁止转载】

  当前电脑的BIOS正处于Legacy BIOS向新型UEFI BIOS过渡的阶段,也可以说是最后阶段吧。而本站却有不少系统维护者仍然抱着老的知识不放,不了解最新的UEFI相关的知识,其实,目前市面(2012年以后)上出售的电脑产品已经没有老式BIOS了(最多是兼容、一些平板类上面已经彻底消失)。今天在这里简单重温老式BIOS和探讨新式UEFI BIOS的启动过程,和大家一起进步。

  首先是老式BIOS的启动过程:
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  LegacyBIOS→MBR→“活动的主分区”→\bootmgr→\Boot\BCD→\Windows\system32\winload.exe
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  这个大家应该很熟悉了,从DOS时代开始启动过程就是从位于硬盘第一扇区的主引导记录(mbr)开始。传统Legacy BIOS引导windows操作系统时,是通过一个活动的主分区下的bootmgr(启动管理器)文件导入根目录下boot文件夹里的BCD(启动设置数据)文件,然后BCD文件根据自身的配置内容加载系统启动文件winload.exe(位置:根目录\Windows\system32\winload.exe)来启动系统。
  MBR磁盘格式下,windows系统的启动文件(bootmgr、BCD)必须存放在活动的主分区内,这样才能正常引导系统启动(MBR磁盘分区格式下,只允许有一个主分区是激活状态,否则启动失败)。
  从WIN7以后(之前的XP/win98和DOS的引导过程基本没差别),如果是使用微软原版操作系统按照windows安装程序来进行全新的系统安装,系统会自动创建一个隐藏的活动主分区(分区类型是FAT16/32,win7貌似是100M大小,win8貌似是350M)用来存放启动文件;如果采用其他安装方式来安装系统,由于系统默认并不会自动创建这个活动的主分区,启动文件将会存放我们的系统盘里(类似DOS系统),所以我们在采用其它安装方式安装第一个系统时,需要确保安装系统的分区是活动的、而且是主分区,而安装第二个、第三个…系统时,就不必要求必须是主分区了,逻辑分区也可以,因为安装第二个、第三个…系统时,我们已经有了一个活动的主分区了(第一个系统所在的分区),这个活动的主分区下的BCD文件里已经包含了我们的第二个、第三个…系统的启动信息用来启动第二个、第三个…系统。
  通过上面的讲解,想必你已经能分析出来为啥在XP以前的时代ghost都是万能的了。。为啥到了WIN7开始,有的用ghost能启动,有的却不行了(其实你只要修复启动环境即可)。

  下面是UEFI BIOS的启动过程向前看,以后主要是它了,忘记过去吧)
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  UEFIBIOS→EFI系统分区(FAT格式的分区)→\efi\Microsoft\boot\bootx64.efi(bootmgfw.efi)→efi\Microsoft\BCD→\Windows\system32\winload.efi
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  UEFI BIOS引导windows系统时,是通过加载一个FAT16/32分区中的bootmgfw.efi文件来启动系统的,然后读取BCD文件,根据BCD文件的配置内容加载windows系统的引导文件winload.efi。
  从上面可以看出UEFI BIOS和老式 BIOS的主要区别:
  1、UEFI引导windows系统的文件为winload.efi,而Legacy的引导文件为winload.exe,UEFI整个引导过程都是在UEFI环境中实现的。
  2、UEFI是从文件系统引导,而MBR是扇区代码级别。
  3、UEFI有专门的引导分区ESP,本质和DOS的FAT16/32是一个东西,启动后是隐藏的。

  关于GPT磁盘:
  在大硬盘容量的需求下,GPT磁盘格式也逐渐代替了老旧的MBR磁盘格式(不能支持容量大于2T的磁盘),目前UEFI基本都是和GPT磁盘配套使用的。因此,实际上出厂预装win8系统的电脑都是UEFI+GPT的系统。
  在GPT磁盘格式下,windows系统的启动文件(bootmgfw.efi、BCD)是存放在一个FAT16/32格式的分区里的,将该FAT分区称之为ESP分区或EFI分区。用一个分区专门用来启动系统,取代原来的一个扇区代码(MBR)启动系统,系统的安全性、灵活性、可扩展XD得到极大的提高。

  下面以图解方式,介绍一个实际的例子:
  (系统:WIN10,GPT+UEFI,从硬盘迁移到128G的SSD中,分成ESP分区和windows10普通数据分区 2个分区)
  用U盘启动WINPE工具盘查看ESP分区和启动文件(老手也可以用WIN自带的工具diskpart加载ESP分区,然后在资源管理器里查看)

1、UEFI GPT SSD的 ESP分区.jpg
图 ESP分区

UEFI GPT SSD bootx64.efi文件的位置.jpg
图 bootx64.efi文件位置

UEFI GPT SSD BCD文件的位置.jpg
图 BCD文件位置

  BCD文件内容需要专门的BCD编辑器打开
BCD文件的内容.jpg
图 BCD文件内容

  win10正常启动后,在资源管理器里查看winload.efi文件

winload.efi位置.jpg
图 winload.efi位置

总结:
  UEFI+GPT模式引导windows系统时,并不需要mbr主引导记录,也不需要活动分区,只需要一个存放了引导启动文件的fat格式分区就可以了,这个fat分区当然也可以是U盘等外接USB设备了。
  GPT分区表磁盘不支持32位的win7以及win7之前的系统,支持64位的XP、win7、win8、win10和32位的win8、win10。
  一般情况下,在WIN8后的系统中应尽量使用UEFI+GPT磁盘与64位windows系统组合的搭配,充分发挥新式UEFI BIOS的性能,实现从固件底层增强系统的安全性、实现不同平台硬件下统一管理的Windows或Linux系统的多启动、实现诸如3秒快速开关机等强大功能。

  我是迅维网的编辑:晨洋宝贝,主要负责”软件“”硬件“栏目的编辑工作,想参与”软件“”硬件“这两个栏目的朋友,请加我QQ:3309792477,或发邮件,邮箱:zll@chinafix.com.cn,谢谢!


雷人

握手

鲜花

鸡蛋

路过
收藏
原作者: yidong158

相关阅读

发表评论

最新评论

引用 天意wx 2016-9-1 08:28
这个 值得看看 UEFI的 新式BIOS 已经普及
引用 xjz110609 2016-9-1 08:30
感谢楼主分享,受教了
引用 yidong158 2016-9-1 08:32
这篇文章对于安装、迁移、GHOST后无法启动,或者想学习修复 win7/8/10启动的朋友,了解启动的过程和需要的文件。

看懂本篇文章后,完全可以手动修复WIN的启动环境。
引用 yjsodnmq 2016-9-1 08:45
GHOST系统安装支持UEFI+GPT否
引用 yidong158 2016-9-1 09:06
本帖最后由 yidong158 于 2016-9-1 09:12 编辑
yjsodnmq 发表于 2016-9-1 08:45
GHOST系统安装支持UEFI+GPT否

不是都说了吗,不要再抱着 老东西不放了。和BIOS一样,GHOST要翻篇了(事实上新的平板和部分笔记本已经没有BIOS了)。做镜像的工具更多、更安全,比如:WIM等格式速度更快、压缩率更高。镜像文件可以放在专门的恢复分区,不被破坏,对用户,对病毒来说不可见。
引用 陈继斌 2016-9-1 09:18
gtp格式的只能装安装版的系统吗?
引用 yidong158 2016-9-1 09:22
陈继斌 发表于 2016-9-1 09:18
gtp格式的只能装安装版的系统吗?

只要你的工具支持GTP就行。比如本文就是将一个硬盘上的win10 (MBR)迁移到 SSD 上的。
引用 yidong158 2016-9-1 09:24
GPT ,不仅是为了支持2T 硬盘,有很多新特性,比如:可以创建ESP、MSR、OEM等分区,已保证系统安全和厂商、用户的扩展(比如打造自己的恢复分区)。
引用 有闷油瓶 2016-9-1 09:45
楼主厉害  这都能找道
引用 szzbq 2016-9-1 09:58
落后了,还没用过UEFI和GPT
引用 zbg 2016-9-1 10:14
感谢楼主分享
引用 有闷油瓶 2016-9-1 10:15
楼主厉害  这都能弄
引用 chenfanghuan 2016-9-1 10:20
UEFI和GPT  一下子还是不太习惯
引用 zouyabin 2016-9-1 10:22
好东西,学学了
引用 zouyabin 2016-9-1 10:25
看看有点头晕
引用 饥饿的胃 2016-9-1 11:54
学习了 好东西
引用 直接点 2016-9-1 12:36
UEFI是主流了
引用 13113410226 2016-9-1 12:52
表示看的不是很明白 没这样玩过 有空试一下学习一些新知识
引用 人人和电脑 2016-9-1 13:30
唉,这还真是有点麻烦,,,,

发表评论

登录 后可参与评论
关闭

站长提醒 上一条 /1 下一条

返回顶部
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图


芯片搜索