文件系统管理-fdisk分区-自动挂载与fstab文件修复
前言
解决两个问题:
- 如果用mount命令进行手动挂载,有个问题,每次重启,这些分区必须要重新手工挂载。
一重启分区就会丢,这个不符合我们的使用习惯,应该可以实现自动挂载。如果想要永久生效,就要写入 /etc/fstab文件,只要写入了这个文件,开机之后依照这个文件的配置,自动挂载。 - 这个文件是系统启动的时候一个重要的启动文件,万一把他写错了,有可能会直接造成系统的崩溃,这种情况下需要进行fstab文件修复。
1./etc/fstab文件
字段 | 所代表的含义 |
---|---|
第一字段 | 分区设备文件名或UUID(硬盘通用唯一识别码) |
第二字段 | 挂载点 |
第三字段 | 文件系统名称 |
第四字段 | 挂载参数 |
第五字段 | 指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份 |
第六字段 | 指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,那么当然1的优先级比2高 |
开始操作: vim /etc/fstab
打开fstab文件
需要说明的字段:
-
第一个字段:
分区设备文件名或UUID都可以,但是设备文件名有个问题:就是把分区的顺序给颠倒了,把原来的sda2变成了sda3,或者升级了系统内核,或者有添加了新的分区,这种情况下非常容易造成系统的崩溃。原因: 系统是按照原先的分区顺序进行系统的启动和调用,但是你把分区顺序改了,系统不知道,然后用原先的方法去找就会报错。
Uuid相当于给我们的分区起了一个唯一识别的id号, 这样系统去看这个id号来确定分区,这样随便改分区顺序,但是分区的id号是固定的,只要来查询id号,就可以知道你的分区有没有改顺序,就算改了,也可以正常使用。所以有了uuid,分区的修改和使用就会变得更加灵活。UUID可以用dumpe2fs -h /dev/sdb1
-
第四个字段:
这个分区自动挂载的时候使用默认权限
这个文件当中的权限和mount、所用到的挂载表格的权限是通用的,如果不想用默认权限,想自己手工来进行权限,可以参考mount,挂载权限的那个变化。可以参考这篇文章的mount: https://blog.****.net/weixin_46818279/article/details/107040849 -
第五个字段
这里的备份针对的是分区,这个目录必须是分区才会有lost+found -
第六个字段:
fsck不需要手工执行,系统会在恰当的时间内会自动进行检测。
注意: 一般手工添加的分区它的优先级不能为1,不应该比根目录要高。
2.分区自动挂载
-
命令: vim /etc/fstab
作用:打开fstab文件,在文件中写入 /dev/sdb1 /disk1 ext4 defaults 1 2 实现每次重启开机自动挂载 -
命令: mount -a
作用:根据配置文件/etc/fstab的内容,自动挂载
开始实验:
-
(1)添加挂载的分区
(2)为了保险起见,先执行mount –a这个命令,根据配置文件/etc/fstab的内容,自动挂载。如果报错会有提示,不至于重启之后等系统崩溃了才发现。
(3) 万一文件写错了会导致直接崩溃。测试:故意把文件内容写错,把sdb1写成sdb
(4)开始重启reboot
到现在发现这个文件只有读权限,修改之后不能保存,就连强制保存都不可以。那如何解决那???继续往下看!!!
注意: /etc/fstab
这个文件是一个重要的系统启动资源文件, 如果这个文件写错,启动过程就会报错,会导致系统直接崩溃。
3./etc/fstab文件修复
-
命令:
mount -o remount,rw /
作用: 在文件修复的时候,虽然进入了fstab这个文件中了,但是修改之后不能保存,就算强制保存也不行,这是重新挂载一下根分区,具有读写权限。
接着上面的实验继续进行:
-
(1) 这个分区在报错之后,挂载的时候没有把他挂成读写权限, 而挂成了只读权限,重新把分区挂载一下,挂成读写权限,就可以解决这个问题
(2)这是可以修改保存了,然后再重启reboot
提示:
- 如果/etc/fstab进行报错,再启动的时候输入密码,然后通过重新挂载,然后把写权限挂载进去,然后进行文件的修复。
- 这种修复方式不是万能的,这个不是Linux当中常用的修复模式。这种修复只用于这个文件报错的情况下,修复是有局限性的,只能修复这个文件报错,如果把根分区这个字段给弄错,连错误提示都看不到,系统直接就崩溃了。如果想看到那个报错,必须保证根分区是正常的才可以。
4.总结
-
(1) 通过修改
/etc/fstab
这个文件让分区实现自动挂载
(2) 如果把这个文件改错了,可以再/etc/fstab文件中进行修复。