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·运维·服务器
AR-26710-5 小时前
Linux Day32——网络,ROCE-IB与以太网
linux·运维
LongRunning20 小时前
【Linux】RK3568-OpenCV+YOLO(八)
linux·opencv·yolo
民乐团扒谱机1 天前
【微实验】NSGA-II(非支配排序遗传算法)——解决多目标优化问题的“自然选择模拟器”
linux·人工智能·算法
물の韜1 天前
ZYNQ/FMQL系列Linux之I2C开发实战
linux·arm开发·嵌入式硬件·设备树·iic·zynq
qq_371802111 天前
Ubuntu Linux中安装WorkBuddy
linux·运维·服务器·ubuntu
无足鸟ICT1 天前
【RHCA+】iptraf-ng(网络监控分析)
linux·网络
独隅1 天前
WebStorm 在 Linux 环境下的实战安装与高效开发指南
linux·ide·webstorm
坤坤子吖1 天前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
阡陌数智1 天前
Claude API新版本重大变更与安全升级指南
java·linux·安全