FSCK 不会自动运行

FSCK 不会自动运行

我的/etc/fstab主要操作系统分区:

UUID=5ee65c50-5672-42a6-9dcf-8bdba30c38aa  /   ext4    defaults,noatime,nodiratime,data=writeback,errors=remount-ro    0   1

如果出现任何错误,其中一个选项设置为将分区挂载为只读。

我希望操作系统自动运行fsck,修复所有问题,然后在发现任何错误时重新启动并将分区设置为只读。我也已经FSCKFIX=yes入手/etc/defaults/rcS了目前,没有任何效果!

我可以让它工作的唯一方法是运行 bash 函数rc.local:

TIMEOUT=30
check_disk() {
    DEV=/dev/mmcblk0p2

    local TPREV=$(date +%s);
    while :
    do
        ro=`awk '$4~/(^|,)ro($|,)/' /proc/mounts | grep "/dev/root"`
        if [ ! -z "${ro}" ]
        then
            echo -e "parition is readonly; running fsck now \n"
            fsck -y ${DEV}
            reboot
            break
        fi

        # Timeout
        local TNOW=$(date +%s)
        if ((TNOW - TPREV>=TIMEOUT)); then
            break
        fi

        sleep 1
    done
}

check_disk &

我需要循环 forx seconds因为运行fstab后重新安装分区rc.local

我正在运行 Debian。感谢帮助

相关内容