MBR、GPT

▶ MBR-Master Boot Record-主引导记录

主引导记录 是计算机在开机后访问 硬盘 时所必须要读取的 首个扇区,一个扇区单位有512个字节,而一个MBR的分区表也最占512B,所以也就是说这里的第一个扇区就存放着 MBR【主引导记录】,硬盘读取的第一个扇区读取的就是MBR分区表。

MBR 有三个大的部分组成,分别是:

  • 引导加载器 boot code[master boot code]: 占据 446 字节,引导加载器 也叫 主引导扇区、启动加载器,这里面通常存放的 GRUB/GRUB2,用于后续加载操作系统的内核。
    引导加载器 GRUBhttps://www.cnblogs.com/takenika/articles/18390663

  • 硬盘分区表 DPT(Disk Partition Table): 占据 64 字节,记录的是分区的信息。
    DPT:Disk Partition Table:偏移地址是 01BEH ~ 01FDH,每个分区表项长 16 字节,共 64 个字节,对应起来有 4 个分区表,这四个分区表有两种情况 ① 4个都是主分区的分区表,② 3个主分区表+1个扩展分区表。

  • 硬盘有效标志 Magic number:Magic number 也有翻译为 魔数、结束标记字,占据2个字节。
    Magical number-硬盘有效标志-结束标志字:偏移地址是 01FE ~ 01FF 自然就是占了2字节,固定是 55AA 当结束标志有问题系统不能启动。

这三个部分合在一起就是512个字节也就是一个扇区,后面有图来表现。

在有些场合主引导记录的时候指的不是一整块的扇区而是最前面的 启动加载器。

对于分区的操作是对整个64位的分区表进行的,并不涉及到数据区,对于结束的 0×55 AA 则是 2 byte表示主引导记录的结束。

MBR 将分区信息保存到磁盘的第一个扇区的64个字节中也就是MBR第二个部分,每个分区是16个字节,这16个字节中存在有活动状态标志、文件系统标识、起止柱面号、磁头号、隐含扇区数目(4个字节)、分区总扇区数目(4个字节)等,这四个分区的部分合起来称为 DPI 磁盘分区表

具体来说,MBR的分区表 只能有 4个分区 的信息,这4个分区中的分区可以是 primary 或者是 扩展分区

通常情况下:MBR 是 4 个 primary 和或者 3个primary + 1个扩展分区

扩展分区 严格来说不是一个分区,仅仅是指向下一个 分区的指针,这种指针的结构就形成了一个 单向列表,如下图。

MBR 无法支持 2.2TB 容量的磁盘。


▷ MBR扇区表示法


▷ MBR分区命令 fdisk

fdisk 命令用于支持 MBR 磁盘分区。

Linux命令:fdisk-MBR磁盘分区:https://www.cnblogs.com/takenika/articles/18387545


▶ GPT-GUID Partition Table-全局唯一标识磁盘分区表

① 是处于兼容性考虑,依旧存储了一个传统的 MBR,这个 MBR 称为 保护型MBR 包含了磁盘的签名,MBR分区表,结束标记。

注意:这里面没有引导代码,分区表只有一个分区标识,GPT实际上用不到这部分,这一部分主要是让系统的一些。

磁盘管理软件知道这是一个磁盘,是一个合法的磁盘。

② 这是主要的 GPT的头部,位于 1号扇区,定义了分区表的 起始位置结束位置,分区表项的个数,这个区域也记录这个盘的 GUID 和下面主分区表的表头和分区表的大小,备份的分区表的表头位置、大小。

另外还存储自身和分区表的校验信息,在固件引导程序,操作系统启动的时候,就可以依据这里面的校验信息判断这个分区表本身是否有误,有误的话,就会从硬盘最后(④)。

④ 备份GPT信息表中恢复整个分区表。

③ 的分区表项中,依据前面的GPT头部的定义,这一部分可以有过个项,从理论上讲,这一部分实际上是没有上线的。

严格来讲GPT磁盘关于能分128个分区并不严谨,这种限制主要是在windows中,微软的设置最多支持128个分区
表项。

③ 与 ④ 这两份分区表提高了安全性。

⑤ 是GPT磁盘的最后一个盘区,是用于备份GPT头部的信息,也就是备份②的信息。


▷ GPT磁盘分区命令 parted 与 gdisk

parted 属于 GUN 项目,操作直接。

gdisk 不是 GNU 项目,但是操作与 parted 相比 更加友好


▶ MBR 与 GPT 对比

posted @ 2024-08-29 17:29  takenika  阅读(220)  评论(0)    收藏  举报