Solaris のシステム管理 (第 2 巻)

フェーズ 1: ブロックとサイズに関するメッセージのチェック

このフェーズでは、i ノードリストをチェックします。次の処理中に検出されたエラー条件が表示されます。

ファイルシステムの修復 (preen) 中は、INCORRECT BLOCK COUNTPARTIALLY TRUNCATED INODEPARTIALLY ALLOCATED INODE、および UNKNOWN FILE TYPE を除き、このフェーズのどのエラーが発生した場合も、fsck が終了します。

フェーズ 1 では、次のメッセージ (アルファベット順) が発生する可能性があります。

block-number BAD I=inode-number
エラーの発生原因

i ノード inode-number に、ファイルシステム内の最初のデータブロックより小さい番号または最後のデータブロックより大きい番号が付いたブロック番号 block-number が入っている。i ノード inode-number 内にファイルシステムの範囲外のブロック番号が多すぎると、このエラー条件のためにフェーズ 1 で「EXCESSIVE BAD BLKS」エラーメッセージが生成されることがある。フェーズ 2 と 4 では、このエラー条件が原因で「BAD/DUP」エラーメッセージが生成される。

解決方法

ない


BAD MODE: MAKE IT A FILE?
エラーの発生原因

指定された i ノードの状態がすべて、ファイルシステムの損傷を示す 1 に設定されている。このメッセージは、fsck -y が実行された後で繰り返し表示される場合以外は、物理的なディスクの損傷を示すものではない。

解決方法

y と入力して i ノードを妥当な値に初期化し直す。


BAD STATE state-number TO BLKERR
エラーの発生原因

内部エラーによって fsck の状態マップが破壊されたため、不可能な値 state-number を示す。fsck は即座に終了する。

解決方法

ご購入先に問い合わせる。


block-number DUP I=inode-number
エラーの発生原因

i ノード inode-number には、同じ i ノードまたは別の i ノードがすでに取得したブロック番号 block-number が入っている。このエラー条件が発生した場合に、i ノード inode-number 内にこの種のブロック番号が多すぎると、フェーズ 1 では「EXCESSIVE DUP BLKS」エラーメッセージが生成されることがある。このエラー条件によってフェーズ 1B が呼び出され、フェーズ 2 と 4 で「BAD/DUP」エラーメッセージが生成される。

解決方法

ない


DUP TABLE OVERFLOW (CONTINUE)
エラーの発生原因

fsck の内部テーブルには、重複するブロック番号が入る余地がない。-o p (preen、修復) オプションを指定すると、プログラムが終了する。

解決方法

プログラムを続行するには、CONTINUE プロンプトから y と入力する。このエラーが発生すると、ファイルシステムを完全にチェックできない。別の重複ブロックが見つかると、このエラー条件が再発する。使用可能な仮想メモリーの容量を (プロセスを終了し、スワップ空間を拡張して) 大きくし、もう一度 fsck を実行してファイルシステムをチェックし直す。プログラムを終了するには、n と入力する。


EXCESSIVE BAD BLOCKS I=inode-number (CONTINUE)
エラーの発生原因

i ノード inode-number に関連付けられたファイルシステム内の最初のデータブロックより小さい番号か、最後のブロックより大きい番号を持つブロックが多すぎる (通常は 10 以上)。-o p (preen、 修復) オプションを指定すると、プログラムは終了する

解決方法

プログラムを続行するには、CONTINUE プロンプトから y と入力する。このエラーが発生すると、ファイルシステムを完全にチェックできない。もう一度 fsck を実行してファイルシステムをチェックし直す必要がある。プログラムを終了するには、n と入力する。


EXCESSIVE DUP BLKS I=inode-number (CONTINUE)
エラーの発生原因

同じ i ノード、別の i ノード、または空きリストが取得するブロック数が多すぎる (通常は 10 以上)。-o p (preen、修復) オプションを指定すると、プログラムは終了する。

解決方法

プログラムを続行するには、CONTINUE プロンプトから y と入力する。このエラーが発生すると、ファイルシステムを完全にチェックできない。もう一度 fsck を実行してファイルシステムをチェックし直す必要がある。プログラムを終了するには、n と入力する。


INCORRECT BLOCK COUNT I=inode-number (number-of-BAD-DUP-or-missing-blocks should be
 number-of-blocks-in-filesystem) (CORRECT)
エラーの発生原因

i ノード inode-number のブロック数は number-of-BAD-DUP-or-missing-blocks であるが、number-of-blocks-in-filesystem でなければならない。修復 (preen) の場合、fsck は数を訂正する。

解決方法

i ノード inode-number のブロック数を number-of-blocks-in-filesystem に置き換えるには、CORRECT プロンプトから y と入力する。プログラムを終了するには、n と入力する。


LINK COUNT TABLE OVERFLOW (CONTINUE)
エラーの発生原因

fsck の内部テーブルには、リンク数が 0 の割り当て済み i ノードが入る余地がない。-o p (preen、修復) オプションを指定すると、プログラムは終了するので、fsck を手作業で終了する必要がある。

解決方法

プログラムを続行するには、CONTINUE プロンプトから y と入力する。リンク数が 0 の別の割り当て済みブロックが見つかると、このエラー条件が再発する。このエラーが発生すると、ファイルシステムを完全にチェックできない。もう一度 fsck を実行してファイルシステムをチェックし直す必要がある。プロセスをいくつか終了するか、スワップ領域を拡張して、使用可能な仮想メモリーを増やしてから、fsck を実行し直す。プログラムを終了するには、n と入力する。


PARTIALLY ALLOCATED INODE I=inode-number (CLEAR)
エラーの発生原因

i ノード inode-number は割り当て済みでも未割り当てでもない。-o p (preen、修復) オプションを指定すると、この i ノードは消去される。

解決方法

i ノード inode-number の内容を消去して割り当てを解除するには、y と入力する。これにより、この i ノードを指すディレクトリごとに、フェーズ 2 でエラー条件 UNALLOCATED が生成されることがある。このエラー条件を無視するには、n と入力する。応答しなくてよいのは、この問題を他の手段で解決しようとする場合だけである。


PARTIALLY TRUNCATED INODE I=inode-number (SALVAGE)
エラーの発生原因

fsck で、割り当てられたブロック数よりも短い i ノード inode-number が見つかった。この条件が発生するのは、ファイルの切り捨て中にシステムがクラッシュした場合だけである。ファイルシステムを修復しているとき、fsck は指定されたサイズへの切り捨てを完了する。

解決方法

i ノード内で指定したサイズへの切り捨てを完了するには、SALVAGE プロンプトから y と入力する。このエラー条件を無視するには、n と入力する。


UNKNOWN FILE TYPE I=inode-number (CLEAR)
エラーの発生原因

i ノード inode-number のモードのワードは、この i ノードがパイプ、特殊文字 i ノード、特殊ブロック i ノード、通常 i ノード、シンボリックリンク、FIFO ファイル、またはディレクトリ i ノードでないことを示す。-o p (preen、修復) オプションを指定すると、この i ノードは消去される。

解決方法

i ノード inode-number の内容を消去して割り当て解除するには、CLEAR プロンプトから y と入力する。これにより、この i ノードを指すディレクトリエントリごとに、フェーズ 2 でエラー条件 UNALLOCATED が生成される。このエラー条件を無視するには n と入力する。