msdos
磁盘分区MSDOS与GPT的区别
与支持最大卷为2TB并且每个磁盘最多有4个主分区(或3个主分区,1个扩展分区)的MBR磁盘分区样式相比,GPT磁盘分区样式支持最大卷128EB并且每磁盘的分区数没有上限,只受到操作系统限制(由于分区表本身需要占用一定空间,最初规划硬盘分区时,留给分区表的空间决定了最多可以有多少个分区,IA-64版Windows限制最多有128个分区,这也是EFI标准规定的分区表的最小尺寸)。与MBR分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT分区磁盘有备份分区表来提高分区数据结构的完整性。
1.硬盘结构
设备类型:
- 块设备:block,存取单位“块”,通常为随机访问的,块设备通常有缓存
- 字符设备:char,存取单位“字符”,通常为顺序访问的,字符设备没哟缓存
设备号码
不论是块设备还是字符设备都有两个编号
- 主要编号:major number,标识设备类别
- 次要编号:minor number,标识统一类别下的不同设备
设备文件
关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信
- 接口
- 并行
IDE 133MB/s 早期家用电脑
SCSI:640 MB/s 早期服务器
- 串口
SATA 6Gbps 家用电脑
SAS 6gbps 服务器
USB 480MB/s
- 并行
- 机械硬盘结构
- track 磁道
磁盘上的圈,每个盘面最多可以放10bit=1024磁道 外圈编号小,内圈编号大。
- sector扇区
磁道分割出来的小块,每个磁道可以存6bite扇区,也就是2^6=64个 0-63个扇区 一个扇区512byte大小
- head磁头
磁头数=盘面数 8bit 256个
- cylinder柱面
所有磁盘的对应磁道64*256*512byte=8M
- track 磁道
CHS和LBA
CHS
早期硬盘划分采用,24bit寻址
其中前10位表示cylinder,中间8位表示head,后面6位表示sector
最大寻址空间8GB
LBA
ZBR区位记录扇区结构
采用48个bit位寻址
最大寻址空间128PB
2. MSDOS
2.1 1概述
早期的Linux系统为了兼容Windows的磁盘,使用支持Windows的MBR的方式来处理开机管理程序与分区表,这些记录在第一个扇区,这个扇区通常为512bytes大小,所以第一个扇区会有两个数据
1、主要启动记录区(MBR):可以按照开机管理程序的地方,有446bytes
2、分区表(partition table):记录整个硬盘分区的状态,有64bytes
由于分区表所在区块仅有64bytes容量,而每个分区表需要占用16bytes,因此最多仅能有四组记录区,每组记录区记录了该区段的起始与结束的磁柱号码。
上图假设磁盘只有400个磁柱,共分4个分区,第四个分区所在301-400号磁柱的范围,这四个分区被称为主要(primary)或延伸(extended)分区。利用延伸分区可以划分更多的分区,也就是所谓的逻辑分区(logical partition)
2.2 MSDOS结构
- 磁盘引导记录MBR由4个部分组成,放在0扇区
- 主引导程序(偏移地址0000H—008H),它负责从活动分区中装载,并运行系统引导程序
- 出错信息数据区,偏移地址0089H—00E1H为出错信息,00E2H—01BDH全为0字节
- 分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH—01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4
- 结束标志字,偏移地址01FE—01FF的2个字节值为结束标志55AA
MBR中的DPT结构
- 第1字节引导标志:
值为80H表示为活动分区
值为00H表示非活动分区
- 第2、3、4字节
起始磁头号-第2字节;
起始扇区号-第3字节的低6位;
起始柱面号-第3字节的高3位+第4字节8位
- 第5字节,分区类型符
00H- -表示该分区未用
06H- -FAT16基本分区
0BH- -FAT32基本分区
05H- -扩展分区
07H- -NTFS分区
0FH- -(LBA模式)扩展分区(83H位Linux分区)
- 第6、7、8字节
结束磁头号-第6字节;
结束扇区号-第7字节的低6位;
结束柱面号-第7字节的高2位+第8字节
- 第9、10、11、12字节
本分区之前已用的扇区数
- 第12、14、15、16字节
本分区的总扇区数
- 第1字节引导标志:
3. GPT分区
为了兼容与所有的磁盘,在扇区的定义上面,大多会使用所谓的逻辑区块地址(LBA)来处理,GPT将磁盘所有区块以LBA来规划,而第一个LBA称为LBA0,与MBR仅使有一个区块不同,GPT除了前面的34个LBA之外,整个磁盘的最后33个LBA也拿来作为另一个备份
- LBA0(MBR相容区块)
假设的MBR,避免旧系统不识别GPT分区
LBA1(GPT表头记录)
记录分区本身位置与大小,同时记录了备份用的GPT分区放置位置以及分区表的检验机制码(CRC32)
LBA2-33(实际记录分区信息)
从LBA2区块开时,每个LBA都可以记录4笔分区记录,所以默认情况下可以有4×32=128笔分区记录,因为每个LBA有512bytes,因此每个记录用到128bytes的空间,除了每个记录所需要的标识符和相关记录外,GPT在每个记录中分别提供64bits来记录开始/结束的扇区号码,因此,GPT分区表对于单一分区来说,他的最大容量限制就是8ZB。
为了对比理解附一个结构图
附表 支持GPT格式的系统
注:分区工具无法转换MBR,可能导致的原因是磁盘内存在资料,解决方法,将所有分区格式化
引导
- 旧电脑bios配合MBR引导分区
- 新电脑UEFI配合GPT引导分区
- bios配合GPT不能启动计算机,只能当数据盘
相关阅读
我们在网上购买电脑后,有可能没有帮我们的磁盘进行分区,那么如果说我们的电脑只有一个系统分区的话。 一旦我们的系统发生问题,需要
重装系统之前都会了解一些关于BIOS与EFI的知识,很多小伙伴了解之后都会问快启动小编,自己的电脑硬盘分区MBR和GPT选哪个好?其实这个
有部分用户可能会问,电脑的硬盘是MBR分区好还是GPT分区好呢?下面小编就为大家详细的介绍MBR分区和GPT分区的区别。有两种格式的分区
硬盘MBR格式怎么转换成GPT格式?这是很多小白电脑用户所不了解的。首先介绍一下硬盘gpt格式,GPT是一种全局唯一标识分区表(GUID Par
硬盘分区对于许多人来说都是一个有难度的操作,一般来说C盘是系统盘,在电脑使用一段时间后,很多朋友发现当初建立的硬盘分区已经不能