e2fsck 错误 - fsck.ext2:尝试打开 /dev/root 时没有此类文件或目录

e2fsck 错误 - fsck.ext2:尝试打开 /dev/root 时没有此类文件或目录

我正在使用 Yocto 进行嵌入式 Linux 构建。我的目标是在每次系统启动期间强制执行文件检查。我修改了该/etc/default/rcS文件并设置了ENABLE_ROOTFS_FSCK=yesFSCKFIX=yesfsck尝试检查 rootfs 但出现以下错误:

e2fsck 1.46.2 (28-Feb-2021)
fsck.ext2: No such file or directory while trying to open /dev/root
Possibly non-existent device?

fsck failed. Please repair manually and reboot. Please note that the root filesystem is currently mounted read-only. To remount it read-write:
   # mount -n -o remount,rw /
CONTROL-D will exit from this shell and REBOOT the system.

我在这里看到两个问题。首先,为什么e2fsck无法检查文件系统?其次,为什么e2fsck调用fsck.ext2检查ext4文件系统?当我fsck -n <partition>正常启动后使用时,效果很好。我得到以下日志:

e2fsck 1.46.2 (28-Feb-2021)
Warning! <partition> is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
<partition> clean

预先感谢您的任何帮助。

编辑:我使用使用 Yocto 构建的 Linux,内核为 3.18 和 systemVinit。还有一些方法可以在启动过程中强制进行 fsck,但它们似乎适用于带有 systemd 的系统。我想 e2fsck 不知道应该检查哪个分区。它尝试检查 /dev/root 而不是我的物理分区 /dev/mmcblk0p2。

相关内容