1. 分区概念与MBR/GPT:物理分区与逻辑分区、主分区与扩展分区、MBR与GPT分区表结构对比、分区对齐与性能影响
各位好,我是老张。今天咱们聊聊分区这件事。很多人觉得分区就是“把硬盘切成几块”,其实没那么简单。我见过不少运维同事,分区表搞错了,数据全丢。嗯,咱们从最基础的说起。
1.1 物理分区 vs 逻辑分区
先搞清楚一个概念:物理分区和逻辑分区,不是一回事。
- 物理分区:硬盘物理上划分的区域。比如你买了一块500GB的SSD,厂家可能把它分成几个物理单元。但咱们平时说的“分区”,通常不是这个。
- 逻辑分区:操作系统层面看到的“盘符”或“挂载点”。比如Windows里的C盘、D盘,Linux里的
/dev/sda1、/dev/sda2。这才是我们日常操作的对象。
1.2 主分区 vs 扩展分区
这个坑,我踩过。早期MBR分区表有个硬伤:最多只能有4个主分区。为什么?因为MBR的分区表项只有64字节,每个分区占16字节,算下来就是4个。
那我想分5个区怎么办?这时候扩展分区就派上用场了。
- 主分区:可以直接用来装系统、存数据。MBR下最多4个。
- 扩展分区:不能直接存数据,它是个“容器”。里面可以再划分逻辑分区。
- 逻辑分区:放在扩展分区里,数量理论上可以无限(实际受操作系统限制)。
关键点: 在MBR磁盘上,你最多只能有4个主分区。如果想分更多,就得把其中一个主分区改成扩展分区,然后在里面建逻辑分区。
举个例子:我有一块500GB的硬盘,想分6个区。我会这样规划:
- 主分区1:50GB(装系统)
- 主分区2:50GB(备用系统)
- 扩展分区:400GB(里面再分4个逻辑分区,每个100GB)
你看,主分区只用了2个,剩下1个名额给扩展分区。完美避开4个的限制。
1.3 MBR vs GPT 分区表结构对比
说到分区表,就绕不开MBR和GPT。我刚开始工作时,用的还是MBR。后来GPT普及了,我才发现MBR有多落后。
先看一张对比表:
| 特性 | MBR | GPT |
|---|---|---|
| 全称 | Master Boot Record | GUID Partition Table |
| 最大磁盘容量 | 2TB | 9.4ZB(理论值) |
| 分区数量 | 最多4个主分区 | 最多128个分区(Windows限制) |
| 引导方式 | BIOS + MBR | UEFI + GPT |
| 备份机制 | 无备份 | 分区表在磁盘头和尾各存一份 |
| 校验机制 | 无CRC校验 | 有CRC32校验 |
| 兼容性 | 所有操作系统 | Windows 7+、Linux、macOS |
注意: 如果你用MBR分区表,磁盘容量超过2TB,超出的部分会无法识别。我曾经帮一个客户处理过这个问题——他买了4TB硬盘,结果只认出来1.8TB。换成GPT就好了。
为什么GPT能支持这么大容量?因为MBR用32位表示扇区地址,最大只能到2^32 × 512字节 ≈ 2TB。GPT用64位,理论上能到9.4ZB。你想想看,这差距有多大。
1.4 分区对齐与性能影响
这个知识点,很多人容易忽略。分区对齐,说白了就是让分区的起始位置正好是某个“块”的整数倍。
为什么重要?因为现代硬盘(尤其是SSD)读写的最小单位是“页”(通常是4KB),而不是传统的512字节。如果分区没对齐,一个4KB的写操作可能要跨两个物理页,性能直接腰斩。
核心原则: 分区起始扇区号 ÷ (物理扇区大小 ÷ 逻辑扇区大小) = 整数。通常物理扇区是4096字节,逻辑扇区是512字节,所以起始扇区号必须是8的倍数。更保险的做法是直接用2048扇区(1MB)对齐。
我记得有一次,给一台数据库服务器换SSD。分区时没注意对齐,结果4K随机读写性能只有正常值的60%。后来重新分区,指定起始扇区为2048,性能立马恢复正常。
怎么检查分区是否对齐?
- Windows: 用
msinfo32查看“分区起始偏移”,如果能被4096整除,就是对齐的。 - Linux: 用
fdisk -l或parted /dev/sda align-check optimal 1。
# Linux下检查分区对齐示例
fdisk -l /dev/sda
# 输出中看 Start 列,比如 Start=2048,说明是1MB对齐的
# 或者用
parted /dev/sda align-check optimal 1
# 返回 "1 aligned" 表示对齐
我的建议: 新分区时,直接用 parted 的 mkpart 命令,它会自动对齐。或者用 fdisk 时指定起始扇区为2048。别偷懒,这一步省不了。
1.5 知识体系总览
下面这张图,把本章的核心知识点串起来了。你可以把它当作一个快速索引。
这张图把本章的四个核心知识点串起来了。从分区概念出发,分支出物理/逻辑、主/扩展、MBR/GPT、分区对齐四个方向。其中MBR/GPT又衍生出容量限制和引导方式两个子话题。分区对齐则直接关联到起始扇区设置。
我个人习惯,每次做磁盘规划时,都会先画这么一张图。把需求列清楚,再决定用哪种分区表、怎么对齐。磨刀不误砍柴工嘛。
避坑指南: 我曾经在给一台老服务器做系统迁移时,没注意它只支持BIOS+MBR,直接用了GPT分区。结果装完系统无法引导,折腾了大半天。记住:UEFI+GPT是标配,但老硬件可能只支持BIOS+MBR。做之前先确认硬件支持情况。
好了,分区的基础概念就聊到这儿。记住几个关键数字:2TB(MBR上限)、4个(主分区上限)、2048(对齐起始扇区)。这些数字会贯穿整个课程,后面讲镜像加载时还会用到。