fsck 終了ステータス「システムを再起動する必要があります」

fsck 終了ステータス「システムを再起動する必要があります」

Linux の fsck(8) マンページには、次の終了コード表が含まれています。

   The exit code returned by fsck is the sum of the following conditions:

          0      No errors
          1      Filesystem errors corrected
          2      System should be rebooted
          4      Filesystem errors left uncorrected
          8      Operational error
          16     Usage or syntax error
          32     Checking canceled by user request
          128    Shared-library error    

終了コード2は「システムを再起動する必要があります」に割り当てられているため、どの目的にも使用されると想定できます。ただし、原則として、fsckシステムの動作にまったく重要ではない一種の外部サムドライブを確認してから、この終了コードを返すことは可能です。このように不可欠でないファイルシステムのエラーのために再起動が必要であることは言うまでもありません。特にファイルシステムがfsck

「システムを再起動する必要があります」終了コードとはどういう意味ですか?実際に意味は?

ベストアンサー1

これは、スキャンの実行時に問題のファイルシステムがマウントされ、fsckエラーを修正するにはディスク上のデータを実際に修正する必要があり、システムを再起動しないとファイルシステムを手動で再マウントできないことを意味します。

主な状況は、ルートファイルシステムでエラーが検出(および修正)される場合です。ファイルシステムをスキャンするための非常にクールなinitramfsまたはリカバリ環境がない場合は、スキャン時にルートファイルシステムを実行します(したがって読み取り専用としてマウントされます)。

パフォーマンス上の理由から、カーネルはマウントされたファイルシステムのキャッシュされたメタデータを再検証しません(fsckマウントされたファイルシステムのカーネルを除いてディスク上のデータは何も変更しないため)。したがってfsck、これらのメタデータの一部を変更する必要がある場合、カーネルはカーネル(ほとんどのUNIXシステムでは不可能)またはユーザーにファイルシステムをアンマウントしてから再マウントして、カーネルが変更されたメタデータを選択できるように指示します。ルートファイルシステムは実際にはシステム自体を再起動します。

おすすめ記事