- 1、自动挂载
- 2、如何查询系统下每个分区的UUID
- 3、配置自动挂载
- 4、/etc/fstab文件修复
上一篇文章我们说明了手动分区讲解,对一块新硬盘进行了手动分区和挂载。
但是我们发现重启系统之后,新硬盘上的两个挂载没有了,还需要重新手动挂载。也就是说,之前的操作,挂载上的新硬盘,重启系统之后,是不会自动挂载的,所以这样真的很麻烦,这时我们就需要进行自动挂载的操作。
提示:日常的移动存储设备,如U盘、光盘、移动硬盘都禁止做自动挂载,如果在系统启动前你忘记放入光盘等,系统会直接报错。你只需要把固定存储设备,设置为自动挂载即可。
1、自动挂载
自动挂载主要依靠的就是修改分区自动挂载文件/etc/fstab
。
编辑/etc/fstab
文件。内容如下:
- 第一列:设备文件名
- 第二列:挂载点
- 第三列:文件系统
- 第四列:挂载选项(忘记的可以看之前的文章Linux系统中的挂载操作)
- 第五列:
1
,是否可以备份。0
不备份,1
每天备份,2
不定期备份。(分区在重启的时候是否自动进行备份,默认建议写1
,swap
分区为0
。) - 第六列:
2
,是否检测磁盘fsck
。0
不检测,1
启动时检测,2
启动后检测。(在开机的时候是否运行fsck
命令进行自动修复文件,建议根分区是1
,其他分区都设置为2
,swap
分区为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/
结果如下:
3、配置自动挂载
修改/etc/fstab
配置文件,进行自动挂载,内容如下:
注意:
/etc/fstab
配置文件直接参与系统启动,如果修改错误,系统启动报错。
写好文件之后,重启系统查看。
mount -a
命令,用它进行测试/etc/fstab
配置文件,有时候不太准确,新版本的Linux系统对/etc/fstab
配置文件容错率提高了。这是一个好处,修改错了/etc/fstab
配置文件内容(一般内容的拼写错误,设备文件名除外),最多分区没有挂载上,但不影响开机。
4、/etc/fstab
文件修复
上面说了,/etc/fstab
配置文件直接参与系统启动,如果修改错误,系统启动报错。
/etc/fstab
配置文件是可以进行修复的,我们来说一说如何修复。
注意:系统修复的前提,是我能拿到服务器(电脑)本机。但是现在的服务器一般都在机房和云端。
像添加分区的自动挂载,只有设备文件名写错了,重启之后会失败,其他的编写错误都能正常启动系统。那我们就重新编辑/etc/fstab
配置文件,把设备文件名修改一下。
在用mount -a
命令,检查一下/etc/fstab
配置文件是否有错误,结果如下,发现错误。
我们重启一下系统,看看能否正常启动。
系统启动出现了错误,如下图所示:
可以看到上图最后两行提示,Give root password for maintenance (or tupe Control-D to continue):
,请你输入root
用户的密码,或者ctrl+d
继续。ctrl+d
不是继续下一步,而是继续重启。
这时候只有输入root
用户的密码了,但是需要到服务器本机才能输入root
用户密码,系统没有启动,网卡是没有生效的,远程客户端是链接不上的。所以再次重复一下,修复Linux系统的前提是拿到本机。
我们输入root
用户的密码,你发现你登陆进系统了。
如下图所示:
这样我们就可以继续操作Linux系统了,执行[rootelocalhost ~]# vim /etc/fstab
命令,修改/etc/fstab
配置文件。
注意:在修改/etc/fstab
配置文件时,该文件是只读文件,你无法正常保存修改。
如下图所示:
原因是对整个分区没有写权限,要把/
分区重新挂载下,挂载为读写权限就可以修改了。
命令如下:
[root@localhost ~]# mount -o remount,rw /
再去修改/etc/fstab
配置文件,把它改回来就可以正常启动了啊。