详解 /etc/fstab
首先通过下面一张图看一下今天要分享的大致内容。
1.作用
文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过mount -a
命令来挂载所有未被挂载的设备,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。
这样在开机的时候,可以实现自动挂载设备。基础示例:
/dev/sda1 /boot ext4 defaults 0 0
2.格式
第一列可以是分区名,可以用UUID或卷标表示(前提分区用卷标设置了),建议使用UUID
拓展:
当磁盘是SATA接口,且有多个磁盘,则每个磁盘被标记为 /dev/hda 、 /dev/hdb、 /dev/hdc
等以此类推;而每个磁盘的分区被标记为 /dev/hda1、 /dev/hda2等。
当磁盘是SCSI类型,则多个磁盘会被分别标记为 /dev/sda、/dev/sdb等等。分区同上。
在使用分区时,需要提前格式化,创建文件系统。
mkfs.extX mke2fs mkfs 各举一个例子:
mkfs.ext4 /dev/sda5
mke2fs -t ext4 /dev/sda5
mkfs -t ext3 /dev/sda5
第二列是挂载点。
挂载点必须为当前已经存在的目录,否则在使用mount -a 会出错,开机也会遇到问题。
解释:
挂载点相当于一个分区的入口,通过挂载点才可以访问到分区里的数据。
mount 命令常用选项
-t vsftype :指定要挂载的设备上的文件系统类型
-r: readonly ,只读挂载
-w: read and write, 读写挂载
-n: 不更新/etc/mtab ,mount 不可见
-a :自动挂载所有支持自动挂载的设备( 定义在了/etc/fstab
文件中,且挂载选项中有auto 功能)
-L 'LABEL': 以卷标指定挂载设备
-U 'UUID': 以UUID 指定要挂载的设备
-B, --bind: 绑定目录到另一个目录上
查看内核追踪到的已挂载的所有设备
cat /proc/mounts
第三列为此分区的文件系统类型。
Linux可以使用ext2、ext3 ext4 xfs 等类型,必须和格式化时的类型一致。
也可以使用 auto,自动检测。
第四列是挂载的选项,用于设置挂载的参数。
常见参数如下:
auto: 系统自动挂载,fstab默认就是这个选项
defaults: rw, suid, dev, exec, auto, nouser, and async.
noauto 开机不自动挂载
nouser 只有超级用户可以挂载
ro 按只读权限挂载
rw 按可读可写权限挂载
user 任何用户都可以挂载
请注意光驱和软驱只有在装有介质时才可以进行挂载,因此它是noauto
第五列 是否备份
1表示备份 0表示不备份。通常在/上使用。
第六列是fsck磁盘检查设置。
其值是一个顺序。当其值为0时,表示不检查;而 / 根目录分区永远都为1。
其它分区设置为2表示检测。
3.注意
挂载swap设备时,挂载点和文件系统类型都是swap。
挂载光盘的时候文件系统类型为iso9660,且defaults,loop
当文件设备被写入/etc/fstab时,但是设备损坏,或无挂载点,等情况,开机
启动遇到问题解决步骤:
1.输入用户密码,进入只读的文件系统。
2.关闭selinux,重新挂载 mount -o remount,rw /dev/sda2
3.修改/etc/fstab 将出现问题的一行 最后一行改为0 或 删除那一行
4.总结
学习的内容越来越多,需要理解的内容也在逐渐增多 。
加油,定个小目标:
1.增强自己的思维模式,多去思考
2.改善自己的学习方法。
3. 锻炼身体,增加学习复习时间。
4.Believe myself