Linux -- 磁盘存储管理 分区类型(MBR,GPT)
首先呢,大家要清楚,在 Linux 上,分区类型有两种 :
一种是 MBR , 一种 GPT ~!!!
我们所谓的分区、分盘,其实是一回事儿。
分区,就是对磁盘划分 逻辑边界, 注意是逻辑边界,并不是物理边界,并不是说我们把磁盘用电锯电成几块儿,不是那样的; 注意 ' 逻辑' 的体会~!!
MBR :
官方 : MBR(Master Boot Record,主引导记录)是传统的分区机制,使用BIOS引导
的PC设备,寻址空间只有32bit长,最大支持2.19TB
# 官方的解释是 : 因为 MBR 寻址空间只有 32 bit 长,所以导致了 它最大只能支持
2 TB 的硬盘空间
支持分区数量 : 要么 四个主分区 ;
要么 三个主分区 ,一个扩展分区 。
# 就是说,对于 MBR 分区格式来说,它的分区方式是 :
===>>>
要么 直接 四个主分区 。
要么 三个主分区 加 一个 扩展分区
MBR 的分区只有这两种情况~!!!!
# 其实,第二种的分区( 三个主分区,一个扩展分区 ) 是在第一种的基础
上得来的。 大家想一种情况 :
现在有一块儿硬盘,是200 GB ,要进行下 分区划分,化成 四个主分区
的格式,那就意味着 每个分区 50 个 GB(平均分配的话),
这点能想通吧~!!!
接着,那这四个分区各50个 G ,我往这四个分区里存储东西,那有的分
区可能存储的东西就不需要这么大( 不需要 50 个G ) 的存储空间,可
能5个 G 就够了,4个 G ,2 个 G ,就够了呢,不需要 50 个 G 这么大的
存空间呢,要是有个小一点存储空间的分区就好了( 这就是问题所在 )
问题就是 :
===>>>
要是有一个分区( 小一点) 就好了,问题就是没有啊~!!!
你只能有 四个主分区啊,想再来第5 个分区来不了啊~!!!
这呢,就把 扩展分区引出来了。
===>>>
就有了第二种分区方式 ( 三个主分区 加 一个扩展分区 )
MBR 结构 :
为什么 MBR 最多只能有四个主分区 ??
===>>>
分区表占据 64 个字节,可以对四个分区的信息进行描述,其中每个分区的信息占据 16 个字节
分区类别 :
主分区 :
官方 : 一块硬盘最多4个主分区,主分区不可以再进行二次分区。可以用来引导、启
动操作系统 。
同时,主分区可以直接建立文件系统,如windows的NTFS,存放数据。
扩展分区 : 它本身不是真正意义上的分区,本身不承载空间。主要就是增加分区数量
官方 : 一块硬盘最多一个,加主分区最多4个,
不能创建文件系统,可以划分逻辑分区。
在扩展分区的基础上,建立逻辑分区~!!!
逻辑分区 : 可以创建文件系统,存放数据,同时,逻辑分区的数量没有限制。
GPT :
官方 : GPT(GUID Partition Table,全局唯一标识分区表)是一种比MBR分区更先
进、更灵活的磁盘分区模式。
# GPT的分区信息是在分区中,而不象MBR一样在主引导扇区,为保护GPT不受
MBR类磁盘管理软件的危害,GPT在主引导扇区建立了一个保护分区
(Protective MBR)的MBR分区表(此分区并不必要),其类型被标识为0xEE。
结构 :
我们对上示图做以注解 :
# 从上图可以看到的是,GPT 的结构是有着 主备两部分的,
上面有Primary GPT Header ( 主区 ) ,下面有 Secondary GPT Header(备区)
所谓啥 主的,备的,就是 GPT 它就是这种结构,有主备模式 :
即如果 主崩了的话,那还有个 备用的~!!!
# 跟现代的MBR一样,GPT也使用LBA(Logical Block Address,逻辑区块地址)取
代了早期的CHS寻址方式。传统MBR信息仅存储于LBA 0,而GPT使用了34个
LBA,GPT头存储于LBA 1,接下来才是分区表本身。
# GPT的每一个分区都可以独立存在,没有所谓的扩展、逻辑分区的概念,即所有分区
都是主分区。
✋ LBA0 (MBR兼容部分)
与MBR模式相似的,这个兼容区块也分为两个部份,一个就是跟之前446 bytes相似的
区块,储存了第一阶段的开机管理程序!而在原本的分区表的纪录区内,这个兼容模式
仅放入一个特殊标志的分区,用来表示此磁盘为GPT格式之意。而不懂GPT分割表的磁
盘管理程序,就不会认识这块磁盘,除非用户有特别要求要处理之,否则该管理软件不
能修改此分区信息,进一步保护了此磁盘!
✋ LBA1 (GPT 表头纪录)
这个部份纪录了分区表本身的位置与大小,每128字节标识一个分区(UEFI标准中的最
低要求:分区表最小要有16384字节)同时纪录了备份用的GPT 分区(就是前面谈到的
在最后34 个LBA 区块) 放置的位置, 同时放置了分区表的检验机制码(CRC32 ),操作
系统可以根据这个检验码来判断GPT 是否正确。若有错误,还可以通过这个纪录区来取
得备份的GPT(磁盘最后的备份区域) 来恢复GPT 的正常运作!其格式为:
===>>>
✋ LBA2-33 (实际纪录分区信息处)
从LBA2区块开始,每个LBA都可以纪录4条分区纪录,所以在默认的情况下,总共可以有
4*32 = 128条分区纪录!因为每个LBA有512bytes,因此每条纪录用到128 bytes的空
间,除了每条纪录所需要的识别码与相关的纪录之外,GPT在每条纪录中分别提供了64bits
来记录开始/结束的扇区(Sector)号码,因此,GPT分区表对于单一分区来说,他的最大
容量限制为 :
2^{64}*512bytes=2^{63}*1Kbytes=2^{33}TB=8ZB,而1ZB = 2 30 TB!
MBR 与 GPT :
相较于MBR,GPT具有以下优点 :
✋ 得益于LBA提升至64位,以及分区表中每项128位设定,GPT可管理的空间近乎无限
大(单一分区8ZB)
✋ 分区数量几乎没有限制,由于可在表头中设置分区数量的大小
(目前windows仅支持最大128个分区,只是默认是128)
✋ 自带保险,由于在磁盘的首尾部分各带一个GPT表头,任何一个受到破坏后都可以通过
另一份恢复,极大地提高了磁盘的抗性。
✋ 循环冗余检验值针对关键数据结构而计算,提高了数据崩溃的检测几率
GPT提供了16字节的GUID来标识分区类型,使其更不容易产生冲突每个分区都可以
拥有一个特别的名字,最长72字节。
原文链接:https://blog.csdn.net/xiyangyang410/article/details/85857190
Linux -- 磁盘存储管理 分区类型(MBR,GPT)相关推荐
- Linux -- 磁盘存储管理 分区工具 gdisk
对于磁盘存储,既然要管理,要分区,那必然就少不了要 分区的工具 对于分区工具,常用的有三个, fdisk .gdisk.parted ~!! 本次,先介绍下 gdisk 分区工具 上图,nvme0n2 ...
- 浅谈Linux磁盘存储管理续【逻辑卷管理(LVM)】
一.LVM的基本概念 在对磁盘进行分区大小规划时,有时往往不能确定这个分区要使用的总空间大小,而用fdisk对磁盘分区后,每个分区的大小已经固定了,如果分区设置的过大,就白白浪费了磁盘空间,而分区设置 ...
- Linux磁盘相关-分区与修复
转自:http://balistardut.github.io/2016/01/30/Linux%E7%A3%81%E7%9B%98%E7%9B%B8%E5%85%B3-%E5%88%86%E5%8C ...
- Linux磁盘与分区命名:sda, sdb, sdc, sda1, sda2
Linux设备名称 Linux磁盘和分区的名称可能与其他操作系统不同.您需要知道在创建和挂载分区时Linux使用的名称. 下面是基本的命名方案: 第一个软盘驱动器命名为/dev/fd0. 第二个软驱命 ...
- Linux 磁盘自动分区脚本
Linux 运维以及脚本干货: 欢迎分享,欢迎folk https://unnunique.github.io/AADocs/skill-docs/linux/ https://github.com/ ...
- Linux 学习手记(6): 磁盘、分区、MBR与GPT
1. 磁盘在LINUX中的表示 Linux所有设备都被抽象为一个文件,保存在/dev目录下 设备名称一般为hd[a-z]或者sd[a-z]([a-z]为分区号),如:hda.hdb.sda.sdb I ...
- Linux 磁盘管理-分区管理-磁盘分区【gdisk】gpt分区工具使用介绍
gdisk -l [设备] gdisk又叫GPT fdisk,算是fdisk的延伸吧,主要使用的是GPT分区类型,用来划分容量大于2T的硬盘. 扩展1:分区类型GPT和MBR.GPT最大支持18EB( ...
- linux磁盘、分区、设备简单介绍
1.硬盘接口类型及速率: IDE接口:133MB/s SATA接口:6gbps scsi接口:并口类型,ultra320,320MB/s,ultra640,640MB/s SAS接口:串口,6gbps ...
- Linux磁盘管理——分区+挂载(fdisk+gdisk+mount+lsblk+df)
文章目录 一.硬盘基础知识 1. 硬盘命名方式 2. 磁盘设备的命名 3. 硬盘的分区方式 二.基本分区管理 1. 磁盘划分思路 2.lsblk命令 3. df 命令 4. fdisk 1)进入分区 ...
最新文章
- linux环境中通过useradd命令,创建用户的时候指定用户的base-dir
- 深度学习之基于Tensorflow2.0实现AlexNet网络
- 2017一季度JAVA面试题锦集
- 无心剑中译海涅《新春》
- 输入和用户界面——总结
- 新拟物立体情人节主题图标来了,适合潮流现代的主题设计!
- 计算机硬盘哪里找到相关信息,获取计算机的信息(IP地址、MAC地址、CUP序列号、硬盘序列号、主板信息等等)...
- HTML_简单JQ的AJAX响应式交互
- xtrabackup备份mysql数据库
- 网络框架分析-全是套路
- 免费客户旅程(Customer Journey Mapping) 示例总汇
- excel自动翻译-excel一键自动翻译免费
- 数据库SQL Server 如何将数据库表名等前缀转换成dbo
- 100个世界上鲜为人知的“常识”
- 【小程序】小程序托管平台的功能展望与想法
- C/C++代码静态分析工具调研
- 使用 Authing + Lambda 替代 AWS Cognito
- 微信小程序开发之——个人中心-介绍(1)
- 动态链接库(DLL)初始化例程失败 解决方法
- Vue+vant 直播间 - 在离开直播间时弹出确认框