硬盘分区表

MBR(MS-DOS)

组成

早期的Linux为了兼容Windows的磁盘,所以采用MBR硬盘分区表。

启用引导程序记录区与分区表都放在硬盘的第一个扇区(这个扇区通常是512B)。

  • 主引导记录(MBR,Master Boot Record)
    可以安装启动引导程序的地方,446B。
  • 分区表
    记录整块硬盘分区的状态,64B。
    由于分区表只有64B,所以最多仅能有四组记录区,每组记录区记录该区段的启始与结束的柱面号,而这四组记录区所划分出来的,为主分区,当记录的区段被再次划分后,那么这一区段称为扩展分区,被划分出来的区域叫逻辑分区

原理

  • 分区只是对64B的分区表进行的
  • 硬盘默认的分区表仅能写入四组分区信息
  • 主分区、扩展分区
  • 分区的最小单位通常为柱面
  • 当系统要写入磁盘时,需要参考分区表

扩展分区的目的是使用额外的扇区来记录分区信息,扩展分区本身并不能被拿来格式化。

特性

  • 主分区与扩展分区最多可以有4个
  • 扩展分区最多只能有一个
  • 逻辑分区是由扩展分区划分出来的
  • 能够被格式化存储数据的是主分区及逻辑分区,扩展分区不能被格式化
  • 逻辑分区的数量依操作系统而定

MBR分区表的限制

  • 操作系统无法使用2.2T以上的磁盘
  • MBR仅有一个区块,若有损坏,无法或很能修复
  • MBR内存放启动引导程序仅有446B,无法存储较多程序代码

GPT(GUID Partition table)

GPT将磁盘以LBA为单位来划分,记录分区信息。

  • LBA(Logical Block Address)
    逻辑区块地址,默认大小为512B。

GPT使用34个LBA区块来记录分区信息,并且整个磁盘最后的33个LBA区块用来备份。

LBA0(MBR兼容区块)

存储了第一阶段的启动引导程序,在原本的分区表中,仅放入一个特殊标志符,用来表示此磁盘为GPT格式。

EFI信息区(GPT头)

起始于磁盘的LBA1,通常也只占用这个单一扇区。其作用是定义分区表的位置和大小。同时记录备份用的GPT分区。GPT头还包含头和分区表的校验和,这样就可以及时发现错误。若有错误,则操作系统可以通过这个记录区来找到备份区域。

分区表

分区表区域包含分区表项。这个区域由GPT头定义,一般占用磁盘LBA2~LBA33扇区。分区表中的每个分区项由起始地址、结束地址、类型值、名字、属性标志、GUID值组成。分区表建立后,128位的GUID对系统来说是唯一的。

每个LBA都可以记录四组分区记录。(4 * 128B)

相对字节偏移量
(十六进制)
字节数说明
00~0F16用GUID表示的分区类型
10~1F16用GUID表示的分区唯一标示符
20~278该分区的起始扇区,用LBA值表示。
28~2F8该分区的结束扇区(包含),用LBA值表示,通常是奇数。
30~378该分区的属性标志
38~7F72UTF-16LE编码的人类可读的分区名称,最大32个字符。

GPT分区

最大的区域,由分配给分区的扇区组成。这个区域的起始和结束地址由GPT分区表定义。

备份区域

备份区域位于磁盘的尾部,包含GPT头和分区表的备份。它占用GPT结束扇区和EFI结束扇区之间的33个扇区。其中最后一个扇区用来备份1号扇区的EFI信息,其余的32个扇区用来备份LBA2~LBA33扇区的分区表。

参考资料

http://www.jinbuguo.com/storage/gpt.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值