迅维网

标题: 传统Legacy BIOS和新型UEFI BIOS的引导过程分析 [打印本页]

作者: yidong158    时间: 2016-9-1 07:57
标题: 传统Legacy BIOS和新型UEFI BIOS的引导过程分析
本帖最后由 yidong158 于 2016-9-1 08:29 编辑

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

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

  当前电脑的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分区,然后在资源管理器里查看)


图 ESP分区


图 bootx64.efi文件位置

图 BCD文件位置

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

图 BCD文件内容

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

图 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秒快速开关机等强大功能。




作者: 天意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
唉,这还真是有点麻烦,,,,
作者: 华科电脑    时间: 2016-9-1 14:36
这个不好弄,我试过,在点难度、但是还是要学,只有这样才有人找你装系统呀!现在GHOST是人都会,还有些二货说ghost没有什么技含量

作者: 华科电脑    时间: 2016-9-1 14:41
如何将win7\win8\win10的原版安装文件都作到一个U盘上而又不产生想互覆盖呢?
作者: 锐杰电脑3    时间: 2016-9-1 14:47
看来现在的BIOS很快就要更新换代了,技术也得更新了
作者: koung    时间: 2016-9-1 15:13
激活方面我没有找到稳定的,好用的
作者: yidong158    时间: 2016-9-1 16:09
华科电脑 发表于 2016-9-1 14:41
如何将win7\win8\win10的原版安装文件都作到一个U盘上而又不产生想互覆盖呢?

只要你的U盘够大,还可以同时安装LINUX/FREEBSD等等。
可以设置成互相不影响,互相看不到对方的分区(盘符)。在MBR时代是想都不能想的。
作者: yidong158    时间: 2016-9-1 16:18
koung 发表于 2016-9-1 15:13
激活方面我没有找到稳定的,好用的

你是说迁移吗?这个看你原来装的版本。
新装的话,建议用原版(看本站系统软件版)+KMS激活,无任何代码,保持纯洁。
作者: 江源客    时间: 2016-9-1 16:41
受教了,可以做资料保留下来.已加分
作者: xiangqian    时间: 2016-9-1 18:38
楼主总是在牛A与牛C之间徘徊
作者: 慧龙业余电脑    时间: 2016-9-1 19:24
哥你  太强悍了  看了我老九  头晕晕的   在哪里剪切下来的  
作者: 炫彩    时间: 2016-9-1 19:56
这个值得学习一下,
作者: 西山行    时间: 2016-9-1 20:11
新主板都是UEFI了。
作者: 句容诚信电脑    时间: 2016-9-1 20:54
更新的太快了   广大维修同胞 的学习脚步都跟不上了  我也是
作者: 旋涡名人    时间: 2016-9-1 21:22
感谢楼主,领教了
作者: 源仓a    时间: 2016-9-1 21:30
强烈学习中。
作者: jdwxt    时间: 2016-9-1 22:15
知识要不断更新才行,每一个转折点,都要加油。
作者: schqwei    时间: 2016-9-1 23:42
学习了,一直没实践过。
作者: amdkgd    时间: 2016-9-2 00:30
我落伍了,,,上次一台笔记本,,重新分区后,,,系统无法激活,,,,,,,,呵呵
作者: 张闲逛    时间: 2016-9-2 07:39
精华 学习了
作者: oyzy2012    时间: 2016-9-2 08:21
这个以前还真的不是很清楚
作者: oyzy2012    时间: 2016-9-2 08:22
楼主很无私,又让大家补缺啦
作者: 华科电脑    时间: 2016-9-2 08:35
那如何制作UEFI+GUID的启动U盘工具呢?哪位大侠作一个教程发上来
作者: znza2012    时间: 2016-9-2 09:53
感谢楼主分享,。。。
作者: 88201466    时间: 2016-9-2 10:53
学习了                     
作者: ぉ╰☆ぷ    时间: 2016-9-2 11:00
看来还真的要好好学习一下了 要不然都没得修了

作者: 407320566    时间: 2016-9-2 13:07
高手  学习了
作者: snakezjp    时间: 2016-9-2 13:23
熟悉的mbr该放弃了,固态硬盘efi+gpt 开机8秒,3T以上的大容量硬盘很快也就普及了。gpt 分区有优势就真正的体现出来了。
作者: 天昱科技    时间: 2016-9-2 14:26
好帖学习。。
作者: fengshaoju    时间: 2016-9-2 14:49
学习一下   充充电
作者: 神州电脑维修    时间: 2016-9-2 16:10
  
UEFI是我们长设置的选项
作者: 隐风之龙    时间: 2016-9-2 16:18
UEFI好像只能安WIIN8以上的系统才好用
作者: 大森林K    时间: 2016-9-2 16:57
感谢楼主发享
作者: yidong158    时间: 2016-9-2 17:02
华科电脑 发表于 2016-9-2 08:35
那如何制作UEFI+GUID的启动U盘工具呢?哪位大侠作一个教程发上来

和硬盘一样呀。创建一个FAT16/32 分区,放上启动文件就行了。请仔细看下我给的图片。就那几个文件夹、文件。相关的制作工具也有,别人做好的ISO等都可以直接刻录到 U盘上。
作者: 建明电脑    时间: 2016-9-2 17:04
学习了 、好经典  。还得学习高手奉献
作者: yidong158    时间: 2016-9-2 17:05
本帖最后由 yidong158 于 2016-9-2 17:06 编辑
慧龙业余电脑 发表于 2016-9-1 19:24
哥你  太强悍了  看了我老九  头晕晕的   在哪里剪切下来的

我发的图片中任何一张,你给我剪切一个看看。哈哈。。
作者: yidong158    时间: 2016-9-2 17:06
snakezjp 发表于 2016-9-2 13:23
熟悉的mbr该放弃了,固态硬盘efi+gpt 开机8秒,3T以上的大容量硬盘很快也就普及了。gpt 分区有优势就真正的 ...

保守了吧,好多朋友装机都只有 3-6秒。哈哈。。
作者: snakezjp    时间: 2016-9-2 17:20
华科电脑 发表于 2016-9-2 08:35
那如何制作UEFI+GUID的启动U盘工具呢?哪位大侠作一个教程发上来

把win10的原版镜像文件直接解压到U盘里就行了,非常简单,不懂的话问问度娘。
作者: 夜已深    时间: 2016-9-2 17:25
好文章,是不是要加点权限
作者: 手机电脑维修.    时间: 2016-9-2 20:54
天空一声炸响,惊世之作华丽登场
作者: 麽麽电脑    时间: 2016-9-2 23:28
高手就是不是一样,向你学习了
作者: 华科电脑    时间: 2016-9-3 08:38
我想把一个16G的U盘作成UEFI+FAT32的启动盘,可是做不了。我描术一下,请大家指导一下。
在一个win8PE的环境下,用diskgenius把U盘的分区删除转换成GUID格式,创建了一个ESP分区100MB午剩下的就作为一个FAT32主分区创建了,可是在PE系统里,资源管理器中只用看到一个“可移动设备”100MB,还有一个可移动设备不可用,从属性中进去看“可用空间为0,已用空间也为0”……我主要的意途是,想把一个安装版 的win7PE系统装到U盘里,可以在UEFI的环境下能启动……请大家指导一下。
作者: 二年级    时间: 2016-9-3 08:39
落伍了!加紧学习吧!
作者: 12421163    时间: 2016-9-3 09:38
感谢楼主分享,受教了 ,好东西
作者: Hi,赵喜儿    时间: 2016-9-3 11:14
》懵懵懂懂小不懂呀,给客户装win10还是用GHOST镜像过去,哈哈
作者: 技术宅    时间: 2016-9-3 11:35
分析的很透彻
作者: 蓝射的梦    时间: 2016-9-3 12:44
内容是很专业的,
作者: 星月科技    时间: 2016-9-3 13:07
不要说病毒没有办法 你要相信 病毒也是在发展的 ...只要有人做 病毒一样会搞定你UEFI+GPT  
作者: yue19960714    时间: 2016-9-3 13:44
分析的很好
作者: Eliot青    时间: 2016-9-3 15:19
legacy bios和UEFI BIOS的一个区别在于,前者通过bios自检然后进入系统,后者通过UEFI进系统,所以开机速度快一些。
作者: 窗边的小豆豆    时间: 2016-9-3 15:41
有点了解了
作者: zhoulongyong    时间: 2016-9-3 15:56
感谢楼主分享,学习了
作者: 鑫色阳光    时间: 2016-9-3 16:15
win8系统改WIN7系统 要到BIOS里改一下设置
作者: 欧阳敏    时间: 2016-9-3 16:24
弄多了就好 了  刚出来的时候 好麻烦
作者: 蒋炳锋    时间: 2016-9-3 17:07
谢谢分享,学习了
作者: znza2012    时间: 2016-9-3 17:10
这真麻烦呀、。。。
作者: chengdengjiang    时间: 2016-9-3 18:17
老东西  只是方便安转系统   但系统的稳定   型 不是很可靠  。只是有的人需要安装  W7   64的。W8W10 都不是太会用  转而有想改装W7的    但只是时间的问题  到后面还是会有很多人慢慢接受的
作者: jiafu000    时间: 2016-9-3 19:32
uefi装ghost系统也可以,只需要做个uefi启动的pe就行
作者: 遊龍維修    时间: 2016-9-3 20:01
已收藏 慢慢研究。。。
作者: 冬天的小草    时间: 2016-9-3 20:32
感谢楼主分享,真的是用到老学到老
作者: 小小璇子    时间: 2016-9-4 09:13
谢谢分享!又学习了!
作者: lbxcsw2    时间: 2016-9-4 11:58
学习学习
作者: ldyz1314    时间: 2016-9-4 12:07
没有看太懂,有空多看几遍
作者: 11123456    时间: 2016-9-4 12:11
牛  加分 鼓励
作者: 海峰电脑维修    时间: 2016-9-4 12:14
楼主的软件水平很高啊 ,值得学习。
作者: 獨殤未央    时间: 2016-9-4 12:33
加分,学习,收藏,好腻害啊
作者: 88201466    时间: 2016-9-4 21:26
谢谢楼主分享
作者: 麽麽电脑    时间: 2016-9-4 21:40
高手在【迅维】,向你学习
作者: 沈元    时间: 2016-9-4 23:19
我都用DG分区安装的 
作者: 乐乐电子    时间: 2016-9-5 09:10
是的哎,现在的机器都是uefi格式的了。
作者: 我心在翔    时间: 2016-9-5 09:49
学习了  明白了 很多  
作者: mofe    时间: 2016-9-5 11:12
UEFI也太复杂了吧???突然好怀念xp的年代
作者: 21钊    时间: 2016-9-5 12:31
长知识了  好好看看
作者: feixiang008    时间: 2016-9-5 13:47
挺好   学习下
作者: CPUPWRGD    时间: 2016-9-5 14:21
这个 值得看看 UEFI的 新式BIOS 已经普及
作者: 欧阳敏    时间: 2016-9-5 17:43
以后新BIOS已经是主流了
作者: 杨慧春    时间: 2016-9-5 18:01
值得看看 UEFI的 新式BIOS 已经普及
作者: 一个人找北    时间: 2016-9-5 18:48
不错  真的很好  ,学习了  ,谢谢
作者: 挚爱mai    时间: 2016-9-5 19:17
一直装系统都知道改这些不知道意思在哪里
作者: zhuduoliang    时间: 2016-9-5 23:30
看来要学习与时俱进听…
作者: cashli    时间: 2016-9-6 12:32
看不明白。太深奥了。
作者: 麽麽电脑    时间: 2016-9-6 12:33
高手在【迅维】修,向你学习




欢迎光临 迅维网 (https://www.chinafix.com/) Powered by Discuz! X3.4