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を有効にするには、ブートローダ設定にカーネルパラメータを追加する必要があります。修理するユーザーの介入は必要ありません。