Windows 系统启动过程
基于 UEFI 的启动过程
UEFI 固件接口可以实现 BIOS 固件接口类似的功能,逐步成为主流的固件接口之一。它主要提供一组在操作系统启动之前在所有平台上一致的服务,是在 EFI 1.0 基础上发展起来的新型可扩展固件接口,得到了大多数行业主流企业的支持
UEFI 的几乎所有组件都用 C 语言开发完成,不再使用中断、硬件端口直接操作的方法,而是采用 Driver/protocol 的方式。它直接采用了 CPU 的保护模式,使用没有分页的内存平坦模式(Flat mode),而不是 BIOS 的实模式。基于 BIOS 的计算机硬盘分区机制使用了 MBR,而 UEFI 使用了新的分区机制 GPT(GUID Partition Table),与 MBR 相比,GPT 不再有更多的限制,尤其体现在分区大小
基于 MBR 的分区机制使得没硬盘只能具有四个主分区,每个硬盘最高可以达到 2TB,而 GPT 允许硬盘和分区的最大容量可以达到 8ZB
基于 MBR 的 Bootkit
Bootkit 对 MBR 的利用,主要是通过修改 MBR 相关的硬盘内容,使得在 MBR 中的代码在执行之前或执行的时候,能够将 Bootkit 的代码加载执行,且需要确保系统正常启动不受影响
通常,对 MB