Solaris のシステム管理

fsck で修復できない UFS ファイルシステムを修正する方法

あるパスで問題が訂正されても、前のパスで見つからなかった問題が解決されないため、fsck を何度か実行してファイルシステムを修正しなければならないことがあります。fsck はクリーンになるまで動作を続けるわけではないので、手作業で実行しなければなりません。

fsck で表示される情報に注目してください。問題を解決する上で参考になります。たとえば、メッセージは不良ディレクトリを指す場合があります。そのディレクトリを削除すると、fsck がクリーンな状態で動作していることがわかります。

それでも fsck でファイルシステムを修復できない場合は、fsdbffclri、または ncheck コマンドを使用し、間違いを指定して修正します。これらのコマンドの使用方法については、fsdb(1M)ff(1M)clri(1M)ncheck(1M) の各マニュアルページを参照してください。最終的には、ファイルシステムを作成し直し、その内容をバックアップ媒体から復元せざるを得ない場合があります。ファイルシステム全体を復元する方法については、第 35 章「ファイルとファイルシステムの復元の手順」を参照してください。

ファイルシステムを完全に修復できないが、読み取り専用としてマウントできる場合は、cptar、または cpio を使用して、データのすべてまたは一部をファイルシステムから取り出してください。

問題の原因がハードウェアディスクエラーであれば、ファイルシステムを作成し直して復元する前に、ディスクをフォーマットし直して再びスライスに分割しなければならない場合があります。一般に、ハードウェアエラーが発生すると、さまざまなコマンドで同じエラーが繰り返し表示されます。format(1M) コマンドはディスク上の不良ブロックを処理しようとします。ただし、ディスクの損傷が致命的でなければ、フォーマットし直した後も問題が解決されないことがあります。format コマンドの使用方法については、format(1M) のマニュアルページを参照してください。新しいディスクをインストールする方法については、第 23 章「SPARC: ディスク追加の手順」または第 24 章「x86 : ディスク追加の手順」を参照してください。