MBR分区结构

MBR分区结构

MBR分区结构

MBR分区结构
一、硬盘主引导记录MBR由4个部分组成:
1、主引导程序(偏移地址0000H–0088H),它负责从活动分区中装载,并运行系统引导程序。
2、出错信息数据区,偏移地址0089H–00E1H为出错信息,00E2H–01BDH全为0字节。
3、分区表(DPT,Disk Partition Table):含4个分区项,偏移地址01BEH–01FDH,每个分区表项长16个字节,共64字节为分区项1分区项2、分区项3、分区项4
4、结束标志字,偏移地址01FE–01FF的2个字节值为结束标志“55 AA”
二、MBR磁盘的分区形式:
一般有3种,既主分区,扩展分区和非DOS分区;
主分区既主DOS分区,扩展分区既扩展的DOS分区(扩展分区可以分逻辑分区);
非DOS分区对于主分区的操作系统来说是一块被划分出去的区域,只能非DOS分区中操作系统可以管理。

hexdump -C -n 512 -v /dev/sdb 查看磁盘分区内容

MBR分区结构

MBR分区结构
、磁盘在使用前都要进行分区,也就是将硬盘划分为一个个逻辑的区域。
每一个分区都有一个确定的起始结束位置。
MBR磁盘的分区形式一般有3种:主分区,扩展分区和非DOS分区。
·主分区既主DOS分区;
·扩展分区既扩展的DOS分区(扩展分区可以分逻辑分区);

·非DOS分区对于主分区的操作系统来说是一块被划分出去的区域,只能非DOS分区中操作系统可以管理。

MBR分区结构

MBR分区结构
四、MBR一共占用64个字节,其中每16个字节为一个分区表项。
MBR扇区中只能记录4个分区信息:

可以是4个主分区,或者是3个主分区1个扩展分区。

MBR分区结构

MBR分区结构
扩展分区的结构分析
由于MBR仅仅为分区表保留了64字节的存储空间,而每个分区则占用16字节的空间,也就是只能分4个分区,而4个分区在实际情况下往往是不够用的,因此就有了扩展分区:
1、扩展分区中的每个逻辑分区的分区信息都存在一个类似MBR的扩展引导记录(简称EBR)中。
2、扩展引导记录包括分区表和结束标志“55 AA”。

3、没有引导代码部分。

MBR分区结构

MBR分区结构

(EBR扇区)

MBR分区结构

MBR分区结构
(分区表的第一项描述第一个逻辑分区,第二项指向下一个逻辑分区的EBR。如果下一个逻辑分区不存在,第二项就不需要了。)
五、如果硬盘的MBR被破坏,可以复制其他硬盘的MBR到故障盘,然后修复分区表,也可以初始化故障盘然后修复分区表。

原创文章,作者:Light Yagami,如若转载,请注明出处:http://www.178linux.com/85121

(1)
Light YagamiLight Yagami
上一篇 2017-08-20
下一篇 2017-08-20

相关推荐

  • Linux 基础知识(六.二)

    1、复制/etc/rc.d/rc.sysinit至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加# [root@server01 tmp]# cp /etc/rc.d/rc.sysinit /tmp/ [root@server01 tmp]# sed -n "s@^[[:space:]]\+@#&@…

    Linux干货 2016-11-14
  • mysql备份之mysqldump

    mysql备份之mysqldump 注意:备份文件和二进制日志文件不能与mysql放在同一磁盘下 节点1 1、节点1上修改mysql配置文件,开起二进制日志保存 这里我将二进制日志放在/data/mysql/目录下,/data/是我创建的另外一个lvm磁盘,本来想直接放在/data/下,发现无法启动mysql,所以建议还是放在/data/mysql中 [ro…

    Linux干货 2016-07-19
  • DNS and BIND 介绍及安装

    DNS DNS是什么 为什么要用DNS 域名 BIND DNS是什么 DNS:Domain Name System,域名系统DNS作为域名和IP地址相互映射的一个分布式数据库,能够让用户更方便的访问互联网。它的正向映射是吧一个主机和IP地址关联起来,它的反向映射则是IP地址到主机名。DNS协议运行在UDP协议上,使用53端口。 为什么要用DNS 连接到互联网…

    Linux干货 2016-05-28
  • linux进程管理

    进程概念 内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、 安全功能等 Process:  运行中的程序的一个 副本,是被 载入内存的一个指令集合     进程ID (Process ID,PID)号码被用来标记各个进程  &…

    Linux干货 2016-09-12
  • 马哥教育网络班21期第6周作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; %s/^[[:space:]]\+/#& 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; %s/^[[:space:]]\+/ …

    Linux干货 2016-12-05
  • 基于mysql虚拟用户认证​

    虚拟用户:                             用户账号存储于何处? …

    Linux干货 2016-10-17