计算机概论:04---磁盘分区:MBR与GPT磁盘分区表

引入

在02中介绍过硬盘https://blog.****.net/qq_41453285/article/details/85456920,再简单的介绍一下扇区:

1.数据的写入是在碟片上操作的,碟片又可以细分为扇区与磁道

  • 扇区的物理大小有两种格式,分别为512B和4K字节:若第一扇区为MBR格式,则扇区大小为512B。若第一扇区为GPT格式,则扇区为4K大小

2.第一扇区

  • 第一扇区十分重要,记录了整块磁盘的重要信息(分区表信息)
  • 分区表分为两种格式:MBR格式、GPT格式

 

MBR分区表

若第一扇区为MBR格式,通常为512字节。早起的Linux系统为了兼容Windows,采用的是Windows支持的MBR的方式来处理启动引导程序与分区表

MBR主要包含:主引导程序与分区表

  • 主引导记录:可以安装启动引导程序的地方,有446字节
  • 分区表:记录整块硬盘分区的状态,有64字节

1.分区表

  • 由于分区表仅有64字节,最多只能记录四组记录区
  • 磁盘默认的分区表仅能写入四组分区信息
  • 分区的最小单位通常为柱面
  • 这四组划分信息我们成为主要分区(Primary)或扩展分区(Extended)
  • 图示

计算机概论:04---磁盘分区:MBR与GPT磁盘分区表

上图可以看出,共划出四个分区:

  • 当你的操作系统是Windows,那么第一到第四个分区就是C、D、E、F盘。当你数据想要写入到F盘时,那么数据就会被写入到301-400号柱面之间。
  • 若你的操作系统为Linux,那么这四个区对应的文件名分别为

P1:/dev/sda1

P2:/dev/sda2

P3:/dev/sda3

P4:/dev/sda4

2.主要分区、扩展分区、逻辑分区

  • 主要分区(Primary):不可以再分的区域
  • 扩展分区(Extended):可以扩展的分区,包含更多的分区信息
  • 逻辑分区(logical partition):由扩展分区扩展出来的区域

例如下面的,P1为主要分区。P2为扩展分区,代表101-400,这些区域又被分成5个区域,这5个区域就是逻辑分区

计算机概论:04---磁盘分区:MBR与GPT磁盘分区表

上图的这些分区在Linux系统中的设备文件名分别为:

P1:/dev/sda1

P2:/dev/sda2

L1:/dev/sda5

L2:/dev/sda6

L3:/dev/sda7

L4:/dev/sda8

L5:/dev/sda9

注意:因为主要分区最多只有4个,无论主要分区有多少,第一个逻辑分区一定是由5号开始的(如果有的主要分区没有被用到,就会保留下来),这在MBR中是个很重要的概念。

三个分区的区别与特点

  • 主要分区与扩展分区最多可以有4个(硬盘的限制)
  • 扩展分区最多只能有1个(操作系统的限制)
  • 逻辑分区是由扩展分区划分出来的分区。如果扩展分区被破坏,那么所有的逻辑分区都将会被删
  • 能够格式化后作为数据存取的分区是主要分区与逻辑分区。扩展分区无法被格式化
  • 逻辑分区的数量依操作系统而不同,Linux中SATA硬盘已经可以突破63个以上的分区限制

3.MBR分区表一些注意事项

  • 操作系统无法使用2.2TB以上的磁盘容量
  • MBR仅有一个区块,若被破坏后,经常无法使用和恢复
  • MBR内的存放启动引导程序的区块仅446字节,无法存储较多的程序代码

4.MBR的一些例题

在Windows操作系统中,如果你想要将D和E盘整合成为一个新的分区,下面两种情况是否可行

  • 第一种可以:因为D和E同属于逻辑分区,可以将两个分区删除,然后重新建立一个分区
  • 第二种不可以:因为D属于主要分区,E属于逻辑分区,两者不可以整合到一起

计算机概论:04---磁盘分区:MBR与GPT磁盘分区表

 

二、GPT磁盘分区表

1.概念

  • 磁盘采用GPT进行分区,则每个扇区为4K大小
  • 采用逻辑区块地址来处理:以LBA(默认512字节)格式来规划

2.组成结构

与MBR不提供,MBR只采用一个512字节的区块来记录信息。GPT使用了34个LBA区块来记录分区信息,GPT除了前面的34个LBA之外,整个磁盘后面还有34个LBA区块用来做备份

计算机概论:04---磁盘分区:MBR与GPT磁盘分区表

  • LBA0(MBR兼容区快)

与MBR模式相比,这个兼容区块也被分为两个部分

①第一部分:启动引导程序 存储了第一阶段的启动引导程序
②第二部分:存放一个特殊标志 用来表示此磁盘为GPT格式之意。不懂GPT分区表的磁盘管理程序不会认识这块磁盘,除非用户有特别要求处理这块磁盘。
  • LBA1(GPT表头记录)

包含以下部分

记录了分区表的位置与大小
记录了备份用的GPT分区(就是放置在最后的34个LBA区块)放置的位置
放置了分区表的校验码(CRC32),操作系统可以根据这个校验码来判断GPT是否正确
  • LBA2-LBA33(实际记录分区信息处)
从LBA2区块开始,每个LBA都可以记录4组分区记录,所以默认情况下,总共可以有4*32=128组分区记录
每个LBA有512字节。每组记录用到128字节,除了每组记录所需要的标识符与相关的记录之外,GPT在每组记录中分别提供了64位来记载开始/结束的扇区号码
因此,GPT分区表对于单一分区来说,最大容量为:计算机概论:04---磁盘分区:MBR与GPT磁盘分区表×512字节=计算机概论:04---磁盘分区:MBR与GPT磁盘分区表×1K字节=计算机概论:04---磁盘分区:MBR与GPT磁盘分区表×TB=8ZB

3.注意事项

  • GPT已经没有主、扩展、逻辑分区的概念,每个都可以视为是主要分区,每一个分区都可以拿来格式化使用
  • fdisk软件并不支持GPT
  • 启动引导程序方面,grub第一版并不支持GPT。grub2以后才支持

 

检测磁盘分区格式