相关概念
机械硬盘-磁道
- 机械硬盘盘片上的同心圆轨迹,数据沿磁道存储
机械硬盘-扇区
- 每个磁道被等分为若干弧段,每个弧段称为一个扇区
- 是物理扇区
- 是真实存在的物理结构
- 例如:一个磁道可能包含数百至上千个扇区,外圈磁道因周长更长可容纳更多扇区
- 读写单位
- 扇区是硬盘读写的最小物理单元,传统大小为
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至内存0x7C00MBR程序扫描分区表,定位活动分区(标记为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)和结束标志55AAGPT分区磁盘:
第一扇区存储的是保护性MBR(Protective MBR),而非传统MBR,其作用仅为兼容旧系统,阻止MBR工具误操作GPT磁盘
判断是MBR分区还是GPT分区
win + x- 磁盘管理
- 右击磁盘
0,属性,卷,磁盘分区形式
cmddiskpartlist diskGpt那行有*号是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 核心编程 _ 进程三06/19
- ♥ Windows进程通信同步、线程通信同步11/10
- ♥ 打包_7z生成自解压打包exe07/11
- ♥ Windbg关于死锁的简单调试分析总结09/13
- ♥ Dump分析:重复释放堆内存,死锁03/17
- ♥ 关于异常的捕获和dump文件的生成07/05