ハードドライブの不良セクタを修正する方法


17

Ubuntuを使用してハードドライブを修正しようとしましたが、エラーメッセージが表示され、処理方法がわかりませんでした。不良セクタを修正する必要があります

fsck /dev/sdb  
fsck from util-linux 2.20.1  
e2fsck 1.42.5 (29-Jul-2012)  
fsck.ext2: Permission denied while trying to open /dev/sdb  
You must have r/w access to the filesystem or be root  

1
貼り付けたテキストは質問に関連していないようです-明確にできますか?
トーマスラッター

回答:


22

不良セクタのドライブには、ドライブへの永久的な損傷の兆候です。ドライブがこれらのセクターを誤って不良としてマークしたと信じる理由がない限り、それらを「修正」することはできません。

これは、ドライブの一部が、信頼性の高い読み取りや書き込みができなくなるほど損傷していることを意味します。

システムはそのセクターを使用不可としてマークすることでドライブを使用し続けることができますが、不良セクターはより多くのセクターまたはドライブ全体がすぐに故障する兆候である可能性があるため、とにかくドライブ交換を検討するかもしれません。

ドライブに強制的にセクターの不良マークを外し、再び使用できるようにする方法があるかもしれませんが、これはおそらく良い考えではありません。セクターは良好な状態を維持する可能性がありますが、再び悪化する可能性があります。一部のデータは、障害の方法に応じて失われたり破損したりする場合があります。

さて、あなたが質問に貼り付けたエラーメッセージについては(これを書いている時点で)、そのエラーは不良セクタとは関係ありません。これは、ドライブにアクセスできないことを意味します。存在sudoすることでアクセスできるようになります:

sudo fsck /dev/sdb

ただし、これはおそらく/ dev / sdbがドライブ全体を指すのに対し、通常はパーティションに配置fsckされているファイルシステムで動作するように設計されているため、これはおそらく望みのものではありません。上記が機能しない場合は、代わりにそのドライブの最初のパーティションに対してこれを実行したい場合があります。

sudo fsck /dev/sdb1

ドライブごとにパーティションのリストを取得できます:

sudo fdisk -l

7
おそらく単なる不良ブロックです。データを読み取れません、それだけです。ブロックを再マップした後、ドライブはさらに3年間有効です。私の経験もそうです。
ザンリンクス

不良セクタのあるHDDは、不良セクタのないHDDよりも、いつでも故障する可能性が高くなります。経験に基づいたドライブの数は?私はまだそれをより大きなギャンブルと呼びます。
トーマスラッター

可能性が高い?承知しました。しかし、すぐに破滅するわけではありません。そのブロックが悪くなった理由に大きく依存します。私が言ったように、私はドライブをいくつかの不良ブロックをその寿命にわたってゆっくりと再マップし、ただ動かし続けてきました。
ザンリンクス

it isn't immediately doomed-それを知る方法も保証する方法もありません。場合によってはそうかもしれません。 So much depends on why that block went bad-それを開いて効果的に破壊することなく、理由を確実に見つけることは不可能です。私が言ったように、それは常にリスクの増加です。あなたがそのようなリスクに絶対に順調であれば、私はそれで問題ありません。 ほとんどの場合、おそらく90%を超える場合でも、不良セクタが検出された後、ドライブがすぐに故障することはなく、場合によっては何年も続くことがあります。適切なバックアップを保存しておけば、将来の障害がそれほど害になりません。
トーマスラッター

1
「ディスクはマウントされています」と言って、何もしません。
-19:

21

要するに:レスキューシステムを起動し、badblocks使用します

badblocks -svn /dev/sda

ハードディスクコントローラが不良ブロックをスペアブロックに置き換えるようにします。

ここで同じ質問に詳しく答えました


4
おそらくfsckの-cオプションで間接的に使用したいでしょう。badblocksスタンドアロンを使用している限り、何の動作も変更されず、不良ブロックの場所のみが報告されます。もちろん、ドライブファームウェアはbadblocks、に特徴的な使用パターンの下に置かれた場合、透過的に動作を変更する可能性がありますが、これは確かにドライブに依存しますか?
アメー

1
新規ユーザーとして、このサイトで特定の活動を行うことを許可される前に、まず「評判」を得る必要があります。したがって、これを複製することはできませんでした。それでも、質問には答えが必要でした。不良ブロックは物理ディスクの問題であるため(SMART値を確認してください。ファイルシステムは直接影響を受けません。データ損失により破損する可能性があります。したがって、fsckを実行することも良い考えです。不良ブロックを「修復」し、これが答えでした
user228505

ドキュメントの@amoeでは、動作が変わると想定しています。「デバイス名でsudo badblocks -nを実行して、それを単独で実行し、端末でbadblocksを報告します。-wオプションを使用して、書き込みモードテストを使用できます。ただし、-nオプションと-wオプションは相互に排他的であるため、一緒に使用しないでください。データがあるボリュームで-wオプションを使用しないでください。この場合、データが保存されるため、このオプションを使用します。-wオプションは、消去してもかまわないボリュームに適しています。」
Webwoman

13

昔は、ドライブに書き込まれた不良ブロックをメモして、ドライブをフォーマットする前に欠陥リストに入力する必要がありました。ハードディスクの表面は決して「完全」ではなかったためです。ディスクを購入すると、ディスクに印刷された欠陥テーブルが表示され、欠陥の少ないディスクが購入されます...

20年ほど前にスクロールすると、ハードディスクメーカーはファームウェアで新しいディスクに不良ブロックがあるという事実を隠します。新しいディスクを購入すると、おそらく不良ブロックがすでに存在しているため、ファームウェアは新しく成長した不良ブロックを検出し、持っているスペアシリンダーのセットからそれらをマッピングしますが、これは、そのセクターで書き込み操作が発生し、ECCアルゴリズムがビット障害を検出した場合にのみ発生し、ブロックをマッピングします。ポイントに戻ると、DDを使用するだけでドライブに強制的に不良ブロックをマップさせることができます。つまり、[編集:偶発的なドライブの破壊を防ぐために次の例を編集しました:ワイルドカード文字を削除し、Xに置き換えました]

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

明らかに、ゼロにしたいドライブを反映するようにof = targetを変更します。これは、ドライブの欠陥を再マッピングする最も早い方法です。また、ターゲットドライブを間違えてLinuxセットアップを完全に破棄する最も速い方法です。 Enterキーを押す前に、もう一度確認してください。ddコマンドでブロックサイズのサイズを大きくして、読み取り/書き込みを最適化し、おそらく処理を高速化することができますが、ポイント後のリターンは減少します。1Mから8Mの間が最適だと思う

DDに1つのセクターを書き込むだけで、悪いセクターをリマップすることができます。したがって、ドライブをバックアップする必要はありませんが、正確にわからなければ魚やロシアンルーレットのまったく異なるケトルです。あなたがしていること.....

このコマンドは、パーティションを含むハードドライブ上のすべてを破壊します。しかし、それはドライブが持っている可能性のある不良セクターをマッピングすることを強制します。

ブートセクターにない限り、ディスクに不良セクターが存在することは完全に問題ありません。それらがドライブである場合、ドライブが役に立たない場合、数か月後にドライブが不良セクターをより多く開発していることに気付いた場合は、時間です交換品の購入を開始します。

私はこのような数百のドライブを復活させましたが、その後何年も生き続けてきましたが、不良セクタは必ずしもドライブの死の告白ではありません。


私は以前にこの方法を使用したことがありますが、なぜ機能したのかわかりませんでした。少数のドライブのうち、ほとんどのドライブは、規定どおりにドライブを浅く拭いた後、何年も続きました。
-MER

了解!初心者の場合は、その行をコピーして貼り付けないでください。シェルはワイルドカード「?」を展開します 実際のデバイス名は/ devにあります。?を交換する前に誤ってEnterキーを押した場合、間違ったドライブをワイプする可能性があります。複数のデバイスがある場合、ddはエラーをスローする可能性がありますが、マシン上でテストすることは嫌です。
TiberiusKirk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.