少于 1 分钟阅读 次阅读

参数解析

一个/etc/fstab示例 | 需要挂载的分区名 | 挂载目标位置 | 分区格式 | 挂载选项 | Dump 备份标志 | Fsck 检查顺序 | |——————|————–|———-|———————————————|—————|—————| | PARTLABEL=home | /home | ext4 | defaults | 0 | 2 | | PARTLABEL=var | /var | ext4 | defaults | 0 | 2 | | PARTLABEL=swap | none | swap | sw,nofail,x-systemd.device-timeout=5s | 0 | 0 | | LABEL=data | /data | ext4 | defaults,nofail,x-systemd.device-timeout=5s | 0 | 2 |

参数 1:文件系统标识(第 1 列)—— “你要挂载谁?”

这是告诉系统你要挂载的具体是哪个分区。

  • PARTLABEL=home / PARTLABEL=var / PARTLABEL=swap:这是通过分区的“分区表标签”来精准定位。PARTLABEL 指的是 GPT 分区表中设置的名字。这种方式非常稳妥,哪怕你把硬盘插在不同的 SATA 接口上,系统也能通过名字认出它。
  • LABEL=data:这是通过文件系统的 “卷标” 来定位。相当于这块格式化好的分区自己有个名字叫 “data”。

参数 2:挂载点(第 2 列)—— “把它放在哪儿?”

这是指定分区挂载到系统目录树的哪个位置。

  • /home:通常用来存放用户个人的文件、下载内容和配置。把它单独挂载,重装系统时就不会丢失个人数据。
  • /var:用来存放经常变化的数据(比如日志、数据库、Docker 容器数据)。单独挂载可以防止日志爆满时把系统盘撑爆。
  • /data:自定义的目录,一般用来存放重要的业务数据或仓库。
  • none(Swap 分区):Swap 是交换分区,相当于 Windows 的“虚拟内存”,它不需要挂载到某个具体的文件夹,所以这里填 none

参数 3:文件系统类型(第 3 列)—— “这个硬盘是什么格式?”

告诉系统用什么驱动去读取这个分区。

  • ext4:目前 Linux 最经典、最稳定的日志文件系统格式。你的硬盘分区大概率都是这个格式。
  • swap:专指 Swap 分区的类型。

参数 4:挂载选项(第 4 列)—— “以什么规矩挂载?”

系统挂载这个分区时要遵守的行为准则。

  • defaults:这是一个便捷写法,代表了一组默认的安全配置(包含 rw 可读写、suid、dev、exec、auto、nouser、async)。对于日常使用的普通分区,直接用 defaults 就足够了。
  • sw:这是 Swap 分区的专属选项,等同于 defaults,pri=0,意思是启用默认的交换空间优先级。
  • nofail:即使该设备不存在或挂载失败,也不影响系统启动
  • x-systemd.device-timeout=5s:systemd 等待该设备出现的超时时间为 5 秒

参数 5:Dump 备份标志(第 5 列)—— “需要用 dump 工具备份吗?”

这个数值只有 01 两种选择:

  • 0:关闭。表示系统自带的 dump 备份工具忽略这个分区,不要对它做备份。(现在基本都用更现代的备份工具了,所以绝大多数情况填 0 即可)。
  • 1:开启。表示允许 dump 备份工具在需要时备份这个分区。

参数 6:Fsck 检查顺序(第 6 列)—— “开机时用 fsck 检查硬盘吗?”

决定系统开机自检硬盘的逻辑。

  • 0:跳过检查。常用于 SSD、Swap 或网络共享盘。
  • 1:最高优先级。通常只给系统的根目录(/)使用。
  • 2:次高优先级。除了根目录以外的本地物理磁盘(像你的 /home, /var, /data)一般都填 2。系统会等根目录检查完后,再并行检查这些分区。

验证修改

每次改完 /etc/fstab 千万不要直接 reboot! 先运行下面这两句:

sudo mount -a
echo $?
  • sudo mount -a:这条命令会让系统按照你刚改的 fstab 规则,把所有还没挂载的盘当场挂载一遍。如果有错,它会立刻报错告诉你哪里写错了(比如盘不存在、格式不对)。
  • echo $?:这句是检查上一句命令的执行结果。如果输出是 0,说明一切完美;如果输出非零,说明有错误,这时候你去重启才是安全的。

留下评论