前置说明:Linux 没有盘符;挂载 = 将一个文件系统(分区 / 磁盘 / NFS 等)关联到目录树的某个目录(挂载点)。 核心命令:
mount(临时挂载)、/etc/fstab(永久开机自动挂载)、umount(卸载)
一、前置准备
先确认设备:块设备一般在
/dev
# 查看磁盘、分区
lsblk
# 或者
fdisk -l
# 查看已挂载列表
mount
df -hT
常见设备名:
SATA:
/dev/sda、分区/dev/sda1NVMe:
/dev/nvme0n1、分区/dev/nvme0n1p1逻辑卷 LVM:
/dev/mapper/vgname-lvname
创建挂载点目录(挂载点就是一个普通空目录)
mkdir -p /data
⚠️ 注意:挂载点里面原有文件,挂载后会被隐藏,卸载后才会重新看见。
二、临时挂载(mount,重启失效)
基础语法
mount [-t 文件系统类型] [-o 选项] 设备源 挂载点
示例
挂载 ext4/xfs 本地分区
# -t 可以省略,mount 自动识别
mount /dev/sdb1 /data
# 显式指定文件系统
mount -t ext4 /dev/sdb1 /data
mount -t xfs /dev/sdc1 /backup
挂载 iso 镜像文件(loop 设备)
mount -o loop /root/CentOS.iso /mnt/cdrom
挂载 tmpfs(内存文件系统)
mount -t tmpfs -o size=2G mytmp /mnt/tmp
挂载 NFS 远程共享
mount -t nfs 192.168.1.100:/nfs/share /mnt/nfs
常用 -o 挂载选项(高频)
ro 只读
rw 读写(默认)
noatime 不更新访问时间,提升性能(生产常用)
defaults 等价 rw,suid,dev,exec,auto,nouser,async
uid=1000,gid=1000 指定属主(挂载U盘、fat32常用)
示例:只读挂载
mount -o ro,noatime /dev/sdb1 /data
查看 mount 支持的全部选项:
man mount
三、卸载 umount
# 方式1:按设备卸载
umount /dev/sdb1
# 方式2:按挂载点卸载(推荐,不容易错)
umount /data
常见报错:target is busy(目标忙)
原因:有进程在读写这个目录,或者 shell 当前 cd 在挂载点内。 排查:
# 查找占用进程
lsof /data
# 或者
fuser -m /data
处理:退出目录、停掉业务进程;紧急可加 -l(lazy 懒卸载,不推荐生产常态使用)
umount -l /data
四、永久挂载:/etc/fstab(开机自动挂载,重点!)
修改 fstab 前强烈建议备份:
cp /etc/fstab /etc/fstab.bak
fstab 一行 6 个字段,用空格 / Tab 分隔
<源设备> <挂载点> <fs类型> <挂载选项> dump fsck
源设备:三种写法任选其一(推荐 UUID,磁盘顺序变化不受影响)
/dev/sdb1设备名(不推荐,插拔磁盘容易变)UUID=xxxxxx (推荐,
blkid查询 UUID)LABEL=xxx 卷标
挂载点:必须存在目录
文件系统类型:ext4 / xfs / nfs / tmpfs / iso9660
挂载选项:defaults /ro/noatime 等,多选项逗号隔开
dump 备份标记:0 = 不 dump,1=dump 备份(现在基本都写 0)
fsck 开机自检顺序:0 = 不自检;根分区一般 1,其他分区 2;xfs、nfs、tmpfs 写 0
获取 UUID
blkid /dev/sdb1
fstab 示例
# 根分区示例
UUID=abc123-def4-5678-90gh-ijklmnopqrst / xfs defaults,noatime 0 1
# 数据分区 ext4,noatime优化
UUID=12345678-1234-1234-1234-1234567890ab /data ext4 defaults,noatime 0 2
# NFS共享
192.168.1.100:/nfs/share /mnt/nfs nfs defaults 0 0
# tmpfs
tmpfs /tmp tmpfs size=2G 0 0
修改 fstab 之后,不要直接重启!先测试
# 加载fstab里所有尚未挂载的条目,校验配置
mount -a
✅ 无报错 = 配置合法;如果报错立刻回去修复,否则开机可能卡住进不了系统!
小技巧:只挂载 fstab 里某一条
mount /data
五、特殊场景补充
1. 挂载 FAT32 / NTFS(Windows 分区)
NTFS 需要 ntfs-3g 包(默认很多精简系统不带)
# NTFS
mount -t ntfs-3g /dev/sdc1 /mnt/win
# FAT32
mount -t vfat -o uid=1000,gid=1000 /dev/sdc1 /mnt/win
fstab 里 NTFS 类型写 ntfs-3g
2. 挂载 LVM 逻辑卷
源写 /dev/mapper/vg名称-lv名称,或者它的 UUID,和普通分区用法一致。
3. systemd 挂载单元(进阶替代 fstab)
.mount 单元,云原生、systemd 深度定制环境使用,一般运维优先 fstab。
六、常见坑总结
不要挂载到已有业务文件的目录,原有文件会被隐藏;
fstab 写错、UUID 写错,开机卡 emergency 救援模式;
xfs 文件系统不支持 fsck 修复,第六字段必须写 0;
nfs、tmpfs、iso 都不能 fsck,最后一列 0;
mount -a只挂载没挂上的,不会重复挂载已挂载点;不要直接
rm -rf 挂载点目录,会把底层文件系统搞坏。
七、快速命令清单
lsblk # 查看磁盘分区
blkid # 获取UUID
mount # 查看当前挂载
df -hT # 挂载+容量+文件系统类型
mount -a # 校验fstab
umount /xxx # 卸载本文原创作者:易君召,详见:https://www.yijunzhao.cc/about,转载请注明出处。
原文链接
欢迎访问