Linux CentOS如何挂载新硬盘并设置开机自动挂载?

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

Linux 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

从输出中,我们可以看到系统有两块磁盘:sdasdbsda是系统盘,已经分区并挂载,而sdb的大小为50G,其下没有任何分区(part)和挂载点(MOUNTPOINT),这正是我们需要操作的新硬盘,请记下它的设备名,这里是/dev/sdb

第二步:对新硬盘进行分区

一块全新的硬盘通常需要先进行分区才能被格式化和使用。fdisk是Linux中最经典、最常用的磁盘分区工具,我们将使用它来为/dev/sdb创建一个主分区。

执行以下命令启动fdisk

fdisk /dev/sdb

进入fdisk的交互式界面后,按照以下步骤操作:

  1. 输入 n 创建一个新分区。
  2. 输入 p 选择创建主分区。
  3. 输入分区号,直接按回车键使用默认的 1
  4. 输入起始扇区,直接按回车键使用默认值。
  5. 输入结束扇区,直接按回车键使用默认值,这将使用整个磁盘的空间。
  6. 输入 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

这个过程会根据磁盘大小花费一些时间,格式化完成后,分区就准备好了。

Linux CentOS如何挂载新硬盘并设置开机自动挂载?

第四步:挂载分区到指定目录

挂载的本质是将一个分区与文件系统中的一个目录(挂载点)关联起来,此后,对该目录的所有读写操作实际上都是在操作这个硬盘分区。

创建一个用作挂载点的目录,挂载点会创建在/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"

使用文本编辑器(如vinano)打开/etc/fstab文件:

Linux CentOS如何挂载新硬盘并设置开机自动挂载?

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/datafuser -mv /mnt/data命令查看是哪个进程在占用,在紧急情况下,可以使用umount -l /mnt/data进行“懒卸载”,它会立即分离挂载点,等到设备不再繁忙时才真正完成卸载操作。

问题2:为什么重启后我的硬盘没有自动挂载?

解答: 这个问题通常由/etc/fstab文件中的配置错误引起,请按以下步骤排查:

  1. 检查语法错误: fstab文件对格式要求严格,确保每个字段之间用空格或制表符分隔,没有多余的空格或拼写错误。
  2. 检查UUID: 确认fstab中填写的UUID与blkid命令查到的完全一致,UUID错误是最常见的原因。
  3. 检查挂载点: 确保挂载点目录(如/mnt/data)确实存在。
  4. 查看系统日志: 如果以上都无误,可以查看系统日志来定位问题,执行journalctl -xedmesg | grep mount,通常能找到开机挂载失败时的详细错误信息,根据错误提示进行修复即可。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-03 04:26
下一篇 2025-10-03 04:29

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信