磁盘分区之MSDOS与GPT的区别

只介绍两者的区别,没有操作方法,做记录学习用

与支持最大卷为2TB并且每个磁盘最多有4个主分区(或3个主分区,1个扩展分区)的MBR磁盘分区样式相比,GPT磁盘分区样式支持最大卷128EB并且每磁盘的分区数没有上限,只受到操作系统限制(由于分区表本身需要占用一定空间,最初规划硬盘分区时,留给分区表的空间决定了最多可以有多少个分区,IA-64版Windows限制最多有128个分区,这也是EFI标准规定的分区表的最小尺寸)。与MBR分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT分区磁盘有备份分区表来提高分区数据结构的完整性。

MSDOS分区

早期的Linux系统为了兼容Windows的磁盘,使用支持Windows的MBR的方式来处理开机管理程序与分区表,这些记录在第一个扇区,这个扇区通常为512bytes大小,所以第一个扇区会有两个数据

1、主要启动记录区(MBR):可以按照开机管理程序的地方,有446bytes

2、分区表(partition table):记录整个硬盘分区的状态,有64bytes

由于分区表所在区块仅有64bytes容量,因此最多仅能有四组记录区,每组记录区记录了该区段的起始与结束的磁柱号码。

 

磁盘分区

磁盘分区之MSDOS与GPT的区别

上图假设磁盘只有400个磁柱,共分4个分区,第四个分区所在301-400号磁柱的范围,这四个分区被称为主要(primary)或延伸(extended)分区。利用延伸分区可以划分更多的分区,也就是所谓的逻辑分区(logical partition)逻辑分区示意图磁盘分区之MSDOS与GPT的区别

GPT磁盘分区(GUID partition table)

为了兼容与所有的磁盘,在扇区的定义上面,大多会使用所谓的逻辑区块地址(LBA)来处理,GPT将磁盘所有区块以LBA来规划,而第一个LBA称为LBA0,与MBR仅使有一个区块不同,GPT除了前面的34个LBA之外,整个磁盘的最后33个LBA也拿来作为另一个备份

GPT磁盘分区示意图

 

LBA0(MBR相容区块)

与MBR模式相似

LBA1(GPT表头记录)

记录分区本身位置与大小,同时记录了备份用的GPT分区放置位置以及分区表的检验机制码(CRC32)

LBA2-33(实际记录分区信息)

从LBA2区块开时,每个LBA都可以记录4笔分区记录,所以默认情况下可以有4×32=128笔分区记录,因为每个LBA有512bytes,因此每个记录用到128bytes的空间,除了每个记录所需要的标识符和相关记录外,GPT在每个记录中分别提供64bits来记录开始/结束的扇区号码,因此,GPT分区表对于单一分区来说,他的最大容量限制就是8ZB。

为了对比理解附一个结构图

结构图

 

附表 支持GPT格式的系统

磁盘分区之MSDOS与GPT的区别

 

注:1、分区工具无法转换MBR,可能导致的原因是磁盘内存在资料,解决方法,将所有分区格式化。

2、相关书籍《鸟哥私房菜》以及百度百科,有兴趣可以阅读原文,此处只做学习记录。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/103248

(3)
你的微笑像茉莉你的微笑像茉莉
上一篇 2018-07-19 19:27
下一篇 2018-07-19

相关推荐

  • MySQL之存储引擎及索引

    什么是MySQL的存储引擎?MySQL中索引的作用是什么?本节内容将为你解答

    2018-06-11
  • centos7 网络设定

    从CentOS7开始,网络设定可以不再通过修改各类配置文件,而使用近乎万能的nmcli命令。本文简单介绍该命令的重要使用方法,为后期查询复习做记录。

    Linux笔记 2018-06-12
  • 系统安装服务器搭建

    http服务器、dhcp服务器、tftp服务器

    2018-05-26
  • TCP/IP协议详解

    在前面的网络基础内容中我们了解了TCP/IP协议的定义以及TCP/IP模型的分层结构即:应用层,传输层,Internet层以及网络访问层。今天我来带大家详细了解下TCP/IP协议栈中的典型协议:传输层的TCP、UDP协议,网络层的IP协议。

    2018-05-06
  • boot

    把boot目录都删除了怎么办 文件的 关键 缺少 唯独缺少 grub.conf     ;创建这个文件 以上是boot下文件都删除了的补救法 下面是第二种方法 光盘启动,救援模式   ,用安装包的方式 不能安装在当前的跟下 grub-install安装grub相关信息 写 以上是boot是独立分区

    2018-05-13
  • sed的用法

    sed是一种流编辑器,它一次处理一行内容。 处理时,把当前处理的行存储在临时缓冲区(pattern space),同时输出到屏幕,接着用sed命令处理缓冲区中的内容,接着读取下一行,这样不断重复,直到文件末尾。 用法: sed -[options] [操作] inputfile -n:不输出模式空间内容到屏幕,即不自动打印 -e: 多点编辑 -f:/PATH…

    2018-04-22