Solaris のシステム管理 (上級編)

初期化フェーズでの fsck メッセージ

初期化フェーズでは、コマンド行構文がチェックされます。ファイルシステムのチェックを実行する前に、fsck はテーブルを設定してファイルを開きます。

この節のメッセージは、コマンド行オプション、メモリー要求、ファイルのオープン、ファイルの状態、ファイルシステムのサイズチェック、およびスクラッチファイルの作成によるエラー条件に関するものです。ファイルシステムを修復する間に、どんな初期化エラーが発生した場合も、fsck は終了します。


Can't roll the log for device-name.

DISCARDING THE LOG MAY DISCARD PENDING TRANSACTIONS.
DISCARD THE LOG AND CONTINUE?
エラーの発生原因

UFS ファイルシステムのエラーチェックを行う前に、記録されている UFS ファイルシステムのトランザクションログをフラッシュできませんでした。

対処方法

yes と応答する場合には、ファイルシステム操作がログに記録されていても、ファイルシステムに適用されなければ、そのファイルシステム操作は失われます。この場合、fsck は、通常と同様の検査を実行し、フェーズ 5 で次の質問を表示します。


FREE BLK COUNT(S) WRONG IN SUPERBLK (SALVAGE)

ここで yes と応答すると、ログに使用したブロックを回収します。次回にログを有効にしてファイルシステムをマウントすると、ログが再作成されます。

no と応答すると、ログを保持したまま終了しますが、ファイルシステムはマウントできません。


bad inode number inode-number to ginode
エラーの発生原因

inode-number が存在しないため、内部エラーが発生しました。fsck は終了します。

対処方法

ご購入先に問い合わせてください。


cannot alloc size-of-block map bytes for blockmap
cannot alloc size-of-free map bytes for freemap
cannot alloc size-of-state map bytes for statemap
cannot alloc size-of-lncntp bytes for lncntp
エラーの発生原因

内部テーブル用のメモリー要求に失敗しました。fsck は終了します。このメッセージは、即座に処理しなければならない重大なシステム障害を示します。ほかのプロセスが大量のシステム資源を使用していると、このエラー条件が発生することがあります。

対処方法

ほかのプロセスを終了すると問題を解決できることがあります。解決できない場合は、ご購入先に問い合わせてください。


Can't open checklist file: filename
エラーの発生原因

ファイルシステムの検査リストファイル filename (通常は /etc/vfstab) を開いて読み込めません。fsck は終了します。

対処方法

ファイルの有無と、そのアクセスモードで読み取りが可能かどうかを検査します。


Can't open filename
エラーの発生原因

fsck はファイルシステム filename を開けませんでした。対話形式で実行している場合、fsck はこのファイルシステムを無視し、次に指定されたファイルシステムの検査を続けます。

対処方法

そのファイルシステムの raw デバイスファイルに読み取り、または書き込みができるかどうかをチェックします。


Can't stat root
エラーの発生原因

fsck はルートディレクトリに関する統計情報要求に失敗しました。fsck は終了します。

対処方法

このメッセージは、重大なシステム障害を示します。ご購入先に問い合わせてください。


Can't stat filename
Can't make sense out of name filename
エラーの発生原因

fsck はファイルシステム filename に関する統計情報要求に失敗しました。対話形式で実行している場合、fsck はこのファイルシステムを無視し、次に指定されたファイルシステムの検査を続けます。

対処方法

ファイルシステムの有無とそのアクセスモードをチェックします。


filename: (NO WRITE)
エラーの発生原因

-n オプションが指定されているか、fsck はファイルシステム filename を書き込み用に開けませんでした。fsck を非書き込みモードで実行中であれば、診断メッセージはすべて表示されますが、fsck は何も修正しません。

対処方法

-n を指定しなかった場合は、指定したファイルのタイプを検査します。通常ファイル名の可能性があります。


IMPOSSIBLE MINFREE=percent IN SUPERBLOCK (SET TO DEFAULT)
エラーの発生原因

スーパーブロックの最小容量が 99 パーセントを超えているか、0 パーセント未満です。

対処方法

minfree パラメータをデフォルトの 10 パーセントに設定するには、デフォルトプロンプトから y と入力します。エラー条件を無視するには、デフォルトプロンプトから n と入力します。


filename: BAD SUPER BLOCK: message
USE AN ALTERNATE SUPER-BLOCK TO SUPPLY NEEDED INFORMATION;
e.g., fsck[-f ufs] -o b=# [special ...]
where # is the alternate superblock.  See fsck_ufs(1M)
エラーの発生原因

スーパーブロックが破損しています。

対処方法

次のいずれかのメッセージが表示されます。


CPG OUT OF RANGE
FRAGS PER BLOCK OR FRAGSIZE WRONG
INODES PER GROUP OUT OF RANGE
INOPB NONSENSICAL RELATIVE TO BSIZE 
MAGIC NUMBER WRONG 
NCG OUT OF RANGE 
NCYL IS INCONSISTENT WITH NCG*CPG 
NUMBER OF DATA BLOCKS OUT OF RANGE
NUMBER OF DIRECTORIES OUT OF RANGE
ROTATIONAL POSITION TABLE SIZE OUT OF RANGE
SIZE OF CYLINDER GROUP SUMMARY AREA WRONG
SIZE TOO LARGE 
BAD VALUES IN SUPERBLOCK

代替スーパーブロックを使用して fsck を再実行します。最初にブロック 32 を指定することをお勧めします。スライスに対して newfs -N コマンドを実行すると、スーパーブロックの代替コピーの位置を調べることができます。-N オプションは必ず指定してください。指定しないと、newfs は既存のファイルシステムを上書きします。


UNDEFINED OPTIMIZATION IN SUPERBLOCK (SET TO DEFAULT)
エラーの発生原因

スーパーブロックの最適化パラメータが OPT_TIME でも OPT_SPACE でもありません。

対処方法

ファイルシステム上で処理の実行時間を最小限度まで短縮するには、SET TO DEFAULT プロンプトから y を入力します。このエラー条件を無視するには、n と入力します。