web-dev-qa-db-ja.com

NTFSクラスターのマークを解除する方法

NTFSでクラスターのマークを解除するにはどうすればよいですか?

バックグラウンド

誤って走った

>chkdsk /R

私のSSDでは、

/ R:不良セクターを特定し、読み取り可能な情報を回復します(/ Fを意味します)
/ F:ディスクのエラーを修正します

そして今、私は自分のドライブで不良としてマークされたクラスターを持っています。そのクラスターのマークを解除する必要があります。

chkdskには、クラスターを再評価して使用に戻すオプションがあります。

/ B:NTFSのみ:ボリューム上の不良クラスターを再評価します(/ Rを意味します)

残念ながら、そのオプションは、クラスターがもはや悪くない場合にのみ、クラスターのマークを外します。クラスターのマークを解除する必要があります。

NTFSクラスターのマークを無効にするにはどうすればよいですか?

なぜあなたはこれをやっている?

なぜ私や他の何百人もが質問しているのは問題ではありません。しかし問題は、私のドライブに不良セクターがあることです。ドライブを新しいものと交換する時が来ました。これを行う方法は、Windowsソフトウェアを使用してSSDを別のSSDにミラーリングすることですmirroring

残念ながら、Windows NTFSミラーリングの既知のバグにより、 KB325615 で説明されているように、ミラーリングを完了できません。

ディスクに不良ブロックが含まれている場合、ソフトウェアミラーを作成できません

DMIOはファイルシステムの下で動作し、ソースディスクのセクターからの読み取り中に、または宛先ディスクにデータを書き込もうとしているときにI/Oエラーを検出すると、中断します。ミラーリング操作。

明らかな回避策は、OSボリュームをshrinkして、不良セクターがボリュームの終わりを超えているようにすることでした。 Windows 7では、ボリュームをShrinkしようとすると、自動的にファイルが移動されます。

enter image description here

これは良いことです。昔は、ボリュームを縮小したい場合、すべてのファイルをドライブの前面にプッシュする最適化ツールを使用する必要がありました。最後にたるんだスペースを残します。

残念ながら、今はunmovableファイルがあります:$BadClus。縮小defrag操作は、イベントログ内の移動できないファイルを示します。

ボリュームOS(C :)でボリューム縮小分析が開始されました。このイベントログエントリは、再生可能な最大バイト数を制限する可能性のある最後の移動不可能なファイルに関する詳細情報です。

診断の詳細:

  • 最後の移動できないファイルは次のようです:\ $ BadClus:$ Bad:$ DATA
  • ファイルの最後のクラスターは次のとおりです:0xdc1ded
  • 潜在的なターゲットの縮小(LCNアドレス):0xa91bd9
  • NTFSファイルのフラグは次のとおりです。-S--D
  • 収縮段階:<分析>

そう:

  • 不良セクターが削除されるまでボリュームをミラーリングできません
  • ボリュームを縮小すると、不良セクターが削除されます
  • スパースになるまでボリュームを縮小できません$BadClusファイルが移動されました
  • 動けない$BadClus不良クラスターを物理的に占有している間
  • $BadClusは物理的に不良クラスタを占有しますが、NTFSはクラスタが不良であると判断します

クラスターのマークを無効にするにはどうすればよいですか?

ドライブをゴースト化する人々にとっても

私の問題の解決策は、最も一般的なケースでも機能します:

誰かが不良ドライブを含むドライブを新しいドライブにゴースト化し、正常なドライブでも、たとえクラスターが良好であっても、クラスターに不良のマークが付けられています。彼らが利用できる回避策があることは偶然です:

>chkdsk /B

それが私の場合はうまくいきません。 (そしてそれが私の場合うまくいったとしても、それは私が求めている問題ではありません。)

ボーナスおしゃべり

もちろん、Kingson SSDはスペアセクターを維持しません。もしそうなら、それは私のためにスペアセクターを透過的に再マッピングすることができ、私はNTFSがthinkgsを過剰に考えようとしないでしょう。

SpinRite

spinRiteでSSドライブを試してみました。欠陥のあるセクターに出くわしますが、ドライブから値を取得できません。

══════════════════╤═══════════════════════════╤═════════════════════════════════
cylinder : 7,183  │     data samples : 1,999  │  first uncertain bit : · · · · ·
  sector :    17  │   unique samples :     0  │   last uncertain bit : · · · · ·
    head :   187  │  discarded sples :     0  │   uncertain bit span : · · · · ·

データサンプルの数は最大2,000までカウントされ、その後ゼロに戻って循環し続けます。

enter image description here

約20ループ(つまり、40,000データサンプル)した後、あきらめました。

クローニング

再び;質問と例を混同しないようにしましょう。問題は、NTFSでクラスターのマークを解除する方法です。 SSDをあきらめて捨てた後も、問題はまだ残っています。私の問題を質問と混同しないでください。それは私が実際に私の問題を解決しようとする可能性があることを意味しません:

DriveImageXMLが不良セクターに到達し、異常終了します。

GPartedの読み込みに失敗します。グラフィカルブート画面が表示され、次にコンソールウィンドウがテキストをスクロールし、続いて黒い画面が何もない

ClonezillaがSSDのクローンを拒否します:

このディスクには、不一致のGPTおよびMGRパーティションが含まれています:/ dev/sdb
それはClonezillを混乱させ、保存されたイメージが役に立たなくなったり、ディスクのクローンに失敗したりする可能性があります。

Htisの問題を修正してから、Clonezillaを再起動してください。
プログラムが終了しました。

enter image description here

NTFSでクラスターのマークを無効にするにはどうすればよいですか?

14
Ian Boyd

タイトルの質問にはこれ以上答えません。1

最初に、セクターが本当に悪い場合、マークを外すと読みにくくなります。ですから、あなたのクローン作成ソフトウェアは、代わりにそれを読むことで窒息するでしょう。

NTFSでは、 クラスターは、特殊なストリーム$BadClus:$Bad (スパースファイル)に割り当てることで不良としてマークされます。

必要なのは

  • runlist を編集して、対応する割り当てられたブロックを削除します
  • $Bitmap で、対応するクラスターを空きとしてマークします。

  • all不良ブロックのマークを解除するには、ntfsfix -b -d-b =無効なブロックリストをクリア、-d = clear /「ダーティ」フラグを設定しない)( ntfstruncateを使用する別の方法 =まったく同じ2)。

    • それmightはメタデータにマイナーな不整合を導入します(私の場合、いくつかのインデックスがソートされていないように見えます)。理由は不明なので、chkdsk -fを手動で、またはFSエラーが発生した場合にWindowsの起動時にトリガーするように-dを省略します。
  • 特定のブロックをクリアすることは、箱から出してこれを行うことができる既存のソフトウェアが見つからなかったため、はるかに困難ですNTFS不良セクターの解決:$ BadClusメタファイル-ケイティのコード は方法を説明します-基本的に、ランリストとビットマップを手動で編集しています。


1不良セクター+ NTFS +クローンの扱いが広すぎるトピックだからです。当面の問題に直接関連するものに喜んでお答えします
2ntfsfixv2015.3.14のソースコードを確認しました。
しつこいもののために、これらはそれを行うことができません:ntfscat(読み取り不可能なセクターを読み取ることができません)、ntfscp(オフセットに書き込むことができません)、ntfstruncatentfsfallocatedd$BadClus:$Badを書き込み用に開くことができません)

7
ivan_pozdeev

いくつかの不良クラスタを開発したハードドライブがありました。正常なドライブと交換しました。復元プロセスにより、不良クラスターデータとその他のデータが復元されました。これはWindows 7 Enterpriseコンピューター上にありました。

私の解決策は、(以前に提案されているように)「chkdsk d:/ b」を実行することでした。/bは、以前にマークされた不良クラスターを再スキャンするように指示します(NTFSの場合のみ)。少なくとも私の場合(そして/ bをサポートするすべてのバージョンが疑われます)、読み取りスキャンを開始する直前に不良クラスターリストをクリアします。 「不良クラスターファイルからXクラスターを削除しています」というメッセージが表示されたら、chkdskプロセスを強制終了できます(データを読み取るだけなので)。

注:ドライブの最初に不良セクターが見つかった場合、プロセスを強制終了した瞬間にchkdskが不良クラスターファイルを更新する可能性があります。私はリスクを冒し、とにかく完全なchkdskを必要とする他のプログラムの束をダウンロードする必要なしに、不良クラスターファイルを正常にリセットしました。 YMMV。

1
CasaDeRobison

ディスクをミラーリングしようとしている(そしてWindows 7を使用しているように見える)ため、別のアプローチがあります。

組み込みのツールを使用して、適切なディスクに復元するバックアップを作成します。コントロールパネル、システムとセキュリティ、バックアップに移動します。そこで、システムイメージとシステム修復ディスクを作成します。

その後、障害のある古いディスクを正常なディスクと交換し、システム修復ディスクと作成したバックアップを使用してシステムをその状態に復元できます。

0
João Paulo

あなたの目標はパーティションのサイズを縮小することであり、不良クラスターが原因で存在する$ BadClusファイルのためにWindowsはそれを縮小しないようです。

$ BadClusファイルを直接処理せずにドライブを縮小する代替ソリューションがあります。パーティションを使用するWizardパーティションを縮小します。パーティションWizardは使いやすく、非商用目的で無料で、GUIを使用してWindows内から実行できます、または小さなLinuxを実行するCDまたはUSBブートから同じGUIを取得します。このプログラムは、消去されたパーティションを回復し、MBRとGPTパーティションテーブル間で変換することもできます。

Windowsが特定のポイントを超えてパーティションを縮小しないという問題に遭遇したので、Partition Wizardを問題なく実行する同じパーティションで試してみます。PartitionWizardは$ BadClusファイルを無視してもかまいません。このプログラムを8年以上使用していて、ついにProバージョンを購入しました。彼らはそれを入手したからです。このプログラムを、私が購入したPQMagicの代替として見つけました1996年は、より小さなドライブ用のすばらしいDOSパーティション分割プログラムでした。

0
Erik

最初に行く最善の方法は、ドライブのクローンを作成することです。次に、新しい作業ドライブでchkdsk /Bを使用します。

トリッキーな本当の悪いセクターのマークを外す限り。あなたは使うことができます:

  • SpinRite 、または
  • mhdd(リマップをオンにする)

いずれかの製品で不良セクターを再マッピングし、CHKDSK/Bでマークを解除する必要があります。

ダウンロード gparted またはpartedmagicISO。それから起動し、パーティションを縮小します。

このは機能します。これは、Windowsが実行されていないため、このソフトウェアがパーティションを縮小するためです。その後、chkdsk /Bが残りを処理します。

このすべてが失敗した場合、あなたは今、醜い苦痛の道を歩んでいます。セクターエディターを入手し、ファイルシステムを手動で編集する必要があります。残念ながら、それはNTFSに関する私の知識の範囲を超えています。 FATまたはFAT32の場合は、非常に簡単です。

0
cybernard

パッケージgddrescue(gddrescue-GNU data recovery tool)があなたのために仕事をするはずです。

「Sudo apt-get install gddrescue」でDebianベースのスタンドアロンディストリビューション(CDまたはUSBスティック)インストールgddrescueを取得し、ターミナルウィンドウを開いて次のコマンドを発行してSSdのクローンを作成します。

ddrescue -f/dev/sda/dev/sdb ./ddrescue.log

(/ dev/sdaがソースで、/ dev/sdbがターゲットSSDです)

ddrescueは不良ブロックを回復しようとし、スキップできない場合はスキップします。

完了すると、chkdsk/f/bでジョブが完了します。

0
visnotjl