本帖最后由 TobyLee 于 2026-1-29 15:40 编辑
主要内容是windows的启动流程
填坑+简介
链接
需要准备的参考资料
链接
第一条机器指令(0x7C00)
cpu帮你加载1个扇区 可以理解为boot的引导
链接
补充 read_boot_sect(真正的boot)
加载4个扇区 完整的boot
链接
dosmbr总结
链接
todo1 捋顺 mbr->fat32
很遗憾当时没有描述清楚 mbr ->fat32的一个流程
下一个视频将填坑这个内容,并开启fat32.s代码里寻找“freeldr.sys”的过程
“freeldr.sys” 在windows中是 winload.exe
winload里
1.可以很清晰的看到ntknlos和 hal的加载,也会看到注册表是很早就被加载到内存的,
2.以及boot.ini在加载时的作用(xp里搭建调试环境你一定修改过这个文件。海哥内核搭建调试环境也是修改的这个文件)。
todo2 捋顺ntknlos的启动流程
说来话长,
- 涉及实模式到保护模式的切换
- 多次构建gdt,idt,
- 第一个进程(system)是如何创建出来的
- idle线程和内存清零线程 是如何退化来的。
- 对于4中的内容一定要掌握线程切换(最经典的就是调整线程优先级为Low的时候会切换的别的线程。代码不能顺序看。)
- 各种初始化(构建c语言运行环境)
- phase0,phase1分别都在搞什么。
- 最终创建session0与winlogin完成整个启动。
番外
- session0
1.1 制作一个pao在session0里的程序,并让它开机自启动。
1.2 制作在session1的程序 与session0中的程序通讯。
- winlogin 分析它的作用
|