12.2. fsck のファイルシステム固有の情報
12.2.1. ext2、ext3、および ext4
これらのエラーはすべて、
e2fsck
バイナリーを使用して、ファイルシステムの確認と修復を実行します。ファイル名の fsck.ext2
、fsck.ext3
、および fsck.ext4
は、この同じバイナリーのハードリンクです。これらのバイナリーは、システムの起動時に自動的に実行し、その動作は確認されるファイルシステムと、そのファイルシステムの状態によって異なります。
完全なファイルシステムの確認および修復は、メタデータジャーナリングファイルシステムではない ext2 や、ジャーナルのない ext4 ファイルシステムに対して呼び出されます。
メタデータジャーナリングのある ext3 と ext4 ファイルシステムの場合、ジャーナルはユーザースペースで再生され、バイナリーが終了します。ジャーナルの再生により、クラッシュ後の一貫したファイルシステムが保証されるため、これはデフォルトのアクションです。
マウント中にこれらのファイルシステムがメタデータの不整合が発生した場合には、このファクトがファイルシステムのスーパーブロックに記録されます。e2fsck が、このようなエラーでファイルシステムがマークされていることを検出すると、ジャーナル(ある場合)を再生した後、e2fsck が完全なチェックを実行します。
e2fsck は、-p オプションが指定されていないと、実行時にユーザー入力を求める場合があります。-p オプションは e2fsck に対して、安全に実行される可能性のあるすべての修復を自動的に実行するように指示します。ユーザーの介入が必要な場合、e2fsck はその出力の未解決の問題を示し、この状態を出口コードに反映させます。
共通して使用される e2fsck の実行時のオプションには以下が含まれます。
- -n
- 非変更モード。チェックのみの操作。
- -b スーパーブロック
- プライマリースーパーブロックが損傷している場合は、別のスーパーブロックのブロック番号を指定します。
- -f
- スーパーブロックに記録されたエラーがなくても、フルチェックを強制実行します。
- -j ジャーナルデバイス
- 外部のジャーナルデバイス (ある場合) を指定します。
- -p
- ユーザー入力のないファイルシステムを自動的に修復または「preen (修復)」する
- -y
- すべての質問に「yes」の回答を想定する
e2fsck のすべてのオプションが e2fsck(8) man ページで指定されています。
以下の 5 つの基本フェーズが、実行中に e2fsck で実行されます。
- Inode、ブロック、およびサイズのチェック。
- ディレクトリー構造のチェック。
- ディレクトリー接続のチェック。
- 参照数のチェック。
- グループサマリー情報のチェック。
e2image(8) ユーティリティーは、診断またはテスト目的で、修復前のメタデータイメージを作成するために使用できます。ファイルシステム自体と同じサイズのスパースファイルを作成するには、- r オプションは、テスト目的に使用する必要があります。その後、e2fsck は作成されたファイルで直接操作できます。イメージが診断目的でアーカイブまたは提供される場合に、-Q オプションを指定する必要があります。これにより、送信に適したよりコンパクトなファイル形式が作成されます。