ファイルシステムの回復に関するブログの記事を読んでいましたが、作成者は良い質問をしました...人のfsck -p
介入なしに小さなエラーを自動的に修正することが可能でなければなりません。しかし、ファイルシステムの最適化を実行するように指示されたら、正確に何を修正しますか?どのエラーが修正され、停止し、ユーザーに対話的にfsckを実行する必要があるかを知らせる原因は何ですか?一種のチェックリストはありますか?
-p
私はインターネットを検索し、私が見つけたのはマニュアルページだけでした。実際に何が修正されるのか、何が練習フラグをトリガーするのかは言いません。私は特にext4ファイルシステムに興味があります。
ベストアンサー1
あなたの質問に対する答えはe2fsck/problems.c
このファイルにありますe2fsprogsソースコードフラグの検索を開始する必要がPR_PREEN_OK
あります。
発生する可能性のあるさまざまなエラー条件があるため、エラー全体の処理はより複雑です。しかし、以下のリストはエラー条件の説明から得られ、対照パターンの効果についてのおおよそのアイデアを提供します。
-p
フラグを指定すると、次のエラー/警告が現在自動的に処理されます。
- リターゲティングのヒント
- ログインデックスノードが無効です。
- ログスーパーブロックが破損しています。
- スーパーブロックhas_journalフラグがクリアされましたが、ログがあります。
- Superblock need_recoveryフラグが設定されましたが、ログは存在しません。
- ファイルシステムのリビジョンはゼロですが、機能フラグが設定されています。
- 外部スーパーブロックのスーパーブロックヒント
- グループ記述子 N は初期化されていないとマークされ、機能セットはありません。
- N-チャンクビットマップは初期化されていませんが、inodeビットマップが使用中です。
- グループ記述子 N に無効な未使用の inode 数があります。
- ブロックビットマップの最後のセットは初期化されません。
- test_fsフラグが設定されました(そしてext4が利用可能です)。
- 最後のマウント時間が未来です(偽)。
- 最後に作成された時間は未来です(操作済み)。
- ブロックグループチェックサム(ラッチの問題)が正しくありません。
- ルートディレクトリにdtimeが設定されています。
- 予約された inode モードエラー
- 削除されたinodeのdtimeは0です。
- Inodeは使用中ですが、dtimeが設定されています。
- 長さ0のディレクトリ
- Inodeのi_sizeが正しくありません。
- Inodeに無効なi_blockがあります。
- グループの無効なスーパーブロック
- グループの無効なブロックグループ記述子
- 理由なくブロックが要求されました。
- 再配置メタデータのブロックの割り当て中にエラーが発生しました。
- 再配置中のブロックバッファ割り当てエラー
- メタデータグループ情報をXからYに再配置
- メタデータグループ情報をXに再配置
- 再配置中のブロック読み取りエラー
- 再配置中のブロック書き込みエラー
- デバイスまたはソケットinodeに設定された不変フラグ
- 0以外のサイズのデバイス、fifoまたはソケットのinode
- ファイルシステムのリビジョンはゼロですが、機能フラグが設定されています。
- ログ inode は使用されませんが、データが含まれます。
- 日記モードは迷惑です
- 非HTREEファイルシステムでINDEX_FLフラグを設定する
- ディレクトリ以外の項目にINDEX_FLフラグを設定する
- HTREEディレクトリのルートノードが正しくありません。
- HTREEディレクトリでサポートされていないハッシュバージョン
- HTREEルートノードの非互換性フラグ
- HTREEが深すぎる
- 無効な inode->i_extra_isize
- 無効なeaエントリ-> e_name_len
- 無効なeaエントリ-> e_value_offs
- 無効なeaエントリ-> e_value_block
- 無効なeaエントリ-> e_value_size
- 無効なeaエントリ-> e_hash
- inodeにEXTENTS_FLはありませんが、エクステントinodeです。
- InodeはEOFBLOCKS_FLを設定しないでください。
- ディレクトリエントリが削除されたか使用されていないinode
- カタログファイル形式が設定されていません。
- ファイルシステムに設定されたディレクトリファイル形式
- HTREE ルートノードが無効です。
- HTREE制限が無効です。
- 無効なHTREE数
- 内部ノードテーブルのHTREEハッシュ値が無効です。
- _INODE_UNINIT が設定されているグループ内のインデックスノードを探します。
- グループの未使用のiノード領域でiノードを検索する
- i_blocks_hiは0でなければなりません。
- /lost+found 見つかりません
- 未接続の長さがゼロの索引ノード
- Inode 参照カウントエラー
- inode ビットマップの末尾のパディングが設定されていません。
- ブロックビットマップの末尾のパディングが設定されていません。
- ビットマップ差分ヘッダーのブロック
- 未使用のブロックですがビットマップに表示される
- ブロックは使用されましたが、ビットマップでは使用済みとしてマークされていません。
- ビットマップ差の終了をブロック
- inodeビットマップ差ヘッダー
- インデックスノードは使用されませんが、ビットマップに表示されます。
- インデックスノードが使用されましたが、ビットマップで使用されているとマークされていません。
- inodeビットマップ差の終わり
- グループの使用可能な inode 数が正しくありません。
- ディレクトリ数がグループエラーです。
- 無料のinode数エラー
- グループ内の無料ブロック数エラー
- フリーブロック数エラー
- ブロック範囲は使用されませんが、ビットマップに表示されます。
- ブロック範囲が使用されましたが、ビットマップで使用されているとマークされていません。
- inodeの範囲は使用されませんが、ビットマップに表示されています。
- inodeスコープが使用されましたが、ビットマップで使用されているとマークされていません。
- N個のチャンクが使用中ですが、グループはBLOCK_UNINITとして表示されます。
- N個のinodeグループが使用中ですが、グループはINODE_UNINITとしてマークされています。
- E2F_FLAG_JOURNAL_INODE フラグがセットされている場合、ジャーナルを再生成します。
-p
このフラグが設定されていても、次のエラー状態が原因で非対話型fsckプロセスが終了する可能性があります。
- ブロックビットマップがグループに属していません。
- Inode ビットマップがグループに属していません。
- 索引ノード表がグループに属していません。
- ファイルシステムサイズエラー
- スーパーブロックのInodeの数が正しくありません。
- Hurdはファイル形式機能をサポートしていません。
- ログに不明なスーパーブロックタイプがあります。
- ログを消去する必要があるかどうかお問い合わせください。
- ログスーパーブロックに未知の読み取り専用機能フラグセットがあります。
- ログスーパーブロックに不明な互換性のない機能フラグが設定されています。
- ジャーナルのバージョン番号はサポートされていません。
- ジャーナルを掲載する必要があるかどうか尋ねてください。
- resize_inodeのない予約済みブロック
- Resize_inodeは有効ではありませんが、inodeのサイズ変更はゼロではありません。
- inodeのサイズ変更は効果がありません。
- 最後のマウント時間は未来です。
- 最後に書かれた時間は未来です。
- グループ記述子 N チェックサムが無効です。
- ルートディレクトリはinodeではありません。
- ブロックビットマップが他のfsブロックと競合します。
- Inodeビットマップが他のfsブロックと競合します。
- Inode テーブルが他の fs ブロックと競合します。
- ブロックビットマップは不良ブロックにあります。
- inodeビットマップは不良ブロックにあります。
- inodeの無効なブロック番号
- ブロック番号がfsメタデータと重複しています。
- inodeに無効なブロックがあります(ラッチの問題)。
- inode 不良ブロックが多すぎます。
- 不良ブロック inode の無効なブロック番号
- 不良ブロック inodeに違法ブロックがあります(ラッチ問題)
- 不良ブロックが不良ブロック間接ブロックとして使用される
- 矛盾はすぐに回復できません。
- メインブロックエラーメッセージ
- メッセージプロンプトを無効にする
- ファイルシステムがサポートしていない場合は、inodeにImagicフラグを設定します。
- ファイルシステムがサポートしていない場合は、inodeに圧縮フラグを設定します。
- 孤立した接続リストの一部である索引ノードの処理
- 破損した孤立リストの一部であるインデックスノードの処理(ラッチングの問題)
- 拡張属性ブロックの読み込み中にエラーが発生しました。
- 無効な拡張属性ブロック
- 拡張属性参照回数が無効です。
- 複数のEAブロックはサポートされていません。
- エラーEA割り当ての競合
- 無効な拡張属性名
- 無効な拡張属性値
- Inodeが大きすぎる(ラッチングの問題)
- ディレクトリが大きすぎます
- 一般ファイルが大きすぎます
- シンボリックリンクが大きすぎます
- 不良ブロックには、ファイルシステムブロックと競合する間接ブロックがあります。
- inodeのサイズ変更に失敗しました。
- inodeはディレクトリのようです。
- 範囲ツリーの読み込み中にエラーが発生しました。
- 範囲を繰り返すことはできません。
- 範囲内の開始ブロックエラー
- 範囲がファイルシステムの範囲を超えています。
- 非拡張ファイルシステムでEXTENTS_FLフラグを設定する
- inodeにはスコープがあり、スーパーブロックにはINCOMPAT_EXTENTS機能はありません。
- ExpressシンボリックリンクにはEXTENTS_FLセットがあります。
- 範囲が異常です。
- Inodeに無効な範囲ノードがあります。
- 重複/不良ブロックを複製しますか?
- "."のinode番号が間違っています。
- ディレクトリエントリの inode 番号が正しくありません。
- 直接エントリは「.」にリンクされます。
- inodeを指すディレクトリエントリが無効なブロックになりました。
- ディレクトリエントリにはディレクトリへのリンクが含まれています。
- ディレクトリエントリには、ルートディレクトリへのリンクが含まれています。
- ディレクトリエントリ名に無効な文字が含まれています。
- 失われた」。 'ディレクトリインデックスノードから
- ディレクトリ inode に「..」がありません。
- ディレクトリ inode の最初のエントリには「.」は含まれません。
- ディレクトリinodeの2番目のエントリには「..」は含まれていません。
- i_faddrは0でなければなりません。
- i_file_aclは0でなければなりません。
- i_dir_aclは0でなければなりません。
- i_fragは0でなければなりません。
- i_fsizeは0でなければなりません。
- inodeモードエラー
- ディレクトリが破損している
- ファイル名が長すぎます。
- ディレクトリ inode ミスブロック(穴)
- '.' は NULL で終わりません。
- '..' は NULL で終わりません。
- 無効な文字デバイス索引ノード
- 無効なブロックデバイスinode
- コピー'。 '入口
- 二重入力
- 最終Rec_lenエラー
- ディレクトリブロックの読み込み中にエラーが発生しました。
- ディレクトリブロックの書き込み中にエラーが発生しました。
- 「.」のディレクトリエントリが大きい。分かれた?
- 無効なFIFOインデックスノード
- 無効なソケットインデックスノード
- カタログファイル形式が正しくありません。
- ディレクトリファイル名が空です。
- 無効なシンボリックリンク
- i_file_acl(拡張属性ブロック)が正しくありません。
- ファイルシステムには大容量ファイルが含まれていますが、sbには対応するフラグはありません。
- 無効なHTREEディレクトリをクリア
- htree 内部ノードの不良ブロック
- 重複したディレクトリエントリが見つかりました。
- ファイル名が一意でないことが確認されました。
- i_blocks_hiは0でなければなりません。
- 予期しないHTREEブロック
- ルート inode が割り当てられていません。
- 紛失物置き場には席がありません
- 接続されていないディレクトリ inode
- ..間違った入力
- Lost+Found はディレクトリではありません。
- 未接続のinode
- スーパーブロックダメージ
- フラグメントはサポートされていません。
- ファイルシステムの物理デバイスサイズの確認中にエラーが発生しました。
- 外部ログには(サポートされていない)複数のファイルシステムがあります。
- 外部ジャーナルが見つかりません。
- 外部ログに無効なスーパーブロックがあります。
- SuperblockのログUUIDエラー
- inodeビットマップの割り当て中にエラーが発生しました。
- ブロックビットマップの割り当て中にエラーが発生しました。
- icountリンク情報の割り当て中にエラーが発生しました。
- ディレクトリブロック配列の割り当て中にエラーが発生しました。
- inodeのスキャン中にエラーが発生しました。
- ブロックの繰り返し中にエラーが発生しました。
- inode カウント情報の保存中にエラーが発生しました。
- ディレクトリブロック情報の保存中にエラーが発生しました。
- inodeの読み込み中にエラーが発生しました(削除用)。
- 参照計算構造の割り当て中にエラーが発生しました。
- 参照カウント時に拡張属性ブロックを読み取るときに発生するエラーを修正
- 参照カウント時に拡張属性ブロックを作成したときに発生するエラーを修正
- EA 領域割り当て構造の割り当て中にエラーが発生しました。
- inodeのスキャン中にエラーが発生しました。
- inodeビットマップの割り当て中にエラーが発生しました。
- 内部エラー:dir_infoが見つかりません。
- icount構造の割り当て中にエラーが発生しました。
- ディレクトリブロックを巡回中にエラーが発生しました。
- inodeの割り当てをキャンセル中にエラーが発生しました。
- EA 参照回数の調整中にエラーが発生しました。
- inodeビットマップの割り当て中にエラーが発生しました。
- ルートディレクトリの作成中にエラーが発生しました。
- ルート inode は中断ディレクトリではありません。
- ルート inode がないと続行できません。
- 内部エラー:dir_infoが見つかりません。
- プログラミングエラー:ビットマップエンドポイントの不一致
- 内部エラー:ビットマップの終わりが偽造されました。
- 代替inodeビットマップのコピー中にエラーが発生しました。
- 代替ブロックビットマップのコピー中にエラーが発生しました。