前几天明月给自己制作了一个 Win PE 引导优盘(可参考【体验最好的 windows PE 是什么?』一文),很多人可能不是很理解 UEFI 和 BIOS 引导在原理上的区别是什么,今天就收集整理出来分享给大家。算是一次科普知识分享吧。 其实 UEFI 引导与 BIOS 引导在原理上区别总结下来就是:BIOS 把 MBR 读出来交给 CPU 执行,做 MBR 做想做的事。UEFI 是查找磁盘里的\efi\boot\bootx64.efi 文件,启动这个可执行程序,让这程序做想做的事。直接好处除了开机快点外,最重要的是装系统超级方便了。把微软爸爸的系统镜像解压到 U 盘就能装机去了,不用再各种启动盘制作工具艹 U 盘的 MBR(那些年战 XP 战各种主板兼容回忆起来真的一脸血)。 先从启动流程上看区别在哪里?BIOS 启动流程
UEFI 启动流程
总结区别其实很简单,传统 BIOS,我们也称之为 legacy bios,他的引导方式很简单,就是上电自检后,跑完 POST,干完一大堆活以后,会去读取启动设备的 0 磁道 1 扇区 上面的前 512 字节(MBR)的数据。这就是我们常说的启动扇区,boot sector,BIOS 会看最后两个字节是不是 55 AA,如果是就用一条 jmp 指令跳过去就是了 而 UEFI 引导则是基于文件系统的,理论上没有 MBR 这样的东西(当然,实际上为了兼容性等等一大堆问题,可能磁盘上还是会有个 MBR)。boot 的时候,加载启动设备上面的 uefi loader,换句话说,uefi loader 是一个永远也不会返回的 UEFI APP 就是了。 本文最后更新于2019年7月6日,已超过 1 年没有更新,如果文章内容或图片资源链接失效和错位的,请留言反馈,我们会及时处理,谢谢!
|
|