如何知道是否对操作系统分区执行了 fsck?

如何知道是否对操作系统分区执行了 fsck?

我习惯fsck通过以下方式订购:

# touch /forcefsck

Ubuntu Linux v14我发现这个方法可以检查重新启动后是否执行:

luis@Terminus:~$ sudo dumpe2fs /dev/sda7 | grep "mount" -i
dumpe2fs 1.42.9 (4-Feb-2014)
Last mounted on:          /
Default mount options:    user_xattr acl
Last mount time:          Sun Feb 28 23:24:18 2016
Mount count:              1
Maximum mount count:      -1

诀窍在于Mount count数据:它应该告诉次数该分区已已安装最后一次检查后。所以重启后的一些1意味着它刚刚被检查过。

但在卡利Linux v2.0它似乎不是工作顺利。这是相同命令后的结果touch /forcefsck

luis@Midnighter:~$ sudo dumpe2fs /dev/sdb8 | grep "mount" -i
dumpe2fs 1.42.12 (29-Aug-2014)
Last mounted on:          /
Default mount options:    user_xattr acl
Last mount time:          Sun Feb 28 21:22:49 2016
Mount count:              82
Maximum mount count:      -1

我如何确认fsck已执行?

答案1

有一种直接的方法可以判断 fsck 最后一次在文件系统上运行的时间:

tune2fs -l /dev/sdb8 | grep '^Last checked:'

(或dumpe2fs代替tune2fs -l。)

在 Debian 上, 的存在/forcefsck会导致启动脚本运行fsck -f而不是fsck,这会强制执行文件系统检查(通常fsck只是表示文件系统是干净的并立即退出)。我不知道Kali Linux是否更改了相关脚本(/etc/init.d/checkroot.sh在SysVinit系统上)。

相关内容