|
本帖最后由 sunsea 于 2018-11-16 23:40 编辑
……bootmgr我没记错的话是两个部分构成的,一个十六进制的桩和32位的保护模式代码,内部名称叫做bootmgr.exe,是个Native模式可执行程序(啥是Native模式?开机的时候磁盘检查程序运行的那个模式),后者压缩的,前者负责解压并提供使用BIOS的基本磁盘访问(证据是它能没任何驱动访问AHCI的盘子,BIOS可是一旦加载了操作系统的AHCI驱动就不能再用BIOS的驱动了,Intel的AHCI规范里明确写着的)
bootmgr.exe里已经确认的有如下功能(剩下的我没研究过,不敢乱说)
1.读BCD,显示启动菜单(最基本的注册表操作能力)
2.最基本的Win32代码执行环境(可能移植了一部分ntoskrnl.exe的功能)(证据是它直接执行winload.exe,而且仔细看看boot文件夹下是有几个dll和exe的,都是Native程序,明显这个bootmgr.exe创建了最基本的Win32代码执行环境)
3.FAT和NTFS基本文件系统驱动
4.查找文件能力
至于bootmgr怎么找文件的……BCD里存储了文件所在的【磁盘签名】(MBR里的0x1B4处的4字节数据)和【分区起始扇区】,这是bootmgr用来找文件的数据
bootmgr.exe会按以上按图索骥找你的文件
然后如果是Windows的引导程序winload.exe则直接执行……如果是grldr,ntldr等等,bootmgr统一再用一次那个十六进制的桩返回,当做【实模式】代码加载 |
评分
-
查看全部评分
|