计算机概论: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)
- 图示
上图可以看出,共划出四个分区:
- 当你的操作系统是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个区域就是逻辑分区
上图的这些分区在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属于逻辑分区,两者不可以整合到一起
二、GPT磁盘分区表
1.概念
- 磁盘采用GPT进行分区,则每个扇区为4K大小
- 采用逻辑区块地址来处理:以LBA(默认512字节)格式来规划
2.组成结构
与MBR不提供,MBR只采用一个512字节的区块来记录信息。GPT使用了34个LBA区块来记录分区信息,GPT除了前面的34个LBA之外,整个磁盘后面还有34个LBA区块用来做备份
- 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分区表对于单一分区来说,最大容量为: |
3.注意事项
- GPT已经没有主、扩展、逻辑分区的概念,每个都可以视为是主要分区,每一个分区都可以拿来格式化使用
- fdisk软件并不支持GPT
- 启动引导程序方面,grub第一版并不支持GPT。grub2以后才支持
检测磁盘分区格式
- 操作系统检测磁盘分区格式与启动的检测程序有关:BIOS与UEFI,详情点击链接:https://blog.****.net/qq_41453285/article/details/85537359