mount 与 umount
100%

文件系统 · 第 6 课

mount 与 umount

学习如何使用核实过的来源和挂载点附加、检查并安全分离文件系统。

挂载会把文件系统附加到可见命名空间中的一个目录。来源可以是块设备、网络导出、虚拟文件系统、绑定挂载来源或其他实现特有的对象。目标目录称为挂载点。

准备并检查挂载点

本地策略要求时,创建一个用途明确的目录:

$ sudo mkdir -p /mnt/mydrive

挂载前先检查它:

$ findmnt --target /mnt/mydrive
$ sudo ls -la /mnt/mydrive

在非空目录上挂载文件系统,会把原有条目隐藏在新文件系统之后,直到卸载为止;原有条目不会被删除。这可能使应用程序困惑,并在不可见处占用磁盘空间,因此应使用空的专用挂载点。

在一个目录上挂载另一个文件系统后,其中已有的文件会怎样?

挂载核实过的文件系统

确认来源身份、检测到的类型和预期内容后,明确执行挂载:

$ sudo mount -t ext4 /dev/VERIFIED-PARTITION /mnt/mydrive

-t 选项指定文件系统实现。Mount 通常能够检测类型,但显式指定类型并审查选项可以让意图更清楚。对于不受信任或可移动的内容,可在符合工作负载需要时考虑 ronosuidnodevnoexec 等限制性选项;每项选项都有局限,不能当作完整沙箱。

验证实际挂载的内容:

$ findmnt --target /mnt/mydrive -o TARGET,SOURCE,FSTYPE,OPTIONS

挂载受命名空间限制。在容器或私有服务命名空间中创建的挂载,可能不会出现在另一个进程的视图中。

在所示工作流程中,mount 命令会做什么?

使用文件系统 UUID

/dev/sdb2 这样的枚举名称可能变化。可以用以下命令发现文件系统标识符:

$ lsblk -f
$ sudo blkid

然后按 UUID 挂载已经核实的文件系统:

$ sudo mount UUID=130b882f-7d79-436d-a096-1e594c92bb76 /mnt/mydrive

UUID 标识文件系统,而不一定标识物理磁盘。重新格式化会改变它,克隆则可能复制它。把原始文件系统和克隆件同时附加到一个系统前,应确认 UUID 唯一。

为什么在持久配置中,文件系统 UUID 通常优于 /dev/sdX

安全卸载

使用准确的挂载点进行分离:

$ sudo umount /mnt/mydrive

命令拼写为 umount,开头没有第一个 n。成功卸载表示内核完成了必要的回写,并在引用允许时分离文件系统。拔出存储设备前,应使用 findmnt 再次确认。

对于可移动介质,成功卸载不一定就是安全移除的最后一步。桌面存储栈可能提供弹出或断电操作,用于刷新设备缓存并禁用 USB 设备。应遵循平台和硬件的工作流程。

哪个命令会分离 /mnt/mydrive

诊断繁忙的文件系统

如果命名空间中仍有活动引用,卸载会失败,例如打开的文件、进程工作目录、嵌套挂载、交换空间或其他存储层。应调查原因,而不是立即强制卸载:

$ findmnt --submounts /mnt/mydrive
$ sudo fuser -vm /mnt/mydrive

让 shell 离开该目录树,干净地停止相关应用程序,并先卸载子挂载再卸载父挂载。延迟卸载和强制选项有专门语义,可能留下活动引用或造成数据丢失;只有在具备文档支持的恢复理由时才能使用。

哪种情况会让 umount 报告文件系统繁忙?

课程已完成

你已完成 mount 与 umount

现在,你可以在可验证的范围内附加和分离文件系统。

  • 使用空的专用挂载点。

  • 核实来源、类型、选项和最终挂载结果。

  • 在持久引用中优先使用唯一的文件系统标识符。

  • 按目标卸载,并在移除设备前确认已经分离。

  • 诊断活动引用,而不是强制卸载繁忙的文件系统。

保存学习进度

创建免费账户即可保存本课进度,并在任意设备上继续学习。

创建免费账户
下一节
返回 文件系统