相关概念
机械硬盘-磁道
- 机械硬盘盘片上的同心圆轨迹,数据沿磁道存储
机械硬盘-扇区
- 每个磁道被等分为若干弧段,每个弧段称为一个扇区
- 是物理扇区
- 是真实存在的物理结构
- 例如:一个磁道可能包含数百至上千个扇区,外圈磁道因周长更长可容纳更多扇区
- 读写单位
- 扇区是硬盘读写的最小物理单元,传统大小为
512
字节(现代硬盘也有4KB
扇区)
- 扇区是硬盘读写的最小物理单元,传统大小为
- 最小擦除单位
- 无(可直接覆盖)
- 扇区对齐要求
- 无特别要求
固态硬盘-扇区
- 固态硬盘(
SSD
)没有物理扇区,但有逻辑扇区概念:SSD
基于闪存芯片(NAND Flash
),数据存储在浮栅晶体管中- 最小操作单位是 页(
Page
)(通常4KB
),最小擦除单位是 块(Block
)(包含多个页)
- 逻辑扇区
- 为兼容传统系统,
SSD
通过 闪存转换层(FTL
) 将逻辑扇区地址映射到物理页地址:
- 为兼容传统系统,
- 逻辑扇区大小
- 可配置为
512B
(兼容模式,称512e
)或4KB
(原生模式,称4Kn
)
- 可配置为
- 读写单位
- 实际以页为单位(如
4KB
),若逻辑扇区为512B
,则一次物理读写可能覆盖多个逻辑扇区
- 实际以页为单位(如
- 最小擦除单位
- 最小擦除单位是 块(
Block
)(包含多个页)
- 最小擦除单位是 块(
- 扇区对齐要求
- 需
4KB
对齐以避免性能下降
- 需
页(Page
)
- 数据库管理磁盘的最小单位,或
SSD
的物理读写单元 - 典型大小:
- 数据库:
16KB
SSD
:4KB
- 数据库:
块(Block
)
- 操作系统与磁盘交互的最小数据单元(
Linux/Unix
术语),等同于簇(Windows
) - 典型大小:
- 通常
4KB
(与页对齐)
- 通常
簇(Cluster
)
- 文件系统管理磁盘空间的最小逻辑单元,由连续扇区组成
- 典型大小:
1KB
–64KB
(如NTFS
默认4KB
)
机械硬盘-簇
- 文件系统将多个连续扇区合并为簇(如
NTFS
中8扇区=4KB
),以减少寻址开销 - 空间浪费问题:
1
字节文件也占用完整一簇(如4KB
),导致存储效率降低
- 性能优化
- 减少寻道时间(大簇连续存储)
机械硬盘-块
Linux
系统中与簇等价的概念,是read/write
系统调用的最小单位(默认4KB
)
固态硬盘-页
- 最小读写单元,通常为
4KB
(与操作系统块大小对齐),基于NAND
闪存结构 - 特点:
- 页可无限次读,但写入前需擦除整个块
固态硬盘-块
- 最小擦除单元,由多个页组成(如
128页=512KB
),擦除寿命约1
万次 - 问题
- 修改数据需复制整个块到新位置再写入,引发写放大问题
固态硬盘-簇
- 逻辑概念与
HDD
相同(如NTFS
簇大小4KB
),但SSD
无物理寻道成本,故小簇不会导致性能下降 - 性能优化
- 减少写放大(小簇 +
FTL
优化)
- 减少写放大(小簇 +
固态硬盘-闪存转换层(FTL
)
- 将文件系统的逻辑簇地址(
LBA
) 映射到SSD
的物理页地址(PBA
),隐藏物理写入限制
优化
hdd
- 视频存储用
64KB
簇,数据库用4KB
簇,平衡空间与性能
- 视频存储用
ssd
- 禁用碎片整理:避免无谓擦写(寿命消耗)
4K
对齐:分区时确保簇大小=页大小(4KB
),提升FTL
效率
MBR (Master Boot Record)
- 物理位置
- 硬盘首个扇区(
0
柱面0
磁头1
扇区)
- 硬盘首个扇区(
- 组成
- 分区表(
DPT
) 是MBR
的一部分
- 分区表(
部分 | 大小 | 作用 |
引导程序 | 446 字节 |
加载活动分区的引导程序(如GRUB ) |
分区表(DPT ) |
64 字节 |
存储4 个主分区信息(每项16 字节) |
结束标志 | 2 字节 |
0x55AA (校验完整性) |
MBR
功能- 作为磁盘的启动入口,BIOS在开机时加载并执行MBR中的引导代码
- 通过分区表定位活动分区(标记为
0x80
的分区),并移交控制权
- 分区表功能
- 定义磁盘的逻辑划分(如主分区、扩展分区),决定分区数量、位置及大小
- 无分区表则操作系统无法识别磁盘空间
- 工作流程
BIOS
加载MBR
至内存0x7C00
MBR
程序扫描分区表,定位活动分区(标记为0x80
)- 加载活动分区的引导扇区(如
DBR
),移交控制权
分区信息示例
1 2 3 4 5 6 |
磁盘0 磁盘分区1 200MB 状态良好 Windows(C:) 300.00GB NTFS 状态良好(启动、页面文件、基本数据分区) (D:) 631.66GB NTFS 状态良好 磁盘0 磁盘分区5 1.00GB 状态良好(恢复分区) 磁盘0 磁盘分区6 20.00GB 状态良好(恢复分区) 磁盘0 磁盘分区7 1.00GB 状态良好(恢复分区) |
分区 | 大小 | 文件系统 | 类型与作用 | 技术必要性 |
分区1 | 200MB | 未显示 | EFI系统分区(ESP) | UEFI启动必需,存放引导管理器(bootmgfw.efi )和Windows Boot Manager配置文件 |
C:(主分区) | 300GB | NTFS | Windows系统盘(启动+页面文件+基础数据) | 操作系统核心文件、用户程序及虚拟内存交换文件 |
D:(主分区) | 631.66GB | NTFS | 用户数据存储盘 | 存放个人文件、媒体资源(与系统隔离防崩溃) |
分区5-7 | 1GB+20GB+1GB | 未显示 | 恢复分区(通常为Windows RE和OEM恢复工具) | 系统故障时恢复环境(WinRE)载体,内含系统重置镜像 |
1 2 3 4 5 6 |
/EFI /Microsoft /Boot bootmgfw.efi # Windows引导管理器 BCD # 引导配置数据库(含启动菜单参数) /ubuntu # 若安装双系统会有其他OS引导 |
MBR
位置
MBR
(主引导记录)既不存在于EFI
系统分区,也不在C
盘主分区,而是位于整个物理磁盘的第一个扇区(绝对位置)- 那是不是,每块物理磁盘的第一个扇区,都存的是该物理磁盘的
MBR
相关数据?MBR
分区磁盘:
第一扇区(0柱面0磁头1扇区)必然存储MBR,包含引导程序、分区表(DPT)和结束标志55AA
GPT
分区磁盘:
第一扇区存储的是保护性MBR(Protective MBR),而非传统MBR,其作用仅为兼容旧系统,阻止MBR
工具误操作GPT
磁盘
判断是MBR
分区还是GPT
分区
win + x
- 磁盘管理
- 右击磁盘
0
,属性,卷,磁盘分区形式
cmd
diskpart
list disk
Gpt
那行有*
号是Gpt
,空白是Mbr
MBR
和GPT
- 分区结构与容量限制
MBR
:使用32位逻辑块地址(LBA),分区表仅64字节,仅能记录4个分区项。超过2TB的磁盘无法充分利用空间,且需通过扩展分区+逻辑分区扩展数量,管理复杂GPT
:采用64位LBA,分区表动态扩展,支持超大容量(如18EB)。分区直接以主分区形式存在,无需逻辑分区,管理更直观
- 引导机制与系统兼容性
MBR + BIOS
:启动时BIOS读取磁盘首扇区的MBR代码,跳转至活动分区加载系统。兼容老旧系统(如WinXP),但无法支持Secure Boot等安全特性GPT + UEFI
:UEFI固件直接访问ESP分区中的EFI文件(如bootx64.efi
),启动更快且支持安全启动。仅限Win8以上或64位系统(Win11强制要求GPT)
- 数据可靠性与恢复
MBR
:分区表仅存储于磁盘首扇区,无备份。若损坏需手动修复或依赖工具恢复,成功率低GPT
:分区表在磁盘头部和尾部各存一份,CRC校验可检测错误。即使主表损坏,备份表可自动恢复,数据安全性高
- 特殊分区需求
MBR
:需保留一个主分区作为“活动分区”引导系统GPT
:必须包含ESP分区(存放EFI引导文件)和可选的MSR分区(微软保留空间,用于动态磁盘转换)
GPT
分区的分区表
- 主分区表位于磁盘的 2~33号扇区(LBA 2–33),紧随GPT头(LBA 1)之后
- 备份分区表位于磁盘的最后一个扇区(LBA -1),与主分区表完全镜像
MFT
与MBR
的关系
- 功能定位不同
MBR
:位于磁盘的首个扇区(LBA 0),负责分区管理和系统启动
作用:BIOS加载MBR后,由其定位活动分区并移交控制权至分区的引导扇区(如DBR)- MFT:是NTFS文件系统的核心元数据文件,位于每个NTFS分区的数据区
作用:操作系统通过MFT访问文件数据,与磁盘分区方案无关
MFT
和GPT
的关系
- 无论分区采用MBR或GPT,只要格式化为NTFS文件系统,其文件管理仍依赖MFT
- GPT仅影响分区管理方式,与文件系统无关
MBR
或GPT
和NTFS
的关系
- MBR或GPT可以理解为是磁盘的不同规划方式,定义分区数量、边界(起始/结束扇区)等
- NTFS或EXT4或FAT32这些文件系统可以理解为是分区内的管理方式(文件命名,簇分配,MFT等)
- 也就是说可以分区1是NTFS,分区2是FAT32
总结
- 文件系统向磁盘发起的读写请求以簇为单位,但磁盘硬件实际执行(读写)的最小物理操作单位不同:
HDD
:物理读写单位为扇区(512B
或4KB
),但系统通常以簇为单位发起请求以减少I/O
次数SSD
:物理读写单位为页(通常4KB
),但文件系统仍以簇(如4KB
)发起请求,由FTL
层映射到物理页- 一个簇由 多个连续扇区(
Sector
)组成
- 对于数据的擦除,
HDD
无最小擦除单元可直接覆盖,SSD
以物理块为最小擦除单元- 而一个物理块由多个连续页组成
- 擦除操作不可拆分,即使仅需修改一页数据,也需整块擦除再写入
- 特定概念总结
- 簇是个逻辑概念(
Windows
中文件系统向磁盘发请求以簇为单位) - 块也是个逻辑概念(
Linux/Unix
中文件系统向磁盘发请求以块为单位) - 而所谓的物理块是个
SSD
特有的物理概念(指NAND
闪存的物理最小擦除单元)
- 簇是个逻辑概念(
问题
- 机械硬盘没有页的概念吗
- “页”是固态硬盘(
SSD
)特有的物理存储单位,而机械硬盘的物理操作单位是扇区(Sector
)
- “页”是固态硬盘(
特性 | 机械硬盘(HDD ) |
固态硬盘(SSD ) |
物理最小单位 | 扇区(512B 或4KB ) |
页(4KB/8KB/16KB ) |
最小擦除单位 | 无(可直接覆盖扇区) | 块(128–256 页) |
逻辑抽象单位 | 簇/块(文件系统定义) | 逻辑扇区(512B/4KB ,由FTL 映射) |
写入机制 | 支持单扇区覆盖 | 需整块擦除后再写入新页 |
性能瓶颈 | 寻道时间 + 旋转延迟 | 写放大 + 擦除寿命 |
windows
系统中,块与簇是否等价概念- 在
Windows
系统中,“块”(Block
)与“簇”(Cluster
)本质上是等价概念,指代文件系统管理磁盘空间的最小逻辑单位
- 在
声明:本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Windows机制:消息处理04/29
- ♥ Windows创建进程实例:权限及子进程监控相关10/19
- ♥ 51CTO:Linux C++网络编程五08/20
- ♥ breakpad记述:Windows下动态库的编译使用03/15
- ♥ Windows机制:物理内存、虚拟内存03/28
- ♥ Windows 核心编程 _ 线程优先级与关联性07/09