BIOS 如何确定引导扇区的位置

机械硬盘的信息都是存储在磁盘的表面,他们是由一圈一圈的磁道组成的。以前的磁盘的不同磁道的扇区数量是相同的,这就导致了很大的浪费,因为最外面的磁道的密度是最低的,信息是最安全的,所以最外面的磁道是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将加载活动分区的引导扇区,从而启动操作系统。

相关推荐
艾莉丝努力练剑5 分钟前
【Linux】初始Linux:从计算机历史发展、操作系统历史脉络的角度详谈Linux相关的话题,附Linux安装和用户创建(环境准备)详解
linux·运维·服务器·经验分享
l1t13 分钟前
how to build tbox xml into the demo
xml·linux·c语言·parser·tbox
努力学习的小廉15 分钟前
深入了解linux系统—— 线程池
linux·运维·服务器
不是编程家25 分钟前
Linux第十五讲:Socket编程UDP
linux·运维·udp
UrSpecial1 小时前
Linux线程
linux·开发语言·c++
格林威1 小时前
Linux使用-MySQL的使用
linux·运维·人工智能·数码相机·mysql·计算机视觉·视觉检测
程序员TNT1 小时前
Shoptnt 促销计算引擎详解:策略模式与责任链的完美融合
linux·windows·策略模式
大锦终1 小时前
【Linux】进程间通信
linux·运维·服务器·c++
望获linux1 小时前
【实时Linux实战系列】规避缺页中断:mlock/hugetlb 与页面预热
java·linux·服务器·数据库·chrome·算法
成都极云科技1 小时前
独立显卡和集成显卡切换电脑卡住了怎么办?
linux·电脑·集成显卡·独立显卡