以下过程针对x86架构的系统。
在系统上电的时候,处理器的代码段寄存器(CS)会变成0xF000,程序执行指针(IP)会变成0xFFF0,BIOS程序会被加载到内存的位置CS:IP处,也就是CS*16+IP=0xFFFF0。因此处理器定位到BIOS的起始处开始执行,BIOS的功能此处不再赘述,最终BIOS会读取启动分区的第一个扇区的512字节内容,这个扇区也叫做引导扇区。BIOS会将此扇区加载到0x7c00的内存位置处,并将控制前转移到该地址执行引导分区代码。
过程总结如下:
上电 -> BIOS被加载到0xFFFF0起始的内存位置 -> 处理器从CS;IP=0xF000:0xFFF0位置开始执行BIOS代码 -> BIOS将引导扇区512字节记载到内存0x7c00位置 -> BIOS将代码执行控制转移到CS:IP=0x0000:0x7c00的位置执行引导扇区代码。
如图所示: