BADSECT(8) | FreeBSD System Manager's Manual | BADSECT(8) |
名称
badsect — バッドセクタを含むファイルを作成する書式
badsect | bbdir sector ... |
解説
badsect ユーティリティはバッドセクタを含むファイルを作成します。正規の方法では、バッドセクタは、標準フォーマッタがバッドセクタのフォワーディングテーブルをドライバに提供する事によって、アクセス不能にされます。ドライバがバッドブロッキング標準をサポートしている場合、この方法を使ってバッドセクタを取り除く方がより望ましい選択です。何故ならバッドブロックフォワーディングはパックを完全に見せ、そのようなパックは dd(1) でコピー可能だからです。また badsect で採用しているテクニックはファイルシステムの i-list やスワップ領域のバッドブロック回復ができないという点で、バッドブロックフォワーディングと比べて汎用性に欠けます。突然バッドとなったセクタをバッドセクタテーブルに追加するためには、ディスクによっては現在のところ、標準の DEC フォーマッタを実行する必要があります。このため、新たに生じたバッドブロックを扱う場合、およびドライバがバッドブロッキング標準をサポートしていない場合には、 badsect が有効でしょう。
badsect ユーティリティは、現在アクセスされていないファイルシステムに対して次のように使用します。まず、ファイルシステムをマウントし、そのルートディレクトリに移動します。ここに BAD
という名前のディレクトリを作ります。 badsect コマンドに、引数として、この BAD ディレクトリと追加したいすべてのバッドセクタを指定して実行します (セクタ番号はファイルシステムの先頭からの相対で指定しなければなりませんが、システムがコンソールエラーメッセージに表示するのは相対セクタ番号であるため難しくはありません)。その後、ルートディレクトリに移動し、そのファイルシステムをアンマウントしてから fsck(8) を実行します。バッドセクタは 2 つのファイル、あるいはバッドセクタファイルとフリーリストとして表示されます。 fsck(8) に対して、問題を起こしたバッドセクタを含むファイルを削除し、 BAD/nnnnn を 削除しないように 指示してください。以上の操作によりバッドセクタは BAD
ファイルにのみにあることになります。
badsect ユーティリティは、 mknod(2) の引数に指定されたセクタ番号を指定してコールします。そして、指定したバッドセクタを含むブロックを最初のブロックとし、バッドセクタ番号をその名前とするイリーガルなファイルを作ります。 fsck(8) は、このファイルを発見すると“ HOLD BAD BLOCK ?
”と聞いてきます。これに対して y と答えると、 fsck(8) はその inode を、バッドブロックを含む通常ファイルにコンバートします。
診断
badsect ユーティリティは、きわどい領域やファイルシステム外のブロックの処理を拒否します。また、ブロックが既に使用されている場合には警告を表示します。関連項目
fsck(8)歴史
badsect ユーティリティは、 4.1BSD で登場しました。バグ
あるファイルシステムフラグメント中の複数のセクタがバッドとなった場合、そのうちの 1 つだけを badsect で指定しなければなりません。バッドセクタファイル中のブロックは、ファイルシステムフラグメント中の全てのセクタをカバーするからです。June 5, 1993 | FreeBSD |