剖析硬盘分区方案和NTFS文件系统结构

NTFS

硬盘分区

硬盘结构如下

  • 主引导记录:包括主引导记录(一般占用446字节),分区表(一般占用64字节),以0x55AA结尾,一般是512字节
  • 基本分区
  • 扩展分区

MBR分区方案

因此从0x01BE0x01FD这六十四个字节表示的是4个主分区的信息,每个主分区16个字节描述

字节位 含义
1B 引导标志,80H表示活动分区,否则为非活动分区
2-4B 本分区的起始磁头号(2B)、扇区号(3B的低6位)、柱面号
5B 分区类型表,一般07H表示是NTFS分区
6-8B 本分区的结束磁头号、扇区号、柱面号
9-12B 本分区之前已用的扇区数(分区起始扇区)
13-16B 本分区的总扇区数

由于现在的硬盘越来越大,现在的MBR,由传统的CHS方案改为LBA方案
LBACHS之间的转换:
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分区表的最开头,处于兼容性考虑仍然存储了一份传统的MBRProtective MBR保护GPT磁盘不受以前发布的MBR磁盘工具的危害,这些工具不能感知GPT,也无法正确地访问GPT磁盘

在支持从GPT启动的操作系统中,这里也用于存储第一阶段的启动代码,在这个MBR中,只有一个标识为0xEE的分区,以此来表示这块硬盘使用GPT分区表

在使用MBR/GPT混合分区表的硬盘中,这部分存储了GPT分区表的一部分分区(通常是前四个分区),可以使不支持从GPT启动的操作系统从这个MBR启动,启动后只能操作MBR分区表中的分区

GPT分区表头的格式

起始字节</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妖怪喜欢风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值