web-dev-qa-db-ja.com

インストール前にディスクを積極的にfsck

古いプロセッサーでソフトウェアをテストするために使用している古いHP Athlonマシンを持っています。頻繁にブラウンアウトが発生し、最後のディスクの後でディスクは混乱していました。 fsckを実行してすべての問題をディスパッチすることができなかったのは非常に悪かったです。 OSの新規インストールを実行しましたが、まだfsckのクレームが発生します。

ハードドライブまたはマシンを非難する前に、もう一度Linuxをリロードしてみます。ファイルシステムが作成された後、インストールが行われる前に、疑わしいブロックを不良としてマークするために積極的なfsckを実行します。

ディスクは大きく(約500 GB)、Debian 8のディストリビューションは比較的小さい(通常8-12 GBで十分です)ので、良いブロックが悪いとマークされていても気になりません。 GUIインストールも好きですが、私はそれと結婚していません。

2つの質問があります。

  1. Debian 8は、ベースシステムをインストールする前にfsckを実行する選択肢を提供していますか?もしそうなら、それはどこですか?そうでない場合、プロセスは何ですか?

  2. fsckには、ブロックをどのように積極的に不良としてマークするかを制御する設定がありますか?もしそうなら、それは何ですか?そうでない場合、何を使用できますか?


[〜#〜] edit [〜#〜]:マシンはHP5850です。 BIOSに入り、ストレージに移動してからドライブ保護システム(DPS)のセルフテストに進むと、DPSはドライブの交換を推奨しました。 DPSは統計を提供していなかったので、損傷の程度はわかりません。

[古い]新しいSATA IIドライブを12米ドルで購入できることを考慮して、交換するだけです。時間やエネルギーを浪費することに意味はありません。


関連資料は以下の通りです。どちらの問題も解決されていないようです。

12
user56041
  1. 「Debian 8は、ベースシステムをインストールする前にfsckを実行する選択肢を提供していますか?その場合、どこにありますか?そうでない場合、プロセスは何ですか?」

    別の方法として、最初に download を作成し、次に GPartEd CD を書き込みます(またはサムドライブに書き込みます)。インストーラーを実行する前に、GPartEdを起動し、ディスクを任意のパーティションに分割してfsckを実行するか、badblocksを実行します。

    Debianインストーラーを実行するときは、そこにあるパーティションの使用方法を指示してください。インストーラは独自のパーティションを作成する必要はありません。既存のパーティションを使用することは完全にうれしいです。

  2. 「fsckは、ブロックがどのように積極的に不良としてマークされるかを制御する設定を持っていますか?そうである場合、それは何ですか?そうでない場合、何を使用できますか?」

    -ce2fsckオプションを指定すると、badblocksプログラムを実行して不良ブロックをスキャンします。不良ブロックを直接実行することもできます。デフォルトでは、badblocksは読み取り専用テストを行います。より積極的にするには、非破壊的な読み書きテストに-nを指定できます。 -pオプションを設定して、パスの数を増やすこともできます。

    パーティションを作成する前に、badblocksを実行することをお勧めします。これにより、より高速な-w書き込み専用テストを指定できます。

19
John1024

Fsckエラーが頻繁に発生する場合は、ドライブが血を吐いている可能性もあります。すべての不良ブロックを不良としてマークしても、さらに多くのブロックが不良になるまでには時間がかかりません。本当に必要な場合(Ctrl + Alt + F2でtty2に切り替える)、別のttyに変更してfsckを実行できると思いますが、私が言っているのは、新しいハードドライブがどれだけ必要かを十分に強調することはできません。正確です。

7
John Leuenhagen
  1. いいえ、それは価値があるとは思いません。 Fsck(ほとんどのファイルシステムで実装されている)はドライブをチェックしません。ファイルシステムのメタデータを検証し、マウント時にビューの一貫性を確保します。インストール前にそれを行うことはあまり意味がありません。なぜなら、定義上、空のスペースしかないからです。

  2. 代わりに badblocks を使用してください。データが腐敗しないようにしたい場合は、スクラブをサポートするファイルシステムを使用してください。 Lvm自体 それもできます

5
viraptor

最新のディスクの信頼性をチェックするには、組み込みテストの使用を検討してください。 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つで細断することができますオプション。

3
rackandboneman

Windowsでしか実行できない製造元の低レベルフォーマットソフトウェア(存在する場合)を入手することをお勧めします(または運が良ければ、Webサイトからイメージをダウンロードした起動可能なCD/DVD/USBから入手します)。 。はるかに大きなスペアセクタープールと引き換えに、報告されたドライブの容量を削減するために操作を十分に制御できる場合は、@ rackandbonemanが示唆するようにドライブをテストするときに、それらのスペアの多くが置き換えられることを見込んで、そうする必要があります。 。スペアプールを使い果たして透過的に再マッピングできない将来の不良セクターを確保するよりも、スペア用にすべての不良セクターをスワップし、将来の欠陥のために残して400 GBまたは450 GBのドライブを使用する方がはるかに優れています。

2
Monty Harder

より洗練されたツールを使用できない場合のいくつかの基本的なもの(たとえば、USBディスクであり、SMARTが機能しない):

dd if=/dev/sdX of=/dev/null bs=1M

すべてのディスクを読み取ります。読み取れなかったセクターがある場合は、dmesgログで確認できます。それはそれが再試行後にそれらをどうにか読んだかどうかを教えてくれませんが。 badblocksほど良くありませんが、その遍在性について言及しました。

不良セクターがあり、ディスクに何も入れたくない場合:

dd if=/dev/zero of=/dev/sdX bs=1M

すべてのブロックが書き換えられます。読み取り不可能なセクターがある場合は、再割り当てされたプール内のセクターと交換され、再び使用可能になります。

再割り当てが行われているディスクがある場合、そのディスクは間もなくリリースされます。私はそれを重要なものには使用しませんが、あなたがあまり気にしないデータを持っていることもあり、それでそれは問題ないかもしれません。

SSDの場合は状況が異なり、適用されません。

0
user1908704