- ベストアンサー
HDの不良クラスタをパーティションで隔離する
- HDのディスクチェックでクラスタエラーが見つかります。フォーマットしてOSの新規インストールした場合などはやはりその個所に書き込みがされていると感じるのです。
- クラスタエラーの場所を特定し、その部分に合わせてパーティションを作成し、不良のパーティションを削除して未使用領域にすることで、新品ディスクのように安心して使えます。
- 範囲の特定はディスクチェックツールやパーティション管理ソフトを使用して行います。貧乏なので買い替えが難しい場合は、これが一時的な解決策となるでしょう。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
質問者さんのお考えでは、図の上の様にしようというお考えだろうと思います。 Linuxのfdiskコマンドなら、図の下の様に不良箇所を避け任意の部分だけに領域を作成できるのですが、Windowsのインストール時の領域作成では先頭から順番に作成するため不良箇所だけを飛ばして領域作成ができずに、インストール後に領域を削除という2度手間になるということをお話ししたかったのですが、もうちょっと補足させていただくと、 >修復の情報がHDの中に残らないわけですから 説明の仕方が判りにくかったでしょうか? ディスクの状態は、ファイルそのものと同様にディスク上に一緒に記録されることになります(もちろんエラーの無い健全な部分の上にですが)。 なので、フォーマットすることでOSがそれらの情報がリセットされ読み取れなくなるというわけです。 >OSのCDで起動し、インストール過程でパーティションを区切り、フォーマット このOSのCDというのはWindowsのインストールディスクでしょうか? であれば、答えはNoです。Windowsのインストールディスクでは先頭から領域を作成し任意の位置だけに領域を作成できなかったと思います(ユーザーの要求に合わせ柔軟に運用しやすいということでLinuxのコマンドを例に挙げたのはそのためです)。 どうしてもWindowsでというのであれば、不良と健全な部分とを分けるように領域を作成し、健全な部分にインストールし、インストール完了後「ディスクの管理」から不良部分の領域を開放してあげます。 >修復するのをインストールのあと ちょっと違います。 フォーマットの際に同時にエラーチェックもされるので、このときエラーとなる部分には避けた形でインストールは進められます。 エラーはエラーとして記録されますので、後々のchkdskでもエラー箇所として都度ピックアップされますし、さらに増えている様であれば新たに不良箇所が発生したということになります。 そもそも、chkdskでエラーが見つかるというのは、領域を作成し利用できるような状態にあってこそ判ることですし、なおかつ、/rオプションなどで修復できるのはごく軽微な論理的な矛盾などが主で、ディスクそのものの物理的な損傷などはほとんど修復不可能といえます。 よって、物理的損傷部位はキチンとエラー部分として認識・管理することで不用意にデータの読み書きに使わせないようにしておくことが重要になります。 そこで、エラーを出させる以前に領域自体作成しないことで、利用できないようにしようにするためということで、健全な部分だけに領域を作成しようという風にお話ししたつもりだったのです。
その他の回答 (4)
- baithasar
- ベストアンサー率35% (212/602)
物理セクタエラーは ソフトウエアレベルではどうしようもありません クラスタエラーの場所を OSで「どのセクタか」を判別させて その場所に来たらスキップさせよって話なのかな? それ昔のSCSIのテなんだけどなー IDEじゃ ベンダー供給のローレベルフォーマッタを使うしかないんじゃないのかな それじゃダメなんですか? ベンダー供給のソフト使えばいんじゃないの? それとも物理セクタが根本的に壊れている部分があって その場所をスキップさせよっての? よーわからんけど 結論を先に言ってしまうと あからさまに物理セクタ損傷があるとわかっているのなら 「そのHDDの寿命がいつ尽きても おかしくないですよ」 ということで 大事なデータが いつアボーンするのかわかんない状態でよく使いますね と 言いたい 小一時間 言いたい 昔のSCSI-HDDみたくバッドセクタをBIOSからべリファイ ローレベルフォーマットして代替セクタを選ぶ方法がありましたがね あくまでも代替セクタであり バッドセクタがどんどん増えていけば もうカコンカコンの音が出て どうしようもないですがね
お礼
パーティションで隔離して、健康な部分だけを使おうという作戦でしたよ。 2日かけてローレベルフォーマットして、表面検査して、OS入れて、でも不具合が出て…やらなんやらで1週間ぐらい悪戦苦闘しました。いったい何回OSインストールしたか思い出せないほどに。 。 あきらめて通販で新品のHDを購入したら、モノの2時間で全部のセットアップが完了してしました。気分すっきり、ハレバレ。 お金に換えられなくないものってあるものですよね~。 でも、楽しかったです。こういうことで悩むのって。
>先頭のパーティションがCになりますよね Windowsで領域を作成するということは、Windowsが認識できる領域しか作成できないということで、なおかつ、起動に不可欠なntldrほか幾つかのファイルは先頭の領域にしか置けない決まりがあるためインストールディレクトリをC(先頭の領域)以外の領域に選んでもCドライブは削除できないわけです。 ここで「先頭」というのは領域という意味で、HDDの頭の部分をすっ飛ばし中間部分から領域を設定すればそこが「先頭」の領域となるわけです。 Linuxのfdiskであれば任意の場所だけに作成できるほか、ファイルシステムも自由に選択(Windowsから認識できないファイルシステムに設定することも)できるため、こんな理由からもLinuxをお奨めしたわけです。 >Linuxは専門外でちょっと手が出せません Windowsではシステムの仕組みが不雑怪奇なため、システムの設定を変更するため安易にGUIのユーティリティソフトを用いることが多いようですが、この類のユーティリティは仕組みをしっかり理解していないと「いざ、トラブッた」というときには手の打ちようが無くなることが多いものです。 システムの設定の多くが平文で書かれ、コンソールからのコマンドで大半のことができるLinuxなどの方がある意味わかりしやすいとも言えます。 Web上では幸いコマンド類の解説はWindowsよりLinuxの方が多いかもしれません。 knoppix,Fedora,Ubuntuほか、CDやDVD1枚でHDDへのインストール無しでシステム起動が可能なものがたくさんありますので、1枚用意しておけば「いざ」というときには重宝するとかと …
お礼
BackTrack3というLinuxを持っていました。 spoonwepだけ使い方を知っていたのです。 VMWAREでWidowsの中に起動させても外付けUSBも認識してくれるので、これで使えるかどうか、試して見たいと思います。 今日が日曜日でよかった。 色々お教えいただけ感謝感謝です。
(1)chkdsk /r で … chkdsk はディスクの状態を管理情報の一部としてOSが管理するものなので、フォーマットし直してクリーンインストールする際などはその情報はリセットされ、その都度エラーが記録されることになりますね。 (2)クラスタエラーの場所を … PCメーカーのテストツールなどではエラーセクタの場所などを詳細に出力できるのが普通ですが、手軽なところでは、Linux の badblocks というコマンドが便利かと思います。 このコマンドで -vs などのオプションをつけると不良ブロックの詳細が出力されます(knoppix でも利用可能だと思いますので詳細はググッてお調べください)。 不良箇所が判明したらその部分を避けて領域設定するわけですが、ここでも Linux の fdisk が便利かと思います。 不良箇所を避けるように後ろ側の領域の開始位置を設定してあげればいいわけです。 (ただし、badblocks ではブロック数で出力されるのに対して、fdisk での設定はシリンダ数で設定するので混同しないように)
補足
ありがとうございます。すこし補足で聞いてよろしいでしょうか。 私はHD Tuneというソフトを使って表面テストをしました。 HDを取り出して、別のPCに外付けして検査したのです。 結果的には0~3.1GBの部分にクラスタ不良がたくさんみつかり、それ以降にはとびとびで4箇所のエラーがありました。 fayefayeさんのお話では、外付けの状態でchkdsk /rしても意味がないですね。 修復の情報がHDの中に残らないわけですから。 今の考えでは頭の4GB部分をパーティションで区切って、そこは使わないようにします。それ以降でシステム用に40GB、データ用に85GBという区切りにしようと思います。 しかし、前述した飛び飛びで4箇所。という瘢痕が残っています。 この程度はあとでchkdsk /rすればよいと考えてよろしいでしょうか。 使用するPCに内蔵したあと、OSのCDで起動し、インストール過程でパーティションを区切り、フォーマット。で、その流れでOSインストールですが、その時点ではエラーは残っていますよね。 修復するのをインストールのあと、という事でよいのでしょうか。 いろいろすみません。教えていただくと助かります。
- Saturn5
- ベストアンサー率45% (2270/4952)
(1)HDDは構造上、不良セクターは多かれ少なかれ必ずあります。 これは液晶ディスプレイに幾つかのドット抜けが存在するのと同じです。 しかし、フォーマットを実行すればエラーセクターを除いてくれるはずです。 また、chkdskの実行には /Fオプション を付けておられますか? これがないとチェックするだけで修復はしてくれません。 まるでタウンページの石原良純さんのように、自分で仕事をせず業者さんを 呼ぶだけの無意味な存在になってしまいます。 (2)パーテーションを切るのはそのような目的で使う物ではありません。 基本的にシステムとデータを分けたり、WindowsとLinuxを共存させたりする ためにあります。 また、ディスクサイズというのは厳密にはフォーマット後に決められるものです。 1クラスターの容量やセクターギャップ等で同じディスクでも容量は異なります。 ですから、10GBというのはパーテーションを切って、フォーマットしてから わかることで、パーテーションを切る時点ではだいたいでしかわかりません。 ディスクの書き込みはOSに依存する限り、本体の位置(絶対的なセクター位置)と FAT(ファイルアロケーションテーブル)の整合性は保たれます。しかし、 書き込み途中でシャットダウンしたり、OSに依存しないプログラムを使ったり するとこの整合性が崩れます。そんなときにCHKDSKを実行するとエラーがでます。
お礼
2日かけてローレベルフォーマットして、表面検査して、OS入れて、不具合が出て…やらなんやらで1週間ぐらい悪戦苦闘しました。いったい何回OSインストールしたか思い出せないほどに。 。 あきらめて通販で新品のHDを購入したら、モノの2時間で全部のセットアップが完了してしました。気分すっきり、ハレバレ。 お金に換えられなくないものってあるものですよね~。 でも、楽しかったです。こういうことで悩むのって。 お世話になりました、ありがとうございます。
補足
本当に丁寧なご説明。感謝します。理論的には理解できました。が、 Linuxは専門外でちょっと手が出せません。 実は昨晩からず~~っと試してるのです。 先頭のパーティションがCになりますよね。使わないのにCでは気持ちが悪いと思ったのですが、 3分割してDにインストールが終了したあとにPartitionWizardでCパーティションを削除してみたのです。そしたら、見事に立ち上がらなくなってしまいました。 次にウラをかいたつもりでインストールディスクでパーティションの分割をCDEと区切って、インストールする前にCを削除してみたのです、 でもその状態ではMasterMBRを書き込む領域がないというアラートが出てインストールが出来ません。 DにインストールしてもMasterMBRの為にどうしてもCは残しておかないといけないようです。 だんだん辛くなってきましたが、幸いヒマなので色々やってみます。 システムのドライブレターがDになってしまうのは気持ちが悪いけど、まあ、それはいいとしてCをマイコンピューター上で不可視にしたいです。 で、また、それをやったら起動ができなくなる。みたいな底なし沼になりそうな気がして・・・・・・・うっうっうっ