本来是分析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 的机制,作为一个小型的操作系统,来通过指令的方式装载不同的其他操作系统。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课