本来是分析linux 2.6.11的bootsect.S 的,但是,在2.6.11里没有实质的引导部分, 只是简单的打印输出请使用引导器引导,大体上就是这样,故此,转手分析Grub, 看懂此文,希望你有些基础,至少也得懂什么是MBR吧,关于int 13 非扩展调用的部分 就不写了,那个bios调用随便找个引擎都能搜到; grub for dos 的大体执行流程以及对应文件: 1: 开机后,完成硬件初始化后,BIOS 装载Stage1 模块于0X7c00处 ( int 19h) 2: Stage1 模块装载Start 模块(int 13h,int 13h扩展,中断调用参数初始化,引导磁盘类型判断,读MBR第2扇区到0x7000,并拷贝到0x8000执行) 3: Start 模块将整个GRUB 的内核载入内存 (保护模式切换,文件系统判断和支持) 4: GRUB 的一个Shell 的机制,作为一个小型的操作系统,来通过指令的方式装载不同的其他操作系统。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!