Linux系统新增硬盘挂载全流程指南

 更新时间:2026年02月26日 08:32:42   作者:ayaya_mana  
这篇文章主要为大家详细介绍了Linux系统新增硬盘挂载全流程指南,包括分区、格式化和挂载操作,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下

一、整体流程示意

先给一个整体流程图,方便你在脑子里建立完整链路。

二、确认新硬盘设备

无论磁盘大小,第一步都是确认系统是否已经识别到新硬盘。

常用命令:

lsblk

输出中,系统盘通常为 sda,新增硬盘多为 sdbsdc 等。如果看到新磁盘显示为 disk 且容量正确,说明硬件识别正常。

在虚拟机环境中,若添加硬盘后未立即识别,可以尝试重新扫描 SCSI 总线(不同系统路径略有差异):

# 常见写法之一,实际 host 编号以环境为准
for host in /sys/class/scsi_host/host*; do
    echo "- - -" > "$host/scan"
done

或直接重启虚拟机。

三、场景一:小容量硬盘(≤ 2TB)使用 fdisk 分区

对于不超过 2TB 的硬盘,使用传统的 fdisk 工具即可。

3.1 进入 fdisk 分区界面

fdisk /dev/sdb

3.2 交互式操作步骤

在 fdisk 交互界面中,依次执行:

  • 输入 n:新建分区。
  • 输入 p:选择主分区。
  • 分区号:直接回车(默认为 1)。
  • 起始扇区:直接回车(默认起始位置)。
  • 结束扇区:直接回车(使用整块磁盘)。
  • 输入 w:保存分区表并退出。

完成后,再次执行 lsblk,应能看到 sdb1 分区。

注意:MBR 分区表最大支持约 2TB 容量,超过此限制必须使用 GPT 分区表。

四、场景二:大容量硬盘(> 2TB)使用 parted + GPT

当磁盘容量超过 2TB 时,MBR 分区表已经无法满足需求,需要使用 GPT(GUID Partition Table) 分区表。此时 fdisk 不再适用,需要改用 partedgdisk。下面以 parted 为例。

4.1 进入 parted 工具

parted /dev/sdb

进入 (parted) 交互界面。

4.2 创建 GPT 分区表

在 parted 中执行:

(parted) mklabel gpt

这条命令会将磁盘标签设置为 GPT,相当于“创建 GPT 分区表”。GPT 支持超过 2TB 的磁盘容量,是当前大磁盘的标准方案【turn0search1】【turn0search3】。

4.3 创建整盘分区

在交互界面中执行:

(parted) mkpart primary 0% 100%
  • 0%:表示磁盘起始位置。
  • 100%:表示磁盘结束位置。

这样可以保证分区对齐,并使用全部磁盘空间。部分示例中也使用 mkpart primary 0 100%,含义类似【turn4fetch0】。

完成后,输入 print 可查看分区情况:

(parted) print

退出 parted:

(parted) quit

退出后,内核可能需要一点时间同步分区表。必要时可以执行:

partprobe /dev/sdb

或重启系统,确保新分区表生效【turn2fetch0】。

五、格式化文件系统

分区完成后,需要在其上创建文件系统。Linux 下最常用的是 ext4xfs

  • ext4:兼容性好,适合中小规模文件、兼容性要求高的场景。
  • xfs:RHEL/CentOS 7/8 默认文件系统,适合大文件、高并发 IO。

5.1 ext4 示例

mkfs.ext4 /dev/sdb1

5.2 xfs 示例

mkfs.xfs /dev/sdb1

格式化过程视磁盘大小和性能而定,大容量磁盘可能需要较长时间【turn4fetch0】。

建议:数据盘尽量选择 ext4 或 xfs,避免使用老旧的 ext3/ ext2。

六、挂载磁盘

6.1 创建挂载点

按照 Linux 使用习惯,额外数据盘通常挂载在 /mnt/data/opt/data 等目录。本文以 /data 为例:

mkdir /data

6.2 临时挂载

mount /dev/sdb1 /data

6.3 验证挂载结果

使用 df -h 查看磁盘使用情况:

df -h

若看到 /dev/sdb1 挂载在 /data,且容量、已用、可用等信息正确,说明挂载成功。

七、配置开机自动挂载(关键步骤)

临时挂载在系统重启后会失效,必须通过 /etc/fstab 实现持久化挂载。为避免设备名变化导致挂载错误,强烈推荐使用 UUID 进行挂载

7.1 获取分区 UUID

blkid /dev/sdb1

输出类似:

/dev/sdb1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="ext4"

复制其中的 UUID 字符串(不包含引号)。

7.2 编辑 /etc/fstab

使用编辑器打开 /etc/fstab

vim /etc/fstab

在文件末尾追加一行,例如:

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /data ext4 defaults 0 0

各字段含义简要说明:

  • 第一列:设备标识,推荐使用 UUID。
  • 第二列:挂载点目录。
  • 第三列:文件系统类型(ext4 / xfs 等)。
  • 第四列:挂载选项,defaults 表示默认参数。
  • 第五列:dump 备份标志,一般设为 0。
  • 第六列:fsck 检查顺序,非根分区通常设为 0【turn0search13】。

7.3 验证 fstab 配置

执行以下命令测试语法是否正确:

mount -a

若无报错,说明配置无误,系统重启后会自动挂载。

八、补充说明与常见问题

8.1 设备名变化的风险

在服务器有多块磁盘的情况下,设备名 /dev/sdb/dev/sdc 等可能会因为插拔顺序或 BIOS/RAID 卡识别顺序改变而发生变化。这也是为什么始终推荐使用 UUID 而非设备名进行挂载【turn0search9】。

8.2 GPT 与 MBR 的选择

  • MBR(DOS 分区表):最大支持约 2TB,分区数量有限,不适合大磁盘。
  • GPT:支持超过 2TB 的磁盘,分区数量更多,是当前大磁盘的标准方案【turn0search1】【turn0search3】。

因此,任何超过 2TB 的磁盘,都应使用 GPT 分区表

8.3 大磁盘对齐问题

使用 parted 时,通过 0% 起始、100% 结束,可以保证分区对齐,避免性能下降。多数现代系统默认以 1MiB 边界对齐,这样可以获得较好的性能与兼容性【turn3search0】。

8.4 LVM 场景(进阶)

对于需要灵活扩展的场景,可以在新磁盘上创建 LVM 物理卷(PV),再划分卷组(VG)和逻辑卷(LV),之后再在 LV 上创建文件系统。这属于更高级的存储管理方案,但基础流程仍然离不开“分区/整盘 → PV → VG → LV → 文件系统 → 挂载”。

到此这篇关于Linux系统新增硬盘挂载全流程指南的文章就介绍到这了,更多相关Linux硬盘挂载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • shell 命令行中操作HBase数据库实例详解

    shell 命令行中操作HBase数据库实例详解

    这篇文章主要介绍了 shell 命令行中操作HBase数据库实例详解的相关资料,需要的朋友可以参考下
    2016-11-11
  • 虚拟机安装centos7的坑之找不到网卡问题及解决

    虚拟机安装centos7的坑之找不到网卡问题及解决

    这篇文章主要介绍了虚拟机安装centos7的坑之找不到网卡问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • 详解linux添加硬盘分区挂载教程

    详解linux添加硬盘分区挂载教程

    本篇文章主要介绍了详解linux添加硬盘分区挂载教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 在Ubuntu中设置IP地址的几种方式

    在Ubuntu中设置IP地址的几种方式

    在 Ubuntu 中,可以通过几种方式设置 IP 地址:使用网络管理器图形界面、命令行工具、或直接编辑网络配置文件,以下是这几种方法的详细实现步骤,需要的朋友可以参考下
    2025-05-05
  • Centos7/RHEL7双网卡绑定的方法

    Centos7/RHEL7双网卡绑定的方法

    本篇文章主要介绍了Centos7/RHEL7双网卡绑定的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Linux使用systemd安排定期任务的操作详解

    Linux使用systemd安排定期任务的操作详解

    systemd 是一个系统和服务管理器,它是现代 Linux 系统中重要的组件之一,主要负责系统的启动和管理,定期任务是指按照预定的时间表反复执行的任务,本文将给大家介绍Linux使用systemd安排定期任务的操作,需要的朋友可以参考下
    2024-06-06
  • Linux下的chkconfig命令详解

    Linux下的chkconfig命令详解

    大家都知道chkconfig命令在linux中使用是非常的关键的,我们可以利用chkconfig来对系统的一些启动与禁止相关设置,下面这篇文章小编就来给大家详细的介绍Linux下的chkconfig命令用法,有需要的朋友们可以参考学习,下面来一起看看吧。
    2016-11-11
  • centos7防火墙如何设置只对部分端口号限源

    centos7防火墙如何设置只对部分端口号限源

    这篇文章主要介绍了centos7防火墙如何设置只对部分端口号限源问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Ubuntu19.10开启ssh服务(详细过程)

    Ubuntu19.10开启ssh服务(详细过程)

    这篇文章主要介绍了Ubuntu19.10开启ssh服务,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Linux编程之ICMP洪水攻击

    Linux编程之ICMP洪水攻击

    这篇文章主要为大家详细介绍了Linux编程之ICMP洪水攻击的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06

最新评论