根文件系统必须最先挂载,它是所有挂载操作的起点和系统启动前提;/boot和/usr等基础目录需早于关键服务挂载;虚拟文件系统如/proc、/sys须在根挂载后立即挂载;网络与可移动设备应延后挂载并配置容错选项。

挂载顺序直接决定系统能否顺利启动、服务能否正常加载。依赖关系没理清,轻则某个目录访问失败,重则系统卡在 emergency mode 无法进入登录界面。
根文件系统必须最先挂载
所有挂载操作都以 / 为起点。没有根,/etc/fstab 读不了,systemd 启动不了,连 mount 命令本身都可能找不到。所以内核初始化后第一件事就是挂载根文件系统——它不是“之一”,而是唯一前提。
- 如果根分区用 LVM 或 RAID,需先激活卷组或组装阵列,再挂载逻辑卷
- 使用加密根分区(如 LUKS)时,解密动作发生在挂载前,属于 initramfs 阶段
- fstab 中根条目 pass 字段必须为 1,确保 fsck 在启动早期执行
/boot 和 /usr 等基础目录需早于关键服务
内核镜像、initramfs、grub 配置存于 /boot;系统二进制、库文件、systemd 单元定义大多在 /usr。若它们被单独分区,就必须在相关服务启动前挂载完成。
- /boot 分区建议在根之后立即挂载(fstab 中 pass=2),避免 grub-update 失败或内核更新异常
- /usr 若独立分区,需设为 RequiresMountsFor=/usr 的 systemd 依赖,不能只靠 After=local-fs.target
- 不要把 /etc/fstab 放在外部网络存储上——它必须本地可读,否则启动流程根本走不下去
tmpfs、proc、sysfs 等虚拟文件系统要按内核要求顺序挂载
这些不是磁盘设备,但却是运行时必需的运行环境支撑。它们的挂载时机由内核和 initramfs 控制,用户一般不手动干预,但理解其作用能快速定位问题。
- /proc 和 /sys 必须在 root 挂载后立即挂载,否则 ps、lsmod、udev 等工具失效
- /dev/shm 和 /run 通常用 tmpfs 实现,依赖 /dev 和 /sys 已就绪,fstab 中应排在 /dev 之后
- 错误示例:fstab 里把 /run 写在 /dev 之前,可能导致 udev 规则无法应用,设备节点缺失
网络与可移动文件系统必须延后且带容错
NFS、CIFS、USB 设备等不具备本地设备的确定性。网络未通、远端服务宕机、U 盘拔出——这些都不该阻塞系统启动。
- fstab 中对应条目务必加 noauto,x-systemd.automount 或设为 _netdev 选项
- 避免在 /etc/fstab 中对网络存储设 pass=2,否则 fsck 会尝试检查不可达设备,导致超时卡死
- 若必须开机即挂,改用 systemd mount unit 并配置 BindsTo=network-online.target,而非简单写 After=network.target











