BIOS+MBR操作系统引导方式
1. 主引导记录(Master Boot Record,缩写:MBR)
主引导记录又叫做主引导扇区,是计算机开机后启动操作系统时所必须要读取的硬盘首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。主引导记录由3个部分组成,起始446个字节区域为“主引导记录”;之后16×4=64字节区域为分区表;最后2个字节区域为结束标志字。各部分的详细描述如下:
1.1 主引导记录
主引导记录是启动操作系统第一阶段的引导代码,主要作用是检查分区表是否正确,然后加载引导程序并且将控制权移交给引导程序。
1.2 硬盘分区表
分区表记录硬盘的分区信息,含4个表项,每个表项16字节,表项结构组成如表2。注意第1个字节会标志分区是否为活动分区,活动分区表示系统可引导。MBR分区方式,支持最多4个主分区,每个分区最大可支持硬盘空间为2TB。理由是分区表仅有4个表项,每个16字节的表项中仅有4个字节记录该分区的扇区总数。
表2 硬盘分区结构信息
| 偏移 | 长度(字节) | 意义 |
|---|---|---|
| 00H | 1 | 分区状态:00-->非活动分区;80-->活动分区;其它数值没有意义 |
| 01H | 1 | 分区起始磁头号(HEAD),用到全部8位 |
| 02H | 2 | 分区起始扇区号(SECTOR),占据02H的位0-5;该分区的起始磁柱号(CYLINDER),占据02H的位6-7和03H的全部8位 |
| 04H | 1 | 文件系统标志位 |
| 05H | 1 | 分区结束磁头号(HEAD),用到全部8位 |
| 06H | 2 | 分区结束扇区号(SECTOR),占据06H的位0-5;该分区的结束磁柱号(CYLINDER),占据06H的位6-7和07H的全部8位 |
| 08H | 4 | 分区起始相对扇区号 |
| 0CH | 4 | 分区总的扇区数 |
1.3 结束标志字
结束标志字标志主引导记录是否有效,若为55AA,则表示当前硬盘为可启动设备。
2. 分区引导记录(Paritition Boot Record,缩写:PBR)
分区引导记录用于安装具体操作系统操作相关的引导程序,此处安装的引导程序需要能够识别具体操作系统的文件格式并正确加载操作系统的核心到内存中运行。
3. MBR分区下的操作系统引导流程
MBR分区方式下操作系统引导的一般流程:
3.1 计算机上电后,BIOS(Basic Input Output system)进行硬件检测与初始化,硬件正常则读取可启动设备(经BIOS设置的优先级最高的可启动设备)的主引导记录,将控制权移交给安装在MBR中的引导程序。
3.2 第一阶段的引导程序检查分区表,发现可引导的分区,加载分区引导记录并将控制权移交给系统引导程序。
3.3 系统引导程序加载操作系统核心至内存,将CPU控制权交给操作系统,至此,完成操作系统引导过程。
参考资料
[1] 鸟哥的linux私房菜.基础学习篇.第四版
[2] 维基百科.主引导记录
[3] 百度百科.分区引导记录
BIOS+MBR操作系统引导方式的更多相关文章
- (2)打造简单OS-开机BIOS初始化与MBR操作系统引导详解
================大概了解即可=============== 1.BIOS的工作: 我们的计算机在开机之前,它是一个纯硬件的机器,但是从按下开机按钮的那一刻起,ROM上的固化程序就开始为 ...
- BIOS + MBR > UEFI + GPT
BIOS + MBR > UEFI + GPT硬件接口系统与磁盘分区UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR. 名词解释: BIOS (Basic Input/Output S ...
- BIOS/MBR UEFI/GPT关系与区别-资料整理
---恢复内容开始--- 关于 BIOS/MBR UEFI/GPT他们之间的关系一直比较疑惑, 首先一点前提 BIOS UEFI 是一类,是控制硬件,引导启动的:MBR GPT是硬盘的分区定义.. 后 ...
- MBR主引导扇区解析
最近在制作镜像的时候由于需要简单研究了下MBR主引导扇区的结构,这里记录下便于后期温习,下面就直接进入正题: MBR主引导扇区位于磁盘的第一个扇区,即0号扇区,主要由引导代码.分区表.结束标志三部分构 ...
- BIOS+MBR模式 VS UEFI+GPT模式
EFI与MBR启动的区别 大硬盘和WIN8系统,让我们从传统的BIOS+MBR模式升级到UEFI+GPT模式,现在购买的主流电脑,都是预装WIN8系统,为了更好的支持2TB硬盘 ,更快速的启动win ...
- thinkpad开机引导方式变成PCI LAN选项解决
问题:开机的引导方式变成[PCI LAN],并且前面有一个小箭头,无法正常启动加载.在BIOS中重置调整启动顺序也无法解决.无法进入U盘启动盘 1.首先开机按F12进入BIOS,选择 APP Menu ...
- 国产芯片任重道远 国科微SSD主控芯片的“追赶之路”(不能只提供一颗芯片,而是要将芯片、国密算法、固件Firmware、BIOS和操作系统紧密联系在一起,变成完整解决方案交给行业用户,才能真正体现自身的价值)
集微网消息,“中国芯”战略之路道阻且长,踏入这个赛道的攻坚者们需要十年如一日的技术突破,需要集合产业势能,共同协作,方能建立中国核心技术真正的竞争力. 国产化之路任重道远,SSD芯片初见成效 信息时代 ...
- Windows忘记BIOS密码/操作系统密码处理办法汇总
一.说明 关于电脑,在大学之前是知之甚少的.举几个例子,一是刚上大学时我还是分不清主机和显示器哪个才是电脑:二是应该是大一上学期陪窒友Z到电科买电脑,我问导购员XP和Win7什么关系----我一直怀疑 ...
- Thinkpad X240修改bios引导方式
来源:http://blog.csdn.net/jsship/article/details/19121149 修改笔记本的BIOS设置!这是非常重要的步骤之一.否则,你的U盘不能引导手提电脑进入PE ...
随机推荐
- APP排查内存泄漏最简单和直观的方法
内存泄漏无疑会严重影响用户体验,一些本应该废弃的资源和对象无法被释放,导致手机内存的浪费,app使用的卡顿,那么如何排查内存泄漏呢? 当然,首先我们有google的官方文档可以参考,大部分博客 ...
- logstash 和filebeat 是什么关系
因为logstash是jvm跑的,资源消耗比较大,所以后来作者又用golang写了一个功能较少但是资源消耗也小的轻量级的logstash-forwarder.不过作者只是一个人,加入http://el ...
- RocketMQ控制台命令
本文未完成,有空再补充,不小心发布了,抱歉 Rocket版本:4.3.0 这几天在整RocketMQ,可谓是困难重重,其中关于控制台的命令,网上的都是一半一半的, 所以我打算直接用整一个完整的官方的命 ...
- Spring Boot 初学避免犯不必要的错误
创建项目时的目录问题: 新包体(例如controller)必须和启动文件 DemoApplication.java 在同一级目录下,如下 spring boot 初步使用创建新的项目:https:// ...
- 微信公众号使用vue,安卓端点击按钮404,ios访问正常问题
情景:微信公众号使用vue开发的单页面,在安卓端点击按钮访问显示404,ios访问正常问题,能正常显示. 解决:将微信公众号菜单按钮设置的路径中把WWW去掉后,安卓.ios都能正常访问. 问题路径ww ...
- 关于typescript之定义变量和数据类型那点事
变量和数据类型 JavaScript虽说深受万千程序员喜爱,却有着对于企业大规模开发很难管理的缺陷.这时候,TypeScript的优势便体现出来.接下来,我们会先接触在TypeScript中定义变量相 ...
- Spark直接读入fastq格式的数据
输入文件: fastq格式 输出结果: kmer的频数和对应的kmer类型 系统环境Ubuntu单机版17.01 spark版本2.7 此次测试主要用到了RDD的函数foreach和zipWithIn ...
- java当中JDBC当中请给出一个sql server的dataSource的helloworld例子
[学习笔记] 4. sql server的dataSource的helloworld: import java.sql.*;import javax.sql.*;import net.sourcef ...
- 长乐培训Day6
T1 数列 题目 [题目描述] [输入格式] [输出格式] [输入样例] [输出样例] [数据规模] 如上所述. 解析 身为T1,居然比T4还难......让我怎么办......以下为巨佬题解: 我猜 ...
- 20191125:Python中的上下文管理机制with
20191125:with上下文管理 with是一个上下文管理器,用于执行代码块所需要的运行的时候的上下文入口和出口.上下文管理器的典型用法包括保存和还原各种全局状态,锁定和解锁资源,关闭打开的文件等 ...