在Linux系统中,将一块新的硬盘或存储设备接入系统并使其可用,需要经过一个被称为“挂载”的过程,对于广泛使用的服务器发行版CentOS而言,掌握硬盘挂载是系统管理的一项基础且核心的技能,本文将详细介绍在CentOS系统中,从识别新硬盘到实现开机自动挂载的完整流程,确保操作过程清晰、安全、高效。

第一步:识别新硬盘
当物理硬盘或虚拟硬盘被添加到系统后,首要任务是让系统识别它,CentOS提供了多种工具来查看系统中的磁盘设备,其中lsblk(List Block Devices)命令是现代Linux发行版中最推荐的方式,因为它以树状结构清晰地展示了磁盘及其分区关系。
打开终端,执行以下命令:
lsblk
输出结果可能如下所示:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 19.5G 0 part
├─centos-root 253:0 0 17.5G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 50G 0 disk
从输出中,我们可以看到系统有两块磁盘:sda和sdb。sda是系统盘,已经分区并挂载,而sdb的大小为50G,其下没有任何分区(part)和挂载点(MOUNTPOINT),这正是我们需要操作的新硬盘,请记下它的设备名,这里是/dev/sdb。
第二步:对新硬盘进行分区
一块全新的硬盘通常需要先进行分区才能被格式化和使用。fdisk是Linux中最经典、最常用的磁盘分区工具,我们将使用它来为/dev/sdb创建一个主分区。
执行以下命令启动fdisk:
fdisk /dev/sdb
进入fdisk的交互式界面后,按照以下步骤操作:
- 输入
n创建一个新分区。 - 输入
p选择创建主分区。 - 输入分区号,直接按回车键使用默认的
1。 - 输入起始扇区,直接按回车键使用默认值。
- 输入结束扇区,直接按回车键使用默认值,这将使用整个磁盘的空间。
- 输入
w将分区表写入磁盘并退出。
操作流程示意:
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-104857599,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-104857599,默认为 104857599):
将使用默认值 104857599
分区 1 已设置为 Linux 类型,大小设为 50 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
分区完成后,再次使用lsblk命令查看,会发现/dev/sdb下多了一个名为sdb1的分区。
第三步:格式化分区
分区创建后,它还只是一个“容器”,需要为其指定一种文件系统(如ext4, xfs, ntfs等)才能存储数据,在CentOS中,ext4是一个非常稳定和广泛选择的文件系统,我们使用mkfs.ext4命令来格式化刚刚创建的/dev/sdb1分区。
mkfs.ext4 /dev/sdb1
这个过程会根据磁盘大小花费一些时间,格式化完成后,分区就准备好了。

第四步:挂载分区到指定目录
挂载的本质是将一个分区与文件系统中的一个目录(挂载点)关联起来,此后,对该目录的所有读写操作实际上都是在操作这个硬盘分区。
创建一个用作挂载点的目录,挂载点会创建在/mnt或/media目录下,我们创建一个名为data的目录:
mkdir /mnt/data
使用mount命令将/dev/sdb1分区挂载到/mnt/data目录:
mount /dev/sdb1 /mnt/data
为了验证挂载是否成功,可以使用df -hT命令查看已挂载的文件系统:
df -hT | grep sdb1
输出应类似如下,表明/dev/sdb1已成功挂载到/mnt/data,文件系统类型为ext4:
/dev/sdb1 ext4 50G 53M 47G 1% /mnt/data
你可以向/mnt/data目录中写入文件,这些数据都将被保存在新硬盘上,但请注意,这种挂载方式是临时的,系统重启后会失效。
第五步:实现开机自动挂载
为了让硬盘在系统重启后依然能自动挂载,我们需要修改/etc/fstab文件。fstab(File System Table)是Linux系统用来定义文件系统静态信息的配置文件。
推荐使用分区的UUID(Universally Unique Identifier)来标识设备,因为设备名(如/dev/sdb1)可能会在添加或删除其他设备后发生变化,而UUID是永久唯一的。
获取/dev/sdb1分区的UUID:
blkid /dev/sdb1
输出结果如下,复制引号中的UUID字符串:
/dev/sdb1: UUID="a1b2c3d4-e5f6-7890-1234-567890abcdef" TYPE="ext4"
使用文本编辑器(如vi或nano)打开/etc/fstab文件:

vi /etc/fstab
在文件末尾添加一行,内容如下:
UUID="a1b2c3d4-e5f6-7890-1234-567890abcdef" /mnt/data ext4 defaults 0 0
这行配置包含六个字段,其含义如下表所示:
| 字段 | 示例值 | 说明 |
|---|---|---|
| 设备文件 | UUID="..." |
推荐使用UUID,确保设备唯一性 |
| 挂载点 | /mnt/data |
挂载的目标目录 |
| 文件系统类型 | ext4 |
必须与格式化时指定的类型一致 |
| 挂载选项 | defaults |
使用默认挂载选项(rw, suid, dev, exec, auto, nouser, async) |
| 备份 | 0 |
不使用dump工具进行备份 |
| 检查 | 0 |
开机时不使用fsck进行磁盘检查 |
保存并关闭/etc/fstab文件,在重启系统验证之前,可以先执行mount -a命令,该命令会读取/etc/fstab文件并尝试挂载所有未挂载的条目,如果没有报错,说明配置正确,至此,新硬盘的挂载和开机自启配置已全部完成。
相关问答FAQs
问题1:如何安全地卸载一个已经挂载的硬盘?
解答: 要卸载一个硬盘,可以使用umount命令,确保没有任何进程正在使用该挂载点下的文件或目录,执行以下命令:
umount /mnt/data
或者指定设备名进行卸载:
umount /dev/sdb1
如果系统提示“target is busy”(目标繁忙),说明仍有进程占用,可以使用lsof /mnt/data或fuser -mv /mnt/data命令查看是哪个进程在占用,在紧急情况下,可以使用umount -l /mnt/data进行“懒卸载”,它会立即分离挂载点,等到设备不再繁忙时才真正完成卸载操作。
问题2:为什么重启后我的硬盘没有自动挂载?
解答: 这个问题通常由/etc/fstab文件中的配置错误引起,请按以下步骤排查:
- 检查语法错误:
fstab文件对格式要求严格,确保每个字段之间用空格或制表符分隔,没有多余的空格或拼写错误。 - 检查UUID: 确认
fstab中填写的UUID与blkid命令查到的完全一致,UUID错误是最常见的原因。 - 检查挂载点: 确保挂载点目录(如
/mnt/data)确实存在。 - 查看系统日志: 如果以上都无误,可以查看系统日志来定位问题,执行
journalctl -xe或dmesg | grep mount,通常能找到开机挂载失败时的详细错误信息,根据错误提示进行修复即可。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!