在 Linux 中,挂载(Mount) 是将存储设备(如硬盘分区、USB 驱动器、ISO 镜像等)连接到文件系统目录树的过程,使得用户可以访问设备中的数据。以下是挂载操作的详细指南,包含基础命令、自动挂载、常见问题和操作实例。
一、挂载的基本操作
1. 查看当前已挂载的设备
2. 手动挂载设备
语法:
1
| sudo mount -t <文件系统类型> <设备路径> <挂载点目录>
|
示例:将 /dev/sdb1 分区(ext4 文件系统)挂载到 /mnt/data:
1 2
| sudo mkdir /mnt/data sudo mount -t ext4 /dev/sdb1 /mnt/data
|
3. 卸载设备
1 2 3 4
| sudo umount <挂载点或设备路径>
sudo umount /mnt/data sudo umount /dev/sdb1
|
二、自动挂载(持久化挂载)
通过修改 /etc/fstab 文件,实现开机自动挂载设备。
1. 编辑 /etc/fstab 文件
2. 添加挂载配置
每行格式为:
1
| <设备标识> <挂载点> <文件系统类型> <挂载选项> <dump标志> <fsck顺序>
|
示例:将 /dev/sdb1 挂载到 /mnt/data(ext4 文件系统,默认选项):
1
| /dev/sdb1 /mnt/data ext4 defaults 0 0
|
3. 使用 UUID 代替设备路径(推荐)
设备路径(如 /dev/sdb1)可能因硬件变动而改变,使用 UUID 更稳定。
- 查看设备的 UUID:
- 在
/etc/fstab 中使用 UUID:1
| UUID=1234-5678-90AB /mnt/data ext4 defaults 0 0
|
4. 验证并应用配置
三、常见挂载场景
1. 挂载 USB 驱动器
1 2 3
| sudo mkdir /mnt/usb sudo mount -t vfat /dev/sdc1 /mnt/usb sudo mount -t ntfs /dev/sdc1 /mnt/usb
|
2. 挂载 ISO 镜像文件
1 2
| sudo mkdir /mnt/iso sudo mount -o loop ubuntu.iso /mnt/iso
|
3. 挂载网络存储(NFS)
1 2
| sudo mkdir /mnt/nfs sudo mount -t nfs 192.168.1.100:/shared /mnt/nfs
|
四、挂载选项(常用参数)
通过 -o 指定挂载选项,多个选项用逗号分隔:
| 选项 |
作用 |
rw |
读写模式(默认) |
ro |
只读模式 |
noexec |
禁止执行该分区中的程序 |
nosuid |
禁用 SUID/SGID 权限 |
defaults |
默认选项(rw, suid, dev, exec, auto, …) |
nofail |
启动时忽略挂载失败(用于避免系统卡住) |
示例:以只读模式挂载:
1
| sudo mount -o ro /dev/sdb1 /mnt/data
|
五、卸载时的常见问题
1. 设备忙(Device is busy)
若卸载时提示设备忙,可能是文件被占用。解决步骤:
- 查找占用进程:
- 结束相关进程或退出占用目录,再重试卸载。
2. 强制卸载(谨慎使用!)
若无法正常卸载,可强制卸载(可能导致数据丢失):
1
| sudo umount -l /mnt/data
|
六、图形化工具
- GNOME Disks(适用于桌面环境):
1 2
| sudo apt install gnome-disk-utility gnome-disks
|
通过界面选择设备,点击挂载按钮即可。
七、关键命令总结
| 操作 |
命令 |
| 手动挂载 |
sudo mount /dev/sdX /mnt/point |
| 卸载设备 |
sudo umount /mnt/point |
| 查看块设备信息 |
lsblk |
| 查看 UUID |
sudo blkid |
| 自动挂载配置 |
编辑 /etc/fstab |
| 挂载所有 fstab 设备 |
sudo mount -a |
八、注意事项
- 挂载点目录必须存在:手动创建目录(如
/mnt/data)。
- 权限问题:挂载后文件权限由挂载选项和文件系统本身决定。
- NTFS 支持:需安装
ntfs-3g(Linux 默认可能不包含)。
- 安全卸载:强制断电或直接拔设备可能导致数据损坏,务必先卸载。
通过以上步骤,你可以灵活管理 Linux 中的存储设备挂载。如果是生产环境,建议先在测试系统中验证操作!