主要メッセージの手引き

BAD SUPER BLOCK: string

原因

fsck(1M) からのこのメッセージは、ファイルシステムのスーパーブロックが修復不可能なほど損傷しており、交換しなければならないことを示します。(-p オプションによる) ブート時、このメッセージはファイルシステムのデバイス名の前に表示されます。このメッセージが表示された場合、実際の損傷が認識されています (下記の対処方法を参照してください)。fsck(1M) は損傷したスーパーブロックの番号は表示しません。

対処方法

このエラーの原因として最も多いのは、ディスクパーティションのオーバーラップです。エラーメッセージの後に表示された行の通りにすぐに fsck(1M) を再実行しないでください。まず、ファイルシステムの最新のバックアップがあることを確認します。バックアップがない場合は、ufsdump(1M) を使用してすぐにファイルシステムのバックアップを取ります。次に、format(1M) コマンドを実行し、該当するディスクを選択してパーティション情報を出力します。


# format
: N
> partition
> print
ファイルシステムの先頭または末尾のどちらでオーバーラップが発生しているかを判断します。次に、-N オプションを付けて newfs(1M) を実行して、バックアップスーパーブロックの場所を含むファイルシステムパラメータを出力します。

# newfs -N /dev/dsk/device
オーバーラップしていないディスク領域からスーパーブロックを選択します。ただし、通常、適切な置換スーパーブロックを選択する機会は一度しかありません。このスーパーブロックは fsck(1M) によってすぐにすべてのシリンダに伝達されます。不適切な置換スーパーブロックを選択するとデータが損傷する可能性が高く、その場合はバックアップテープから復元しなければなりません。新しいスーパーブロックを選択したら、その新しいマスタスーパーブロック番号を fsck(1M) に与えます。


# fsck -o b=NNNN /dev/dsk/device

テクニカルノート

スーパーブロックの損傷原因には、次のものがあります。マジックナンバーが間違っている、シリンダグループの数 (NCG) またはグループあたりのシリンダ数 (CPG) が範囲外である、シリンダ数が間違っている、スーパーブロックのサイズが大きすぎる、スーパーブロック内の値が消されているなどです。通常、損傷したスーパーブロックは極度に破壊されているため、これらの原因が判明しても役に立つ可能性は低いです。

関連項目

不良スーパーブロックの詳細については、『Solaris のシステム管理 (第 1 巻)』の不良スーパーブロックの復元に関する節を参照してください。AnswerBook のオンラインマニュアルを使用している場合は、superblock と入力して検索文字列として使用します。