NTFS
硬盘分区
硬盘结构如下
- 主引导记录:包括主引导记录(一般占用
446
字节),分区表(一般占用64
字节),以0x55AA
结尾,一般是512
字节 - 基本分区
- 扩展分区
MBR
分区方案
因此从0x01BE
到0x01FD
这六十四个字节表示的是4个主分区的信息,每个主分区16
个字节描述
字节位 | 含义 |
---|---|
1B |
引导标志,80H 表示活动分区,否则为非活动分区 |
2-4B |
本分区的起始磁头号(2B )、扇区号(3B 的低6 位)、柱面号 |
5B |
分区类型表,一般07H 表示是NTFS 分区 |
6-8B |
本分区的结束磁头号、扇区号、柱面号 |
9-12B |
本分区之前已用的扇区数(分区起始扇区) |
13-16B |
本分区的总扇区数 |
由于现在的硬盘越来越大,现在的
MBR
,由传统的CHS
方案改为LBA
方案
LBA
与CHS
之间的转换:
设NS
为每磁道扇区数,NH
为磁头数,C、H、S
分别表示磁盘的柱面、磁头和扇区编号,LBA
表示逻辑扇区号,div
为整除计算,mod
为求余计算,则计算公式为:LBA = (C-CS) × PH × PS + (H-HS) × PS + (S - SS)
当采用
LBA
模式时说明C
被定义为0xFEFFFF
使用DiskGenius
工具可查看
| Offset |0 1 2 3 4 5 6 7 8 9 A B C D E F|0123456789ABCDEF|
|00000001D0|...............................|Del to restart..|
|00000001E0|...............................|................|
|00000001F0|......................... 55 AA|................|
GPT
分区方案
随着硬盘越来越大,当超过2T
的时候,MBR
分区方案中全部四个主分区已经不能满足分区分配的要求了,因此采用GPT
方法
传统的加载系统走的是BIOS + MBR
这一套,但是随着计算机的发展,为了优化性能,逐渐转化成了UEFI + GPT
方案
GPT
分区表的结构:
LAB0
:存放Protective MBR
LBA1
:存放GPT
表头LBA2-LBA33
:存放GPT
表项,每个表项占用128B
,一个LBA
分区有4
个表项,GPT
共有128
个表项LBA34
:存放分区- 最后
34
个分区存放恢复分区
LBA0:Protective MBR
在GPT
分区表的最开头,处于兼容性考虑仍然存储了一份传统的MBR
,Protective MBR
保护GPT
磁盘不受以前发布的MBR
磁盘工具的危害,这些工具不能感知GPT
,也无法正确地访问GPT
磁盘
在支持从GPT
启动的操作系统中,这里也用于存储第一阶段的启动代码,在这个MBR
中,只有一个标识为0xEE
的分区,以此来表示这块硬盘使用GPT
分区表
在使用MBR/GPT
混合分区表的硬盘中,这部分存储了GPT
分区表的一部分分区(通常是前四个分区),可以使不支持从GPT
启动的操作系统从这个MBR
启动,启动后只能操作MBR
分区表中的分区
GPT
分区表头的格式
起始字节</ |
---|