mount文件挂载实验操作手册

Lear 2025-07-17 10:00:00
Categories: > > Tags:

mount文件挂载实验操作手册

一.【实验目的】

(1)理解挂载工作原理

(2)掌握mount命令使用方法

二.【实验环境】

图片

实验所需器材:

(1)一台PC主机

(2)一根网线

(3)一个U盘或者USB读卡器等

(4)一台服务器,已部署NFS服务和SMB服务。

三.【实验配置】

(1)操作系统:主机A操作系统Windows系统。

(2)软件配置:主机A需要使用到的软件主要有:MobaXterm。

(3)网络配置:

主机A的网络配置信息如下:

IP 192.168.1.20
Netmask 255.255.255.0
Gateway 192.168.1.1

**为了让每一个实验案例顺利进行,请严格按照此文档对各主机进行网络配置。
**

四.【实验原理】

一、mount命令的基本工作原理

1. 指定挂载点

在使用mount命令时,用户首先需要指定一个挂载点,即Linux文件系统中的一个已存在的目录。这个目录将成为要挂载的设备或文件系统的入口点。如果挂载点目录不存在,mount命令通常会报错,除非使用了特定的选项(如-o loop与ISO映像文件结合使用时,可能会自动创建挂载点目录,但这并非普遍情况)。

2. 检测设备

mount命令会检查指定的设备文件是否存在,并验证用户是否具有访问该设备的权限。设备文件可以代表硬盘、分区、USB存储设备、光盘等物理或虚拟存储设备。检测过程包括确定设备的路径、类型以及文件系统类型等信息。

3. 识别文件系统

一旦设备被检测到,mount命令会尝试根据设备的文件系统类型来加载相应的文件系统驱动程序。这通常涉及读取设备的超级块(superblock),它包含了文件系统的元数据,如文件系统类型、大小、状态等。常见的文件系统类型包括ext4、NTFS、FAT等。

4. 执行挂载操作

在识别出文件系统类型并加载了相应的驱动程序后,mount命令会执行挂载操作。这个过程将设备文件与挂载点目录进行关联,使得设备的内容可以通过挂载点目录进行访问。如果挂载点目录之前不存在文件,这些文件在挂载过程中不会被移动或删除;相反,它们将被隐藏,直到设备被卸载。

5. 记录挂载信息

Linux系统会维护一个挂载点的列表,以记录每个挂载点的设备和文件系统信息。这些信息通常存储在/etc/mtab文件中(或/run/mount/mtab,取决于系统配置),而/etc/fstab文件则用于指定系统启动时应该自动挂载的设备或文件系统。

二、挂载过程中的关键步骤和技术细节

1. 检查文件系统类型与加载驱动程序

mount命令会根据指定的文件系统类型(如果有的话)或自动检测的文件系统类型来加载相应的文件系统驱动程序。这是挂载操作能够成功进行的前提。

2. 创建挂载点

虽然挂载点目录通常需要在挂载之前手动创建,但在某些情况下(如使用-o loop选项挂载ISO映像文件时),mount命令可能会自动创建挂载点目录。然而,这并不是mount命令的默认行为。

3. 调用内核函数

mount命令最终会调用Linux内核提供的mount()系统调用来执行挂载操作。这个过程涉及到底层系统资源的分配和管理,因此通常需要root权限才能执行。

4. 更新文件系统表

挂载成功后,mount命令会更新系统的文件系统表(如/etc/mtab),以记录已挂载的文件系统信息。这使得系统能够跟踪和管理所有已挂载的文件系统。

三、挂载选项和文件系统类型

**挂载选项:**mount命令提供了多种挂载选项,允许用户根据需要自定义挂载行为。例如,可以使用-rw选项以可读写方式挂载文件系统,使用-ro选项以只读方式挂载,或者使用-o loop选项将ISO映像文件挂载为循环设备。

**文件系统类型:**mount命令支持多种文件系统类型,包括Linux常用的ext4、Windows常用的NTFS和FAT等。用户需要根据设备的文件系统类型来指定相应的挂载选项和驱动程序。

四、实际应用场景

1. 挂载移动存储设备

用户可以将U盘、移动硬盘等存储设备挂载到指定目录,以便访问其中的数据。这是mount命令最常见的用途之一。

2. 挂载网络共享文件系统

通过挂载NFS或SMB/CIFS等网络共享文件系统,用户可以实现不同机器之间的文件共享和访问。这有助于在多用户环境或分布式系统中提高文件访问的效率和便利性。

3. 挂载ISO映像文件

用户可以将ISO映像文件挂载为虚拟光盘驱动器,以便访问其中的文件和内容。这对于安装软件、备份和恢复等操作非常有用。

4. 系统启动时自动挂载

通过编辑/etc/fstab文件,用户可以设置系统启动时自动挂载指定的设备或文件系统。这有助于简化系统管理和提高启动效率。

五.【实验步骤】

1)查看mount命令提示信息

mount -h

图片

图片

2)查看当前系统已挂载的所有文件系统

mount

图片

3)挂载硬盘分区,假设有一个硬盘分区/dev/sda1,把它挂载到/mnt/mydisk

mount /dev/sda1 /mnt/mydisk

图片

4)挂载 ISO 文件,将ISO文件挂载到/mnt目录,并查看/mnt目录内容。

mount -o loop /home/hnxs/1.iso /mnt ls /mnt

图片

5)卸载ISO文件挂载mnt目录

umount /mnt

图片

6)挂载 USB 驱动器,通过dmesg命令查找USB驱动打印信息

dmesg

图片

7)根据dmesg命令查看到分区名称挂载到系统中

mount /dev/sda1 /tmp

图片

8)挂载网络文件系统(NFS),挂载一个 NFS 共享,共享地址为 192.168.1.200: /home/huanghanbin/project/nfs,并挂载到 /mnt。注意目标主机(192.168.1.200)需要部署NFS服务器,否则无法正常挂载。

mount -t nfs 192.168.1.200:/home/huanghanbin/project/nfs /mnt

图片

9)挂载 CIFS/SMB 共享,挂载一个 CIFS/SMB 共享,共享地址为 //192.168.1.200/hhb,并挂载到 /tmp,用户名为 hhb,密码为123123。注意目标主机需要部署smb服务器,否则无法正常挂载。

mount -t cifs -o username=hhb,password=123123 //192.168.1.200/hhb /tmp

图片

10)查看当前挂载的文件系统,使用 df 命令查看当前挂载的文件系统

df -h

图片

11)卸载文件系统,使用 umount 命令卸载挂载的文件系统

umount /tmp

图片

12)指定文件系统类型,在挂载时,可以明确指定文件系统类型。系统类型(如ext4、xfs、ntfs、vfat等)

mount -t vfat /dev/sda1 /tmp

图片

13)只读挂载,以只读模式挂载文件系统:

mount -o ro /dev/sda1 /tmp

图片

14)异步挂载,使用异步 I/O 操作挂载文件系统,可以提高性能

mount -o async /dev/sda1 /tmp

图片

六.【实验思考】

(1)在挂载时,为什么要指定文件系统类型?如果不指定,系统能否自动识别?

(2)挂载失败可能有哪些原因?如何排查和解决这些问题?