首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux 磁盘挂载

Linux 磁盘挂载

作者头像
xcbeyond
发布2026-04-13 10:48:18
发布2026-04-13 10:48:18
1130
举报
文章被收录于专栏:技术那些事技术那些事

在 Linux 中,磁盘不像 Windows 那样自动分配盘符,而是需要手动或配置自动"挂载"到某个目录。理解挂载机制,是每位 Linux 运维人员的必备技能。

1 什么是磁盘挂载?

Linux 使用统一的目录树结构,所有存储设备(硬盘、U盘、光驱)都必须挂载到某个目录节点,才能被系统访问。这个过程称为"挂载"(mount),被挂载的目录称为"挂载点"。

与 Windows 的 C盘、D盘不同,Linux 将 /dev/sdb1 这样的设备文件挂载到 /data 目录,访问 /data 即访问该磁盘。可以理解为:把一块磁盘"接入"到目录树的某个节点上。

2 查看磁盘与分区信息

在挂载之前,先确认系统识别到了哪些磁盘和分区。

代码语言:javascript
复制
# 查看所有磁盘和分区(树形结构)
lsblk
# 查看分区详情(含UUID和文件系统类型)
lsblk -f
# 查看磁盘使用情况
df -h
# 查看分区表(需要 root 权限)
fdisk -l
代码语言:javascript
复制
# lsblk 输出示例
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk
├─sda1   8:1    0    1G  0 part /boot
└─sda2   8:2    0   49G  0 part /
sdb      8:16   0  100G  0 disk
└─sdb1   8:17   0  100G  0 part

其中 sdb1 的 MOUNTPOINT 列为空,说明尚未挂载,接下来我们对它操作。

3 格式化分区(创建文件系统)

新磁盘或新分区在挂载前通常需要格式化,即创建文件系统(如果是已有数据的磁盘则跳过此步)。

代码语言:javascript
复制
# 格式化为 ext4
mkfs.ext4 /dev/sdb1
# 格式化为 xfs
mkfs.xfs /dev/sdb1
# 格式化为 vfat(U盘常用)
mkfs.vfat /dev/sdb1

⚠️ 格式化会清除分区上的所有数据,操作前请务必确认设备路径正确,并做好数据备份!

4 临时挂载(mount 命令)

使用 mount 命令可以立即挂载磁盘,但重启后失效,适合临时使用或测试。

  • 1 创建挂载点目录挂载点必须是一个已存在的空目录,建议放在 /mnt 或 /data 下
  • 2 执行挂载命令将设备文件挂载到指定目录,可选择指定文件系统类型
  • 3 验证挂载结果用 df -h 或 mount 命令确认挂载成功,可进入目录读写数据
代码语言:javascript
复制
# 第一步:创建挂载点
mkdir -p /data/disk1
# 第二步:挂载磁盘
mount /dev/sdb1 /data/disk1
# 指定文件系统类型(推荐加上 -t)
mount -t ext4 /dev/sdb1 /data/disk1
# 第三步:验证挂载
df -h /data/disk1
mount | grep sdb1

5 永久挂载(配置 /etc/fstab)

要让挂载在重启后依然生效,需要编辑 /etc/fstab 文件。该文件是 Linux 的"自动挂载配置表",系统每次启动都会读取并自动执行其中的挂载指令。

强烈建议使用 UUID 而非设备名(如/dev/sdb1)来标识磁盘。设备名在磁盘增减后可能发生变化,UUID 则是磁盘格式化时生成的唯一标识符,永久固定。

代码语言:javascript
复制
# 方法一:blkid 命令
blkid /dev/sdb1
/dev/sdb1: UUID="a1b2c3d4-e5f6-7890-abcd-1234567890ef" TYPE="ext4"
# 方法二:lsblk -f(更直观)
lsblk -f
代码语言:javascript
复制
CONFIG — /etc/fstab 写法
# 格式:设备  挂载点  文件系统  选项  dump  fsck
UUID=a1b2c3d4-e5f6-7890-abcd-1234567890ef  /data/disk1  ext4  defaults  0  2

fstab 各字段含义

  • 1 设备标识UUID=xxx 或 /dev/sdb1,推荐使用 UUID
  • 2 挂载点目标目录,如 /data/disk1,必须提前创建
  • 3 文件系统类型ext4、xfs、vfat 等,与格式化时保持一致
  • 4 挂载选项defaults 即可满足大多数场景;只读可用 ro
  • 5 dump 备份0 = 不备份(一般填 0)
  • 6 fsck 检查顺序0 = 不检查;根分区填 1;其他分区填 2
代码语言:javascript
复制
SHELL — 验证 fstab 配置
# 验证 fstab 语法是否有误
findmnt --verify
# 挂载 fstab 中所有未挂载的条目
mount -a
# 检查 /data/disk1 是否挂载成功
df -h /data/disk1

⚠️ fstab 配置错误可能导致系统无法正常启动!修改前请先备份原文件:cp /etc/fstab /etc/fstab.bak

6 卸载磁盘(umount)

当不再需要某个挂载时,使用 umount 命令卸载(注意:是 umount,不是 unmount)。卸载后该设备可安全拔除或重新分配。

代码语言:javascript
复制
# 按挂载点卸载
umount /data/disk1
# 按设备名卸载
umount /dev/sdb1
# 强制卸载(设备繁忙时,谨慎使用)
umount -f /data/disk1
# 卸载失败时——查看谁在占用
lsof /data/disk1
fuser -m /data/disk1

7 常见问题与排查

问题排查速查表

8 操作总结

掌握磁盘挂载是 Linux 系统管理的重要基础。建议在虚拟机中完整练习一遍:新建磁盘 → lsblk 确认 → mkfs 格式化 → mount 临时挂载 → 写入 /etc/fstab 永久挂载,形成完整操作链路。


感谢您的阅读,也欢迎您发表关于这篇文章的任何建议,关注我,技术不迷茫!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿技术大咖 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档