『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载


目录

  • 1、自动挂载
  • 2、如何查询系统下每个分区的UUID
  • 3、配置自动挂载
  • 4、/etc/fstab文件修复

上一篇文章我们说明了手动分区讲解,对一块新硬盘进行了手动分区和挂载。
但是我们发现重启系统之后,新硬盘上的两个挂载没有了,还需要重新手动挂载。也就是说,之前的操作,挂载上的新硬盘,重启系统之后,是不会自动挂载的,所以这样真的很麻烦,这时我们就需要进行自动挂载的操作。
提示:日常的移动存储设备,如U盘、光盘、移动硬盘都禁止做自动挂载,如果在系统启动前你忘记放入光盘等,系统会直接报错。你只需要把固定存储设备,设置为自动挂载即可。
1、自动挂载 自动挂载主要依靠的就是修改分区自动挂载文件/etc/fstab
编辑/etc/fstab文件。内容如下:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载
文章图片

  • 第一列:设备文件名
  • 第二列:挂载点
  • 第三列:文件系统
  • 第四列:挂载选项(忘记的可以看之前的文章Linux系统中的挂载操作)
  • 第五列:1,是否可以备份。0不备份,1每天备份,2不定期备份。(分区在重启的时候是否自动进行备份,默认建议写1swap分区为0。)
  • 第六列:2,是否检测磁盘fsck0不检测,1启动时检测,2启动后检测。(在开机的时候是否运行fsck命令进行自动修复文件,建议根分区是1,其他分区都设置为2swap分区为0。)
说明:第一列设备文件名为什么要写分区的UUID?
因为如果写分区设备文件名,如/dev/sdb1。当我块硬盘坏了,我换了一块新的硬盘,当设置新硬盘的分区时候,分区名称可能还是/dev/sdb1,这时的/dev/sdb1分区和之前的/dev/sdb1不是一个了。而系统会误认为两个是一个/dev/sdb1分区,最后有可能导致系统出现问题。所以设备文件名位置写UUID,可以确定分区的唯一性。这样做的好处是当硬盘增加了新的分区,或者分区的顺序改变,再或者内核升级后,仍然能够保证分区能够正确的加载,而不至于造成启动障碍。(现在写设备文件名也是可以的,最好还是写分区的UUID。)
2、如何查询系统下每个分区的UUID 我们讲过的dumpe2fs命令是可以查看到的,命令如下:
# 查看分区超级块中的分区信息。 [root@localhost ~]# dumpe2fs /dev/sdb5# 或者执行命令 [root@localhost ~]# ls -l /dev/disk/by-uuid/

结果如下:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载
文章图片

3、配置自动挂载 修改/etc/fstab配置文件,进行自动挂载,内容如下:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载
文章图片

注意:/etc/fstab配置文件直接参与系统启动,如果修改错误,系统启动报错。
写好文件之后,重启系统查看。
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载
文章图片

mount -a命令,用它进行测试/etc/fstab配置文件,有时候不太准确,新版本的Linux系统对/etc/fstab配置文件容错率提高了。这是一个好处,修改错了/etc/fstab配置文件内容(一般内容的拼写错误,设备文件名除外),最多分区没有挂载上,但不影响开机。
4、/etc/fstab文件修复 上面说了,/etc/fstab配置文件直接参与系统启动,如果修改错误,系统启动报错。
/etc/fstab配置文件是可以进行修复的,我们来说一说如何修复。
注意:系统修复的前提,是我能拿到服务器(电脑)本机。但是现在的服务器一般都在机房和云端。
像添加分区的自动挂载,只有设备文件名写错了,重启之后会失败,其他的编写错误都能正常启动系统。那我们就重新编辑/etc/fstab配置文件,把设备文件名修改一下。
在用mount -a命令,检查一下/etc/fstab配置文件是否有错误,结果如下,发现错误。
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载
文章图片

我们重启一下系统,看看能否正常启动。
系统启动出现了错误,如下图所示:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载
文章图片

可以看到上图最后两行提示,Give root password for maintenance (or tupe Control-D to continue):,请你输入root用户的密码,或者ctrl+d继续。ctrl+d不是继续下一步,而是继续重启。
这时候只有输入root用户的密码了,但是需要到服务器本机才能输入root用户密码,系统没有启动,网卡是没有生效的,远程客户端是链接不上的。所以再次重复一下,修复Linux系统的前提是拿到本机。
我们输入root用户的密码,你发现你登陆进系统了。
如下图所示:
【『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载】『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载
文章图片

这样我们就可以继续操作Linux系统了,执行[rootelocalhost ~]# vim /etc/fstab命令,修改/etc/fstab配置文件。
注意:在修改/etc/fstab配置文件时,该文件是只读文件,你无法正常保存修改。
如下图所示:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载
文章图片

原因是对整个分区没有写权限,要把/分区重新挂载下,挂载为读写权限就可以修改了。
命令如下:
[root@localhost ~]# mount -o remount,rw /

再去修改/etc/fstab配置文件,把它改回来就可以正常启动了啊。

    推荐阅读