自动挂载

我们通过mount命令进行挂载操作不是永久生效的,系统重启后即会失效。 系统的自动挂载是读取/etc/fstab配置文件,也就是说,Linux在启动时,会根据/etc/fstab配置文件的内容做自动挂载。 所以,针对暂时性用途的U盘、光盘等,我们使用mount命令手动挂载即可;而针对磁盘分区等, 需要做系统自动挂载。

fstab文件格式

/etc/fstab文件格式如下,一共6个字段。
image.png
第1字段:分区设备文件名 或 分区设备的UUID(硬盘通用唯一标识码)

使用blkid [分区设备文件名]命令,可以查看分区设备的UUID。 推荐使用UUID,可以避免出现设备文件改名或系统内核升级等特殊情况可能会导致的系统崩溃。

第2字段:挂载点
第3字段:文件系统类型名称

格式化磁盘分区时指定的文件系统类型 或 默认的系统类型,可以通过 mount 命令查看。

第4字段:挂载参数(对应前面章节的挂载特殊参数 mount 命令 -o 选项的参数)

defaults表示默认参数,其他参数说明参考前面章节 mount 命令 -o 特殊选项汇总

第5字段:指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份

选择需要备份时,就会生成一个备份数据保存目录(lost+found),在对应的挂载目录下。 该目录只保存当前磁盘分区的备份数据。

第6字段:指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,数字越小优先级越高

数字越小,系统执行fsck的时候就会优先扫描并修复。如果需要扫描,则要求/目录的优先级应最高为1,其他次之;用户添加的分区优先级不应高于系统已存在的优先级。数字可以重复。

修改/etc/fstab文件注意事项:
fstab文件是系统极其重要的配置文件,当你修改fstab文件时必须确保格式正确,确保挂载目录存在,确保挂载分区存在,否则系统关机后就无法再次启动,也就无法远程,需要去机房才能查看错误信息。
因此当你修改了fstab文件后,应当使用mount -a命令,让系统尝试依据改动后配置文件fstab重新自动挂载分区,如果报错,就说明配置文件修改存在问题,就可以及时改正。

fstab文件错误修复

如果确实对fstab文件修改错误,那么就需要进行修复,方法如下。

1、假设不小心写错了设备文件名,将/dev/sdb1写成了不存在的/dev/sdc1
image.png
2、保存退出后,使用mount -a命令,重新挂载分区,可以看到错误提示
image.png
3、忽略该错误提示,关机,重新打开Linux
image.png
4、看到报错信息,此时远程已经无法连接该Linux,只能在Linux主机本机上修复。系统提示按Ctrl+D重试,输入root密码可以进行人工修复。这里输入root密码,进入修复。
image.png
5、此时,只要去修改/etc/fstab文件,改正错误,重启即可。
但是,有可能此时/目录被挂载成只读,即使root用户也无法修改/etc/fstab文件,那么这里我们就需要重新挂载/目录。然后,就可以修改/etc/fstab文件,重启Linux即可。

  1. mount -o remount,rw / ## 重新挂载/目录
  2. shutdown -r now ## 重启此Linux

需要说明,这种修复方式是十分有限的,只能修复/etc/fstab文件错误。甚至,如果fstab文件中对于/目录的配置信息也是错误的话,那么方法便无效了,我们连启动报错信息也看不到。也就是说,上述操作是基于fstab配置文件中/目录的配置是正确的。