磁盘分区
+ -

主引导记录MBR

2021-07-01 112 0
磁盘分区

MBR是主引导记录,它存在于整个磁盘的最开始的那个扇区,地址为0号扇区,此扇区一般为512字节大小。
MBR扇区的内容是:

内容 说明
前446字节 引导程序及参数
中间64字节 分区表
最后2字节 0x55,0xaa

我们可以使用工具winhex软件打开一个磁盘,查看MBR内容。

MBR内容
在MBR中存储的引导程序,为的是从BISO中接过系统的控件权,即处理器使用权。MBR对应的这512字节在当BISO即将释放处理器的使用权前,将此512字节复制到物理内存的0x7c00位置处,然后跳转到此位置执行,这样BIOS引导完成,进行MBR引导。

MBR程序主流程

程序流程:
1 将程序代码由0:7C00H移动到0:0600H(注,BIOS把MBR放在0:7C00H处)
2 搜索可引导分区,即80H标志
成功:goto 3
失败:跳入ROM BASIC
无效分区表:goto 5
3 读引导扇区到7C00
失败:goto 5
成功:goto 4
4 验证引导扇区最后是否为55AAH
失败:goto 5
成功:goto 6
5 打印错误进入无穷循环
6 跳到0:7C00H进行下一步启动工作


CPU加电启动过程

在CPU上电之后,若由硬盘启动,则BIOS将硬盘的主引导记录(位于0柱面、0磁道、1扇区)读入7C00处
然后将控制权交给主引导代码。主引导代码的任务包括:

  1. 扫描分区表,找到一个激活(可引导)分区;
  2. 找到激活分区的起始扇区;
  3. 将激活分区的引导扇区装载到内存7C00处;
  4. 将控制权交给引导扇区代码;

如果主引导代码无法完成上述任务,它将显示以下错误信息之一:

  • No active partition.
  • Invalid partition table.
  • Error loading operating system.
  • Missing operating system.

机器加电或按reset键后都要进行系统复位,复位后CS=FFFFH,IP=0000H,那么自然就从FFFF:0000H
处开始执行指令,这个地方只有一条JMP指令跳转到系统自检程序处,系统自检完成后把软盘的第一
个扇区(如果由软盘启动)或者硬盘的第一个扇区,即MBR扇区(如果由硬盘启动)读入到0:7C00H处
然后把控制权交出,从0:7C00H处继续执行。

0 篇笔记 写笔记

MBR反汇编分析
window开机流程流程:加电—>BIOS—> MBR—> DPT—> pbr—> Bootmgr—> bcd—> Winload.exe—-—-> 内核加载–> 整个windows7系统细节在CPU上电之后,若由硬盘启动,则BIOS将硬盘的主......
主引导记录MBR
MBR是主引导记录,它存在于整个磁盘的最开始的那个扇区,地址为0号扇区,此扇区一般为512字节大小。MBR扇区的内容是:内容说明前446字节引导程序及参数中间64字节分区表最后2字节0x55,0xaa我们可以使用工具winhex软件打开一个磁盘,查看MB......
磁盘分区 介绍
磁盘按分区类型可分为DOS分区和GPT分区。DOS(MBR)分区DOS(MBR)分区是使用最广泛也是我们最常使用的分区类型。DOS(MBR)分区类型指的是以主导也记录(MBR)为分区类型的分区,所以说DOS分区不仅仅指Windows下的使用的分区类型,而且Linux春它基于IA32(x86)平台的......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!