FreeBSD QandA 278

FreeBSD QandA

Q. FreeBSD で不良セクタ (Bad Sector) のある IDE ハードディスクが使えますか?
   また、FreeBSD は自動的に修復してくれないのですか?

A. 4.0-RELEASE 以上で採用された ad(4) ドライバでは、基本的に不良セクタの
   ある IDE ハードディスクはサポートしていないため使えません。もしかしたら 
   [管理番号 314] にある low-level フォーマットで使えるようになるかもしれ
   ませんが、素直に問題のない HDD に交換した方が良いでしょう。特にそれ以前
   のリリースで、bad144(8) による bad sector table を持つ HDD を使用してい
   た場合、システムをアップグレードすると、次のようなエラーメッセージが表示
   されて起動に失敗します。

    Mounting root from ufs:/dev/ad0s2a
    ad0: bad sector table not supported
    ad0s2a: bad sector table not supported
    Root mount failed: 22

   もし、万一このような状態になったら、慌てず騒がず別のマシンにこの HDD 
   をつなぎかえ、dump(8) するか強制的に mount(8) して、必要なファイルの
   バックアップを取れば良いでしょう。3.x ベースのカーネルを保存してあれば、
   つなぎかえる必要はないかもしれません。

    # mount -f -o ro /dev/ad2s2a /mnt

   以下の説明は FreeBSD 4.x 以降では使えないか、あまり一般的な方法ではあり
   ません。IDE HDD やファイルシステムについて、それなりの知識を要求される
   方法でもあります。

   以前の wd(4) ドライバでは、bad144(8) コマンドによる不良セクタの代替処理
   が使えます。ファイルシステムとして使用中のセクタを代替することもできます
   が、決して勝手に修復してくれるわけではありません。また、代替用のセクタを
   確保しておかなければならないので、newfs(8) 前に HDD 全体をスキャンしてお
   いた方が安全です。FreeBSD のインストーラ sysinstall(8) からでは、FDISK
   Partition Editor の "B" コマンドを指定すると bad144 が実行されます。

   それから badsect(8) というコマンドもあります。これは不良セクタを特別なファ
   イルに閉じ込めることで、通常のファイルとして使わないようにするもので、い
   くつかの制限事項はありますが、FreeBSD のリリースに関わらず使えるはずです。

同一グループへのリンク

グループ名: bad-sector


間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。