エラーコード8のためにsystemd-fsckが失敗しました。起動時にディスクを回復できません。

エラーコード8のためにsystemd-fsckが失敗しました。起動時にディスクを回復できません。

2つのパーティションがあります。 1つはROルートファイルシステム用(mmcblk3p1)、もう1つはRWデフォルトパーティション用(mmcblk3p2)です。systemd-fsckパーティションが手動で破損したときにパーティションを回復できない理由は理解できません。

dd if=/dev/zero bs=1 count=1000 of=/dev/mmcblk3p2 seek=1000

5秒以内にパーティションを手動で回復できるため、問題はlibsystemd-fsck内になければなりません。

e2fsck /dev/mmcblk3p2 -y

私のfstabは起動時に両方のパーティションをチェックするように設定されており、カーネル設定はfsckに回復を試みるように指示します。

Kernel command line: console= consoleblank=0 vt.global_cursor_default=0 fsck.mode=auto fsck.repair=yes root=/dev/mmcblk3p1 rootfstype=ext4 rootwait ro

fsckが起動中に回復しようとすると、すぐにエラーが発生するようです。ジャーナルでエラーを見ることができます。

journalctl | grep fsck

Jan 02 21:43:05 systemd-fsck[192]: e2fsck 1.43-WIP (18-May-2015)
Jan 02 21:43:05 systemd-fsck[192]: /dev/mmcblk3p1: clean, 9287/192576 files, 139802/192512 blocks
Jan 02 21:43:07 systemd-fsck[673]: e2fsck 1.43-WIP (18-May-2015)
Jan 02 21:43:07 systemd-fsck[673]: /dev/mmcblk3p2: recovering journal
Jan 02 21:43:07 systemd-fsck[673]: /dev/mmcblk3p2 contains a file system with errors, check forced.
Jan 02 21:43:07 systemd-fsck[673]: Pass 1: Checking inodes, blocks, and sizes
Jan 02 21:43:07 systemd-fsck[673]: fsck: Warning... fsck.ext4 for device /dev/mmcblk3p2 exited with signal 13.
Jan 02 21:43:07 systemd-fsck[673]: fsck failed with error code 8.
Jan 02 21:43:07 systemd-fsck[673]: Ignoring error.
Jan 02 21:43:07 kernel: EXT4-fs (mmcblk3p2): warning: mounting unchecked fs, running e2fsck is recommended

シグナル13とエラーコード8は、問題の根本的な原因を突き止めるのに大きな助けにはなりません。オンラインで見つけることができる唯一の他の質問は次のとおりです。これUbuntuメーリングリストにありますが、systemd-fsckは30秒のタイムアウトに関連するバグに関するものです。

私はもはや廃止された4.1.38カーネルでsystemd-229を使用していますが、これが私が使用する必要があるものです。

編集:最後に、systemd-fsck@deviceの前にe2fsckを実行する別のサービスを作成しました。これにより、見つかった問題が自動的に解決され、正常に返されます。

[Unit]
Description=File System Check on /dev/mmcblk3p2
DefaultDependencies=no
BindsTo=dev-mmcblk3p2.device
After=dev-mmcblk3p2.device systemd-fsck-root.service local-fs-pre.target
Before=shutdown.target [email protected]

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/e2fsck /dev/mmcblk3p2 -y
TimeoutSec=0
SuccessExitStatus=1 2

[Install]
WantedBy=multi-user.target

ベストアンサー1

おすすめ記事