mount & umount
mount 和 umount 是 Linux 系统中用于挂载和卸载文件系统的核心工具。挂载是将存储设备(如硬盘分区、U 盘、光盘、网络共享等)连接到文件树中某个目录(挂载点)的过程,只有经过挂载,用户才能通过该目录访问设备中的数据。
- 未挂载的设备无法直接访问,仅作为块设备文件存在于
/dev目录下(如/dev/sda1) - 挂载点必须是一个已存在的空目录(若目录非空,挂载后原有内容会被临时隐藏,卸载后恢复)
mount(挂载)
mount [选项] [设备名] [挂载点]- 设备名:要挂载的存储设备(如
/dev/sda1)或网络资源(如//192.168.1.100/share),可以是设备路径、UUID 或 LABEL - 挂载点:文件系统中的目录(如
/mnt/usb) - 若仅执行
mount命令(不带参数),将显示当前所有已挂载的文件系统信息
umount(卸载)
umount [选项] <挂载点或设备名>- 卸载时,既可以指定挂载点,也可以指定设备名
UUID(Universally Unique Identifier,通用唯一标识符)是一种由算法生成的 128 位数字,用于在全球范围内唯一标识信息。
在 Linux 系统中,UUID 常被用来标识硬盘分区等存储设备,其核心作用是提供一个持久且唯一的标识符,避免因设备名(如 /dev/sda1)变动导致的问题。设备名是动态分配的,可能因新增/移除设备、系统重启后检测顺序变化或更换接口而改变,而 UUID 是固定在文件系统中的唯一标识,不会随之变动。
UUID 特点
Section titled “UUID 特点”(1) 唯一性
由规范定义的算法生成(如基于时间、硬件地址、随机数等),理论上在全球范围内不重复。
(2) 持久性
对于存储设备,UUID 会被写入文件系统的元数据中,除非主动修改,否则不会随系统重启、设备插拔、接口更换而改变。
(3) 格式固定
通常以 8-4-4-4-12 的 32 个十六进制字符表示(共 5 段,用连字符分隔),例如:
5f96e73a-8c93-469a-b51b-7435e1f99e9d查看 UUID
Section titled “查看 UUID”(1) 使用 blkid 工具(最常用)
blkid 可以输出存储设备的详细信息,包括设备路径、UUID、文件系统类型、卷标等(需要 root 权限):
# 查看所有设备的信息sudo blkid
# 查看指定设备的信息sudo blkid /dev/sdb1(2) 使用 lsblk -f 工具
lsblk -f 以树状结构输出块设备信息(一般不需要 root 权限):
lsblk -f输出示例:
NAME FSTYPE LABEL UUID MOUNTPOINTsda├─sda1 ext4 c3d4e2a0-58d3-4b8d-83d5-84c6ff1d7e92 /├─sda2 swap E4A2-1B3D [SWAP]sdb└─sdb1 vfat USB_DISK F8A1-2B3C /mnt/usb(3) 查看 /dev/disk/by-uuid/
Linux 系统会在 /dev/disk/by-uuid/ 目录下创建 UUID 到设备文件的符号链接:
ls -l /dev/disk/by-uuid/mount 选项
Section titled “mount 选项”| 选项 | 说明 |
|---|---|
-t <文件系统类型> |
指定要挂载的文件系统类型,若不指定,系统会自动检测 |
-o <挂载选项> |
设置挂载参数(多个参数用逗号分隔),常见参数见下 |
-a |
挂载 /etc/fstab 文件中所有未挂载的文件系统 |
-r |
等价于 -o ro,只读挂载 |
-w |
等价于 -o rw,读写挂载(默认) |
-l |
显示已挂载的文件系统,并附加卷标(Label)信息 |
常见 -o 挂载选项:
| 选项 | 说明 |
|---|---|
ro |
只读挂载 |
rw |
读写挂载(默认) |
loop |
挂载镜像文件(如 ISO) |
noatime |
不更新文件访问时间(提升性能) |
remount |
用新的挂载选项重新挂载已挂载的文件系统 |
defaults |
使用默认参数(rw, suid, dev, exec, auto, nouser, async) |
常见文件系统类型:
| 类型 | 说明 |
|---|---|
ext4 |
Linux 常见文件系统 |
vfat |
FAT32(兼容 U 盘/Windows) |
ntfs |
Windows NTFS 分区 |
iso9660 |
光盘/ISO 镜像 |
nfs |
网络文件系统(Unix/Linux 常用) |
cifs |
Windows 共享文件系统(Samba) |
umount 选项
Section titled “umount 选项”| 选项 | 说明 |
|---|---|
-l |
懒卸载(lazy unmount):立即解除关联,延迟到所有进程不再使用后真正卸载 |
-f |
强制卸载:即使文件系统处于忙碌状态也强制卸载(可能导致数据丢失,谨慎使用) |
-r |
若卸载失败,尝试以只读方式重新挂载文件系统(用于故障恢复) |
重要配置文件:/etc/fstab
Section titled “重要配置文件:/etc/fstab”/etc/fstab 用于定义系统启动时自动挂载的文件系统,每次系统启动时 mount -a 会自动执行,挂载该文件中配置的设备。配置格式如下:
设备路径或UUID 挂载点 文件系统类型 挂载选项 备份标志 自检顺序- 挂载选项:和
-o中挂载选项一致 - 备份标志(0/1):
dump命令是否备份该文件系统(0 = 不备份) - 自检顺序(0/1/2):
fsck命令检查顺序(0 = 不检查,1 = 优先检查,2 = 次优先)
配置示例:
# 使用设备路径/dev/sda1 /mnt/data ext4 defaults 0 2# 使用 UUIDUUID=1234-ABCD /mnt/data ext4 defaults 0 2mount 示例
Section titled “mount 示例”1. 查看已挂载的文件系统
mount # 显示所有已挂载的文件系统mount -l # 显示并附加卷标信息2. 挂载存储设备
假设要将 /dev/sdb1(U 盘分区)挂载到 /mnt/usb:
# 先创建挂载点(若不存在)sudo mkdir -p /mnt/usb
# 挂载(自动检测文件系统类型)sudo mount /dev/sdb1 /mnt/usb
# 若已知是 FAT32 格式(如 U 盘),可指定类型sudo mount -t vfat /dev/sdb1 /mnt/usb3. 只读挂载存储设备
sudo mount -o ro /dev/sdb1 /mnt/usb4. 挂载 ISO 镜像文件
sudo mount -o loop /home/user/image.iso /mnt/iso5. 重新挂载已挂载的文件系统(修改参数)
假设 /mnt/data 当前为读写挂载,修改为只读挂载:
sudo mount -o remount,ro /mnt/dataumount 示例
Section titled “umount 示例”1. 通过挂载点卸载
sudo umount /mnt/usb2. 通过设备名卸载
# 卸载 /dev/sdb1 设备sudo umount /dev/sdb1
# 卸载指定 UUID 的设备sudo umount UUID=1234-ABCD3. 处理“设备忙”问题
当提示 umount: /mnt/usb: target is busy 时(表示有程序正在使用该设备):
- 先关闭使用该设备的程序,再重试卸载
- 若无法关闭程序,可使用懒卸载:
sudo umount -l /mnt/usb
man mount/man umount- util-linux 项目