在 CentOS 7 系统管理中,磁盘分区与挂载是一项基础且至关重要的技能,它不仅关系到系统存储空间的合理规划,还直接影响数据的安全性、系统的性能以及后续的维护管理,无论是为新添加的硬盘分配空间,还是为了将数据与系统分离以实现独立备份,掌握分区挂载的流程都是每一位系统管理员的必修课,本文将详细介绍在 CentOS 7 环境下,如何对一块新磁盘进行分区、格式化、挂载并设置开机自动挂载的完整过程。

准备工作
在开始操作之前,请确保您具备以下条件:
- 拥有 root 权限:所有磁盘分区和挂载操作都需要管理员权限。
- 已添加新磁盘:在虚拟机或物理机上已经安装了一块新的、尚未使用的硬盘,本文将以
/dev/sdb为例进行说明。
您可以使用 lsblk 或 fdisk -l 命令来查看当前系统已识别的磁盘设备。
lsblk
该命令会以树状结构列出所有块设备,您可以很容易地识别出新的磁盘,它通常没有挂载点,并且大小符合您新添加的硬盘。
分区与挂载的详细步骤
整个过程可以分解为五个核心步骤:识别磁盘、创建分区、格式化分区、创建挂载点、挂载分区并实现开机自动挂载。
创建分区
我们将使用 fdisk 工具来对新磁盘 /dev/sdb 进行分区。fdisk 是一个功能强大且经典的交互式分区工具。
-
启动
fdisk对目标磁盘进行操作:fdisk /dev/sdb
-
进入
fdisk交互界面后,按照提示输入命令:- 输入
n创建一个新分区。 - 输入
p选择创建主分区。 - 输入分区号,直接按回车键使用默认的
1。 - 输入起始扇区,直接按回车键使用默认值。
- 输入结束扇区,直接按回车键使用默认值,这将使用整个磁盘的空间。
- 输入
-
完成后,输入
w将分区表写入磁盘并退出fdisk。
操作完成后,系统会提示分区表已发生改变,您可以再次运行 lsblk 命令,此时应该能看到 /dev/sdb 下出现了一个新的分区,/dev/sdb1。
格式化分区
新创建的分区还不能直接使用,需要为其指定一个文件系统,在 Linux 中,ext4 是最常用、最稳定的文件系统之一。
使用 mkfs 命令对 /dev/sdb1 分区进行格式化:

mkfs.ext4 /dev/sdb1
这个过程会根据分区大小持续一段时间,格式化完成后,该分区就具备了存储数据的能力。
创建挂载点
挂载点是系统中的一个目录,分区将“挂载”到这个目录上,之后对该目录的所有读写操作实际上都是在操作对应的分区。
我们会根据用途在根目录下创建挂载点,例如用于存放数据可以创建 /data 目录。
mkdir /data
请确保创建的目录是空的,否则挂载后其原有内容将被暂时隐藏。
挂载分区
使用 mount 命令将格式化好的分区 /dev/sdb1 挂载到刚刚创建的 /data 目录。
mount /dev/sdb1 /data
挂载成功后,可以使用 df -hT 命令来验证,在输出结果中,您应该能看到 /dev/sdb1 已经挂载在了 /data 上,并显示了其文件系统类型、总大小、已用空间等信息。
实现开机自动挂载
通过 mount 命令进行的挂载是临时的,系统重启后会失效,为了让分区在每次开机后自动挂载,需要修改 /etc/fstab 文件。
-
获取分区的 UUID:使用设备名称(如
/dev/sdb1)进行挂载存在风险,因为设备名可能会在重启后发生变化,推荐使用分区的 UUID(Universally Unique Identifier)进行标识,它是固定不变的。blkid /dev/sdb1
该命令会输出分区的 UUID,请将其复制下来,格式类似
UUID="a1b2c3d4-e5f6-7890-1234-567890abcdef"。 -
编辑 /etc/fstab 文件:使用文本编辑器(如
vi或nano)打开/etc/fstab文件,在文件末尾添加一行记录。vi /etc/fstab
格式如下:

UUID=<您复制的UUID> /data ext4 defaults 0 0UUID="a1b2c3d4-e5f6-7890-1234-567890abcdef" /data ext4 defaults 0 0这行记录各字段的含义分别是:
<设备>:要挂载的设备,这里使用 UUID。<挂载点>:挂载到的目录。<文件系统类型>:分区的文件系统,这里是ext4。<挂载选项>:defaults包含了rw,suid,dev,exec,auto,nouser,async等常用选项,适用于大多数场景。<dump>:设置为0,表示不使用 dump 备份。<pass>:设置为0,表示开机时不进行磁盘检查。
-
测试 /etc/fstab 配置:在重启前,可以执行
mount -a命令,该命令会读取/etc/fstab文件并挂载所有未挂载的条目,如果没有报错,说明配置正确。
至此,新磁盘的分区、格式化、挂载及开机自动挂载已全部完成。
核心命令速查表
| 命令 | 用途 | 示例 |
|---|---|---|
lsblk |
列出所有块设备 | lsblk |
fdisk /dev/sdX |
对指定磁盘进行分区操作 | fdisk /dev/sdb |
mkfs.ext4 /dev/sdX# |
将指定分区格式化为 ext4 文件系统 | mkfs.ext4 /dev/sdb1 |
mkdir /mount/point |
创建挂载点目录 | mkdir /data |
mount /dev/sdX# /mount/point |
手动挂载分区到指定目录 | mount /dev/sdb1 /data |
blkid /dev/sdX# |
查看分区的 UUID | blkid /dev/sdb1 |
vi /etc/fstab |
编辑开机自动挂载配置文件 | vi /etc/fstab |
mount -a |
根据 /etc/fstab 挂载所有未挂载的文件系统 |
mount -a |
相关问答FAQs
问题1:MBR 和 GPT 分区方案有什么区别?我应该选择哪一个?
解答: MBR(Master Boot Record)和 GPT(GUID Partition Table)是两种不同的分区表方案。
- MBR:较老的方案,支持最多 4 个主分区(或 3 个主分区 + 1 个扩展分区),且只能管理不超过 2TB 的磁盘,它在传统的 BIOS 启动模式下兼容性极好。
- GPT:较新的方案,是 UEFI 启动标准的一部分,它几乎没有分区数量限制(Windows 系统支持最多 128 个),并且能够管理远超 2TB 的大容量磁盘,GPT 在分区表末尾和开头都有备份,数据更安全。
选择建议:对于所有现代操作系统和新购买的硬盘,强烈推荐使用 GPT,除非您需要与非常古老的、仅支持 BIOS 的系统兼容,否则 GPT 在容量、安全性和灵活性上都全面优于 MBR,在 CentOS 7 中,fdisk 默认使用 MBR,而 parted 或 gdisk 工具则更适合创建和管理 GPT 分区。
问题2:如何卸载一个正在使用的分区?
解答: 卸载分区使用 umount 命令,基本语法是 umount <挂载点|设备名>,umount /data 或 umount /dev/sdb1。
如果分区正在被某个进程使用(有用户正在访问该目录下的文件),系统会提示 “target is busy” 错误,拒绝卸载,您需要找到并终止占用该分区的进程。
- 查找占用进程:可以使用
lsof或fuser命令。lsof /data:列出所有正在使用/data目录下文件的进程。fuser -mv /data:显示正在使用/data文件系统的进程。
- 终止进程:根据上一步查找到的进程 ID(PID),使用
kill -9 <PID>命令强制终止进程。 - 重新卸载:进程终止后,再次执行
umount /data命令即可成功卸载。
在生产环境中,建议先温和地通知用户停止相关操作,再使用 kill <PID>(不带 -9)尝试正常终止进程,只有在无法正常终止时才使用 kill -9。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!