カーネルは rootfs ext4 をマウントしません。

カーネルは rootfs ext4 をマウントしません。

rootfsとしてext4パーティションを持つシステムがあります。カーネルは別のパーティションに配置されます。しばらくするとrootfsが破損しているため、カーネルはパニックを印刷します。 fsckを実行すると、期待どおりに起動します。私の質問は、カーネルがファイルシステムを復元しようとしない理由と、ext4の電力復元力にもかかわらず、このエラーが発生する理由です。 ext4の破損によりカーネルがrootfsをマウントできないのはなぜですか?

ありがとうございます!

答え1

これを行うにはシステムを設定する必要があるため、カーネルはファイルシステムの復元を試みません。 Unixシリーズシステムでは、ユーザーはさまざまな構成と動作を持つさまざまなファイルシステム(luk、raids、btrfs、zfsなど)を使用できます。したがって、多くのディストリビューションのデフォルトの動作は、ディスクに保存されているデータに害を及ぼさないように構成されています。ファイルシステムの破損の原因はさまざまです。最悪のシナリオはハードウェアエラーです。

システムtune2fsコマンドの-c(max-mount-counts)オプションを使用して、再起動するたびに強制fsckをトリガできます。このオプションは、ファイルシステムの確認後にマウント数を設定するため、1に設定すると、コンピュータが起動するたびにfsckが実行されます。 -1または0に設定すると、この値はリセットされます(e2fsckとカーネルはファイルシステムのマウント数を無視します)。

sudo tune2fs -c 1 /dev/sdXY

これを行うには、fsckを使用して確認し、回復するパーティションのパス番号が0より大きく設定されていることを確認する必要があります/etc/fstab(/ etc / fstabの最後の列)。ルートパーティションは1(最初に確認)に設定し、確認する他のパーティションは2に設定する必要があります。

# /etc/fstab: static file system information.
/dev/sda1  /      ext4  errors=remount-ro  0  1
/dev/sda5  /home  ext4  defaults           0  2

fsck.repair=yesまた、自動fsを有効にするには、ブートローダ設定にカーネルパラメータを追加する必要があります。修理するユーザーの介入は必要ありません。

関連情報