古いプロセッサーでソフトウェアをテストするために使用している古いHP Athlonマシンを持っています。頻繁にブラウンアウトが発生し、最後のディスクの後でディスクは混乱していました。 fsck
を実行してすべての問題をディスパッチすることができなかったのは非常に悪かったです。 OSの新規インストールを実行しましたが、まだfsck
のクレームが発生します。
ハードドライブまたはマシンを非難する前に、もう一度Linuxをリロードしてみます。ファイルシステムが作成された後、インストールが行われる前に、疑わしいブロックを不良としてマークするために積極的なfsck
を実行します。
ディスクは大きく(約500 GB)、Debian 8のディストリビューションは比較的小さい(通常8-12 GBで十分です)ので、良いブロックが悪いとマークされていても気になりません。 GUIインストールも好きですが、私はそれと結婚していません。
2つの質問があります。
Debian 8は、ベースシステムをインストールする前にfsck
を実行する選択肢を提供していますか?もしそうなら、それはどこですか?そうでない場合、プロセスは何ですか?
fsck
には、ブロックをどのように積極的に不良としてマークするかを制御する設定がありますか?もしそうなら、それは何ですか?そうでない場合、何を使用できますか?
[〜#〜] edit [〜#〜]:マシンはHP5850です。 BIOSに入り、ストレージに移動してからドライブ保護システム(DPS)のセルフテストに進むと、DPSはドライブの交換を推奨しました。 DPSは統計を提供していなかったので、損傷の程度はわかりません。
[古い]新しいSATA IIドライブを12米ドルで購入できることを考慮して、交換するだけです。時間やエネルギーを浪費することに意味はありません。
関連資料は以下の通りです。どちらの問題も解決されていないようです。
「Debian 8は、ベースシステムをインストールする前にfsckを実行する選択肢を提供していますか?その場合、どこにありますか?そうでない場合、プロセスは何ですか?」
別の方法として、最初に download を作成し、次に GPartEd CD を書き込みます(またはサムドライブに書き込みます)。インストーラーを実行する前に、GPartEd
を起動し、ディスクを任意のパーティションに分割してfsck
を実行するか、badblocks
を実行します。
Debianインストーラーを実行するときは、そこにあるパーティションの使用方法を指示してください。インストーラは独自のパーティションを作成する必要はありません。既存のパーティションを使用することは完全にうれしいです。
「fsckは、ブロックがどのように積極的に不良としてマークされるかを制御する設定を持っていますか?そうである場合、それは何ですか?そうでない場合、何を使用できますか?」
-c
のe2fsck
オプションを指定すると、badblocks
プログラムを実行して不良ブロックをスキャンします。不良ブロックを直接実行することもできます。デフォルトでは、badblocks
は読み取り専用テストを行います。より積極的にするには、非破壊的な読み書きテストに-n
を指定できます。 -p
オプションを設定して、パスの数を増やすこともできます。
パーティションを作成する前に、badblocks
を実行することをお勧めします。これにより、より高速な-w
書き込み専用テストを指定できます。
Fsckエラーが頻繁に発生する場合は、ドライブが血を吐いている可能性もあります。すべての不良ブロックを不良としてマークしても、さらに多くのブロックが不良になるまでには時間がかかりません。本当に必要な場合(Ctrl + Alt + F2でtty2に切り替える)、別のttyに変更してfsckを実行できると思いますが、私が言っているのは、新しいハードドライブがどれだけ必要かを十分に強調することはできません。正確です。
最新のディスクの信頼性をチェックするには、組み込みテストの使用を検討してください。 smartctlユーティリティでそれらをトリガーできます。例:
smartctl -t long /dev/sdx
#wait an hour or two
smartctl -a /dev/sdx
#should have recorded a result in the self-test log
最近すべてが書き込まれたことを事前に確認したい場合は、正しく書き込まれないセクターを発見するために、/ dev/urandomからのddのようなものでメディア全体を上書きするか、ランダム化の1つで細断することができますオプション。
Windowsでしか実行できない製造元の低レベルフォーマットソフトウェア(存在する場合)を入手することをお勧めします(または運が良ければ、Webサイトからイメージをダウンロードした起動可能なCD/DVD/USBから入手します)。 。はるかに大きなスペアセクタープールと引き換えに、報告されたドライブの容量を削減するために操作を十分に制御できる場合は、@ rackandbonemanが示唆するようにドライブをテストするときに、それらのスペアの多くが置き換えられることを見込んで、そうする必要があります。 。スペアプールを使い果たして透過的に再マッピングできない将来の不良セクターを確保するよりも、スペア用にすべての不良セクターをスワップし、将来の欠陥のために残して400 GBまたは450 GBのドライブを使用する方がはるかに優れています。
より洗練されたツールを使用できない場合のいくつかの基本的なもの(たとえば、USBディスクであり、SMARTが機能しない):
dd if=/dev/sdX of=/dev/null bs=1M
すべてのディスクを読み取ります。読み取れなかったセクターがある場合は、dmesg
ログで確認できます。それはそれが再試行後にそれらをどうにか読んだかどうかを教えてくれませんが。 badblocks
ほど良くありませんが、その遍在性について言及しました。
不良セクターがあり、ディスクに何も入れたくない場合:
dd if=/dev/zero of=/dev/sdX bs=1M
すべてのブロックが書き換えられます。読み取り不可能なセクターがある場合は、再割り当てされたプール内のセクターと交換され、再び使用可能になります。
再割り当てが行われているディスクがある場合、そのディスクは間もなくリリースされます。私はそれを重要なものには使用しませんが、あなたがあまり気にしないデータを持っていることもあり、それでそれは問題ないかもしれません。
SSDの場合は状況が異なり、適用されません。