要約
新しい PC (Windows 8.1 x64 搭載) では、ローカル SATA-HDD 上の一部のファイルが、目に見える理由もなく (アイドル状態が続くと) 破損してしまいます。
ウイルス/マルウェアではありません! (AVG アンチウイルスをインストールした状態でテストしました。また、サードパーティのソフトウェア/ドライバーのないクリーンな新しい 8.1 でテストしました)
さまざまなテスト ユーティリティによってハードウェア障害は検出されませんでした。
ロングバージョン
アイドル時間が経過すると、アーカイブ内の一部のファイルが破損していることに気付きました。
破損するのは常に同じファイルのようです。33000 個を超える jpeg ファイルのセットで最後にテストしたところ、常に破損する同じ 30 個のファイルのリストが表示されました。これらの 30 個のファイルには、特定の条件下で破損を「アクティブ化」する特定のバイト シーケンスが含まれているようです。
(問題があることに気付いてからは、定期的にバックアップからファイルを復元し、WinMerge/BeyondCompare を使用してバックアップと比較しています)
破損パターンはほぼ同じです。ほとんどの場合、最後のバイト (最後の約 10 ~ 20 バイト) がランダム データで埋められます。ただし、常にそうであるとは限りません。ファイルの先頭または途中にランダム データがあるファイルもあります。
ハードウェアの問題についていくつかテストしましたが、問題は見つかりませんでした。
- RAM をテストしました (MemTest86+ と他のツールを使用 - 夜通しさまざまな塗りつぶしパターンでテストしましたが、問題は検出されませんでした)
- テスト済みの HDD (0x05「再割り当てセクター数」属性で SMART の問題を検出、保証により HDD を交換 (同じモデル))。現在、SMART の問題はなく、表面スキャンで不良セクターは検出されていません。
さまざまな実験も行いました。例えば:
- 再インストールされたウィンドウ
- クリーンな Windows で試しました (マザーボードの製造元からのドライバーがなく、Microsoft が提供するデフォルトのみ)
- 適切なドライバーをすべてインストールして試しました(製造元のホームページからダウンロード)
- すべてのパーティションを削除し、HDDを再パーティション/フォーマットしました
- AVGアンチウイルスをインストールした状態で試してみましたが、
1 つのテストでは、肯定的な結果が得られました (おそらく): USB スティックから起動した PartedMagic Linux を使用しました。Linux を数週間使用した後も破損はありませんでした。ただし、この Linux ディストリビューションが同じ HW アクセス モード (メモリ使用量、SATA 接続など) を使用していたのか、それとも単に偶然に起こったのではないのかはまだわかりません。
最初は、Windows ドライバー/キャッシュ構成に問題があると考えました。Microsoft コミュニティで同じ質問をしましたが、解決策が見つかりませんでした。(answers.microsoft.com/en-us/windows/forum/windows8_1-files/files-on-hdd-getting-corrupted/e2b04d4f-d3ea-492d-a181-c1d437ab1507)
問題はまだ分析中です。問題を再現するための安定した/予測可能なシーケンスをまだ取得していません。現在は、ほぼ準安定した再現シーケンスを使用しています (それでも問題を再現するには数日かかります)。
- 構成の変更(ハードウェアまたはソフトウェア)
- バックアップからファイルを復元する
- HDD 上のアーカイブと NAS (ローカル ネットワーク経由) のバックアップ コピーを比較して WinMerge を起動します。
- 破損が検出されない場合は、手順 3 に進みます。
ステップ 3 は数時間 (4 ~ 6 時間) かかり、数回の反復後に破損が検出されることもあります。おそらく、比較中にコンピューターを使用しようとすると発生しますが、よくわかりません。
私の現在の理論:これは RAM に関連している可能性があります (書き込みモードで破損したファイルにアクセスしたことがない場合でも、Windows が内部のファイル インデックス作成手順中に圧縮された NTFS コンテンツの透過的な再割り当てを行っている可能性があります... わかりません)。
- 単一の DDR モジュールを削除しました。3 日間の継続テスト後も問題は再現されませんでした。
- 「良好な」モジュールを、以前に抽出された潜在的に「不良」なモジュールに置き換えました。問題は 1 日間で再現されました。(ただし、問題発生直後の MemTest86+ では RAM に問題は検出されませんでした - 拡張テストを 6 回実行しました)
- 「不良」モジュールはインストールしたまま、BIOS で RAM 周波数を 1600MHz -> 1300MHz に変更しました。すでに 3 日間比較テストを実行していますが、これまでのところ問題は再現されていません。
ハードウェア
- ゾタック ZBOX ID90
- HDD: TOSHIBA 2.5 インチ 1Tb (MQ01ABD100)。コンピューター内のハード ドライブは 1 台です。
- ラム:キングストン HyperX PnP 8GB 1600MHz DDRIII (KHX1600C9S3P1K2/8G)- 2つのモジュール4Gb+4Gbのキット
ソフトウェア
- Windows 8.1 64 ビット (最新のアップデートがすべて適用済み)
- ファイルシステム: NTFS 圧縮
質問
上記のすべてを考慮して、誰かが私の仮定についてアドバイスしたり確認したりすることができますか?
何が原因か分かる人はいますか? あるいは、原因を突き止めるために他に何ができるでしょうか? ディープテスト(ビデオメモリを集中的に使用している間のメモリテストなど)を実行できる他のテストツールはありますか?
私の現在の仮定が正しい場合 (おそらく私の KINGSTON RAM モデルはマザーボードと完全に互換性がないか、1 つの RAM モジュールに欠陥があり 1600MHz で正常に動作しない)、どのテスト ツールを使用してそれを証明できますか? (MemTest86+ と他のいくつかのツールでは問題は検出されませんでした)
今日、私は次のことにも気付きました。BIOS でメモリ タイミングを自動から手動に切り替えると、デフォルト値が KINGSTON 仕様で推奨されている値と異なります。tRAS は 33.75 を超える必要があります (BIOS ではデフォルト値は 27)、tRFC は 260 を超える必要があります (BIOS ではデフォルト値は 208 ですが、最大値は 255 で、それでも推奨される 260ns より小さくなります)。理論的にはこれが理由でしょうか? (手動タイミングもテストしますが、時間がかかります)。
答え1
それで、2 か月が経ち、さらにいくつかの実験が行われました。:-)
要約:
NTFS 圧縮を無効にすることで問題は解決しました。
の根原因はまだ不明ですが、HDD、メモリ、マザーボードのいずれかが原因と考えられます。 または、NTFS 圧縮を実装することによって。
ロングバージョン
RAM のタイミングをいじってみましたが、役に立ちませんでした。
既知のハードウェアの問題についてメーカーのサポートに問い合わせました。RAM およびマザーボードのメーカーは既知の問題に関する情報を持っていません。HDD メーカー (東芝) は回答しませんでした :-)
いずれにせよ、圧縮を無効にした後、コンピューターを通常どおり使用して約 2 か月経っても問題は再現しませんでした。一方、圧縮フォルダーに保存された別のサンプル コピーは、何度も破損/復元されました。
Windows 8.1 で使用される圧縮アルゴリズムの実装にバグがある可能性があります。
Windows 10 リリースでもテストしましたが、圧縮ファイルは 1 日間のアイドル中に破損します。
答え2
SATA データ ケーブルを交換してみたことはありますか? 予備のケーブルがあれば、試してみてください。端に金属クリップが付いていないものを探してください。私は金属クリップでかなり苦労しました。
答え3
コマンド プロンプト (管理者モード) で CHKDSK C: /F を実行し (コマンド内のスペースに注意してください)、これが役立つかどうかを確認します。チェック ディスクは、再起動中および Windows 自体が読み込まれる前にエラーをスキャンして修正します。