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将加载活动分区的引导扇区,从而启动操作系统。

相关推荐
_dindong15 小时前
Linux网络编程:结合内核数据结构详谈epoll的工作原理
linux·服务器·网络
了一梨15 小时前
在Ubuntu中配置适配泰山派的交叉编译环境
linux·c语言·ubuntu
buyutang_15 小时前
Linux网络编程:Socket套接字编程概念及常用API接口介绍
linux·服务器·网络·tcp/ip
杨云龙UP15 小时前
从0搭建Oracle ODA NFS异地备份:从YUM源到RMAN定时任务的全流程
linux·运维·数据库·oracle
DN金猿15 小时前
恢复 Linux 上误删除的文件
linux·运维·服务器
远瞻。16 小时前
【环境配置】Ubuntu系统安装cuda
linux·运维·ubuntu
kyle~16 小时前
Linux---<unistd.h>类Unix系统编程核心头文件
linux·运维·unix
python百炼成钢16 小时前
55.Linux ADC框架(IIO续)
linux·运维·服务器·驱动开发
祎直向前16 小时前
重装Ubuntu之后重连VSCode
linux·vscode·ubuntu
buyutang_16 小时前
Linux 网络编程:深度理解网络字节序与主机字节序、大端字节序与小端字节序
linux·运维·网络