我如何知道文件系统是否已完全卸载?

我如何知道文件系统是否已完全卸载?

我知道,fsck.ext4 -p /dev/whatever对吧?这似乎是答案,但后来我读到日记涵盖了很多罪过,结果fsck只会告诉你该文件系统没有问题,但不会告诉你你做了一些危险的事情,例如关闭/关闭已安装文件系统的系统。

如果日志可以证实这一点,那就足够了。我认为这可以通过查看journalctl或 grep'ing /var/log/*log 找到,但我希望看到像“home”或“sda3”这样的字符串来确认成功卸载,但没有任何结果表明这一点。

我运行的是 Ubuntu 22.04.3。

答案1

对于extN文件系统,您可以检查超级块。例如,

tune2fs -fl /dev/sda1 | grep '^Filesystem features:'

就我而言,已安装的文件系统包含该词needs_recovery,而完全卸载的文件系统则不包含该词。

fs=/dev/sda1
if tune2fs -fl "$fs" | awk -F: 'BEGIN { ss=0 } $1 == "Filesystem features" && $2 ~ /needs_recovery/ { ss=1 } END { exit ss }'
then
    echo "$fs: seems ok"
else
    echo "$fs: needs recovery (fsck)"
fi

相关内容