机械硬盘的信息都是存储在磁盘的表面,他们是由一圈一圈的磁道组成的。以前的磁盘的不同磁道的扇区数量是相同的,这就导致了很大的浪费,因为最外面的磁道的密度是最低的,信息是最安全的,所以最外面的磁道是0磁道。后来由于技术的改进,外面磁道的扇区数量就比里面扇区数量多,但是由于历史原因,最外面的磁道仍然是0磁道。而MBR(主引导记录)就是在磁盘的第一个物理扇区上。在传统的硬盘驱动器中,一个扇区的大小是512字节,而现代的硬盘驱动器和固态硬盘通常采用4KB的大小。
上面是背景信息,那么BIOS又是如何找到引导程序的呢?
1、主引导记录(Master Boot Record, MBR): MBR是硬盘的第一个物理扇区,位于磁盘的起始位置。它包含引导代码和分区表。BIOS会加载MBR中的引导代码,然后由引导代码来加载操作系统。
2、INT 13h中断: BIOS通过使用INT 13h中断来与硬盘进行交互。INT 13h提供了一组功能调用,用于读取和写入硬盘扇区。通过使用INT 13h中断, BIOS可以读取硬盘的MBR和分区表信息,从而确定引导扇区的位置。
3、活动分区:MBR中的分区表记录了硬盘上的分区信息,包括每个分区的起始扇区和大小。BIOS会查找活动分区,这是一个被标记为可引导的主分区。BIOS将加载活动分区的引导扇区,从而启动操作系统。