現在の保留中のセクター数を修正するにはどうすればよいですか


8

SMARTデータから、3つの保留中のセクター数があることがわかります。(Ubuntu Maverickを実行しています。)

それを解決する方法についてフォーラムのリンクをたどってみましたが、そのセクターに書き込む正確なセクター数を特定できません。ディスクユーティリティからフルセルフテストを実行しましたが、ディスクユーティリティでMaverickの正確なセクター番号が表示されません。ただし、以前のバージョンについてはわかりません。これはマーベリックで変更されましたか?

セクターを特定してその保留中のカウントを修正するにはどうすればよいですか?フォーラムのヒントは安全ですか?

PS:「再割り当てセクター数」に関して他の問題があります。これは、Googleがググったものですが、修正できません。増加しないようにする方法はありますか?


1
SMARTデータのスクリーンショット:foopics.com/showfull/e20ea820cbed11ae2d99e13a9fe642d1 Hrm ..!PS:複数のハイパーリンクまたは少なくとも1つの画像リンクを新規ユーザーに許可する必要があります:-/
— Vish

「ロング」テストを実行しましたか?
— TJ L

1
ええ、「拡張」を試しましたが、セクター番号が報告されません。または、テストを実行した後、適切な場所を探していませんか?
— 2010年

回答:


7

これは実際には長いコメントです;-)

ファイルシステムのIMOは、特にセルフテストを実行した後で、やがてそれを自動的に処理します。ご覧のとおり、書き込みが失敗した場合に再マッピングが行われたため、次に書き込みを試みたときに再マッピングされます。

これを行うことの背後にあるより大きな目的を述べられますか?再マッピングが必要なブロックに関する懸念とは別に、これを実行して解決しようとしている他の煩わしさや問題はありますか?

あなたが引用したubuntuforums投稿のヒントは、どのセクターが不良であるかを正確に把握しており、修正する説得力のある理由がある限り安全です。通常、セクター#は、ファイルシステムによって抽象化され、内部的に処理されるため、ファイルチェックプログラムによっても報告されません。

しかし、問題のある不良ブロックを見つける必要がある場合は、以下の手順を使用できます。

  1. ファイルシステムに対応するデバイスファイルに注意してください。これは、ディスクタイプに応じて、/ dev / hdcまたは/ dev / sdbの形式になります。これはディスクユーティリティ(System -> Administration -> Disk Utility)に表示されます。左側のパネルに表示されるリストでディスク名をクリックすると、右側の「デバイス:」に対してデバイス名を読み取ることができます。

  2. そのディスク内のすべてのファイルシステムをアンマウントします。次のコマンドは出力を返しません。

    mount | grep -i <device-name>
    
  3. 次のコマンドを実行します

    badblocks -sv -b 512 <device-name>
    

    なお、-b 512あなたは数がへの入力として、このコマンドによって報告される使用できるように整列ブロックサイズに512にあるddで説明したようにフォーラムのポスト

上記のすべては、通常のディスク操作によって処理されるため、お勧めしません。


1
詳細な回答ありがとうございます。これらの3つの保留中のセクターは非常に長い間存在し、ほぼ6か月以上だったため、これらの保留中のセクターを修正したいと思いました。そして、それらのセクターは私のメイン/ homeパーティションにありますが、これをオンラインで行うにはどうすればよいですか?すべてのパーティションのアンマウントについて説明しましたが、ライブCDからこれを実行する必要がありますか?
— Vish

これはインストールのホームパーティションなので、実際に上記の手順をlivecdから実行する必要があります。ディスク上のすべてのパーティションがマウント解除されていることを確認してください(スワップパーティションのスワッピングを含む)。
— koushik

奇妙なことに、ext4で約6か月間保留中のカウントがありましたが、brtfsを使用して再インストールすると、それが消えます。したがって、私は心配していました。あなたからのアドバイスから、私は何かをする前に数週間待つことを検討しました。今突然彼らはすべてなくなった!だから待ったのが最高だったと思います。:-)ただし、btrfsを使用するとより速く解決するようです。
— ヴィッシュ

1

最悪の場合、いつでもこれを行うことができます。ディスクまたはアレイのマウントを解除し、アレイを停止します。

dd if=/dev/sdX of=/dev/sdX iflag=direct,sync oflag=direct,sync

長い時間がかかりますが、うまくいくはずです。

理想的には、ハードドライブの成長障害リスト(glist)をクエリできますが、その方法はわかりません。


1

conv=noerrorオプションが役立つようです。I / Oエラーがある場合、このオプションddは読み取り/書き込みが完了するまで強制的に再試行するように見えます。badblocksコマンド(上記のKaushikで指定)で見つかった不良ブロックごとに次のコマンドでソースファイルを作成し、「現在の保留セクター数」(「再マップ待ち」)を5からゼロにクリアしました。

sudo dd bs=512 count=1 conv=noerror ibs=512 obs=512 if=/dev/sda of=/dev/sda iflag=direct,sync oflag=direct,sync skip=3186809 seek=3186809

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.