在 CentOS 系统中调整磁盘分区,几乎是每位运维工程师或深度用户迟早会遇到的常见操作。特别是当你安装了 Windows 与 CentOS 双系统后,稍有不慎便可能导致引导区损坏,进而两个系统都无法启动。这里首先给出紧急提醒:如果你正在使用双系统,请务必不要在 CentOS 下直接操作磁盘分区,否则引导区一旦崩溃,两个系统都会失效。假如你已经误操作了,也不必慌张,可以利用 PE 工具修复 Windows 引导区,然后重新安装 CentOS,在安装界面中选择“update 系统”,再勾选重写 MBR 选项即可恢复正常。
回到正题。随着 FTP 存储需求不断增长,最初规划的分区容量偏小的问题逐渐显现。这时就需要在现有分区基础上,额外划分出一块新的空间。刚接触 CentOS 时,许多人对它的分区工具并不熟悉,上网查阅了大量资料,各路经验都推荐使用 fdisk,但尝试几次后甚至把系统弄崩溃了……
最终,我找到了一个更为友好的字符界面分区工具——cfdisk。它的交互方式非常直观,操作体验与 Windows 下的磁盘管理十分相似。
输入 cfdisk 命令,即可查看当前磁盘布局(此处为虚拟机环境)。目标是从最后一个逻辑分区 sda5 中划出一半空间。下面介绍具体步骤:

第一步:删除分区

通过键盘左右方向键选中 Delete 选项,确认后该分区将被标记为“空闲”状态。
第二步:新建分区
再次使用方向键将光标移动到 New 选项,按下回车确认:

此时系统会询问选择主分区还是扩展分区。这里我们选择逻辑扩展分区(Logical):

第三步:指定分区大小
输入新分区的容量,单位为 MB。注意:此时切勿按下键盘的左右方向键,否则会退回到上一步。请记住界面中显示的“最大可用容量”数值。例如,想把原分区一分为二,直接输入 1048(原分区一半的容量)即可,然后按回车确认:

第四步:选择起始位置
选择 Begin 表示从分区开头划分,选择 End 则表示从末尾划分。通常情况下,选择 Begin 即可:

使用相同的方法创建第二块分区。全部操作完成后,选择 Write 写入分区表,再选择 Quit 退出工具。
关键提醒:如果在操作过程中发现错误,只要尚未执行 Write 命令,直接选择 Quit 即可不保存退出,所有修改都不会生效。
写入并退出后,虽然在 cfdisk 界面中能看到新分区,但在 /dev/ 目录下并不会立即出现对应的设备文件,也无法直接挂载使用。此时只需重启系统,系统便会自动识别新添加的分区。
另外,如果对默认的分区格式不满意(cfdisk 默认创建的是 ext2 格式),可以手动将其格式化为其他类型,例如 ext4:
mkfs.ext4 /dev/sd5
至此,CentOS 磁盘分区扩容操作就完成了。整个过程其实并不复杂,关键在于记住:在未执行 Write 之前,所有操作都可以撤销。下次再遇到磁盘空间不足的情况,就不必手忙脚乱了。
