Linux 磁盘基础:物理结构、CHS 与 LBA 寻址原理
Linux 磁盘存储涉及物理结构与逻辑抽象。文章解析盘片、磁头、扇区等硬件组成,阐述 CHS 三维坐标寻址的局限性及 LBA 线性地址的优势。通过公式详解 CHS 与 LBA 的双向转换逻辑,帮助理解文件系统与分区管理的底层机制。

Linux 磁盘存储涉及物理结构与逻辑抽象。文章解析盘片、磁头、扇区等硬件组成,阐述 CHS 三维坐标寻址的局限性及 LBA 线性地址的优势。通过公式详解 CHS 与 LBA 的双向转换逻辑,帮助理解文件系统与分区管理的底层机制。

磁盘是 Linux 系统中唯一的机械设备,也是数据持久化存储的核心载体。想要理解文件系统、分区、格式化等上层概念,必须先搞懂磁盘的物理结构、逻辑结构和寻址方式——这是掌握 Linux 存储原理的基础。本文从磁盘硬件结构入手,逐步拆解磁道、柱面、扇区等关键概念,最终讲透 CHS 和 LBA 两种寻址方式的原理与转换逻辑。

机械磁盘的核心部件功能分工明确,类比日常物品更容易理解:
💡核心结论:磁盘存储数据的物理单元是扇区,而磁头、柱面、扇区三者共同构成了数据的物理定位坐标。
❓️**如何定位一个扇区呢?**可以先定位磁头(head)确定要访问哪一个柱面 (cylinder),再定位一个扇区 (sector)。CHS 地址定位(但是 OS 并不愿意直接使用这种方法,后面会讲)


磁盘总容量由硬件参数直接决定,公式固定:
磁盘容量 = 磁头数 × 柱面数(磁道数) × 每磁道扇区数 × 每扇区字节数(默认 512 字节)
4 × 1024 × 63 × 512 = 131072 × 512 = 67108864 字节 = 64 MB很多初学者会混淆磁道、柱面、扇区的关系,用'多层同心圆'模型就能快速理解:
磁盘的逻辑结构是操作系统对物理硬件的'简化抽象',核心是将复杂的三维物理结构(盘片→磁道→扇区)转化为易于管理的线性结构,这也是 LBA 寻址能实现的基础。
先看看下图的理解过程 (后面再来看更真实过程):

再来看看真实过程:逻辑结构是物理结构的'镜像抽象',映射规则固定:


从系统视角来看,磁盘被抽象成一个一维的扇区数组:

这种抽象让系统无需关心'哪个盘片、哪个磁道',只需像操作普通数组一样,通过 LBA 地址(下标)访问对应的扇区,极大简化了文件存储、分区管理等上层逻辑。
CHS 是'柱面(Cylinder)、磁头(Head)、扇区(Sector)'的缩写,是最早的磁盘寻址方式——直接使用物理部件的坐标定位扇区,逻辑直观:
例如:通过 CHS(2, 1, 5) 可精准定位'2 号柱面、1 号磁头、5 号扇区'对应的物理扇区,其实 CHS 对应的就是数组 (三维数组) 的下标。
CHS 寻址完全依赖硬件参数,存在明显缺陷:
LBA(Logical Block Address)即'逻辑块地址',是对 CHS 的抽象优化——直接使用逻辑结构中'一维扇区数组的下标'作为地址,把三维物理坐标(C/H/S)转化为一维线性地址,系统无需关心硬件细节。 核心优势:
LBA 的编号规则完全遵循逻辑结构的数组顺序,确保地址连续对应物理存储的连续性:
系统使用 LBA 寻址 (OS 认 LBA),而磁盘硬件只识别 CHS 坐标,因此必须进行双向转换——转换逻辑由磁盘固件(硬件电路)自动完成,无需用户干预,但理解转换公式能更深入掌握寻址本质。
转换前需明确磁盘的三个固定参数(系统开机时从磁盘获取):
LBA = 柱面号(C)× 单个柱面扇区数(H×S) + 磁头号(H)× 每磁道扇区数(S) + 扇区号(S) - 1LBA = 0×(4×4) + 1×4 + 2 - 1 = 0 + 4 + 1 = 5柱面号(C)= LBA ÷ 单个柱面扇区数(H×S) (整除)剩余扇区数 = LBA % 单个柱面扇区数(H×S) (取余)磁头号(H)= 剩余扇区数 ÷ 每磁道扇区数(S) (整除)扇区号(S)= 剩余扇区数 % 每磁道扇区数(S) + 1 (取余后 +1,适配硬件编号)单个柱面扇区数 = 4×4=16; C=5÷16=0; 剩余扇区数 = 5%16=5; H=5÷4=1; S=5%4 +1=1+1=2; 结果:CHS (0,1,2)(与前面示例反向验证一致)。

磁盘的物理结构、逻辑结构和寻址方式是 Linux 存储的'地基'——后续的分区(按柱面划分)、文件系统(管理扇区/块)、格式化(写入文件系统元数据)等操作,都依赖本文讲解的底层逻辑。理解 CHS 到 LBA 的演进,能帮你明白'系统如何屏蔽硬件差异'的设计思想,这也是 Linux'一切皆文件'抽象理念的底层体现。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online