为什么 fsck 不像它应该的那样在启动时运行?

Mic*_*ael 6 boot fsck 16.04

我试过了

sudo touch /forcefsck
Run Code Online (Sandbox Code Playgroud)

然后我重新启动,文件消失了,但似乎没有进行磁盘检查。整个启动过程不到 10 秒!

然后我尝试这样做以强制它每天重新启动:

sudo tune2fs -i 1 /dev/sda1
Run Code Online (Sandbox Code Playgroud)

为了验证,我运行了这个:

sudo dumpe2fs -h /dev/sda1 
Run Code Online (Sandbox Code Playgroud)

相关的输出行是:

Last checked:             Sun Sep  4 12:15:45 2016
Check interval:           86400 (1 day)
Next check after:         Mon Sep  5 12:15:45 2016
Run Code Online (Sandbox Code Playgroud)

运行“date”我看到我的时钟显示当前是 2016 年 12 月 19 日,所以 fsck 应该在下次启动时运行。但是在我重新启动后它再次非常快并且重新运行 dumpe2fs 我看到上面完全相同的文本,表明它甚至从未尝试运行 fsck。

如何强制 fsck 在启动时运行?

slo*_*wko 2

16.04 使用 systemd 来管理启动过程,您尝试过的选项适用于旧的 SysV 和upstart的早期版本要强制在 systemd 管理的操作系统启动时进行 fsck,您需要传递一些内核参数,尽管通常这些参数作为文件系统不是必需的检查是自动的。有关内核参数(fsck.mode 和 fsck.repair)的更多详细信息,请参阅此处此处