вкратце
На моем новом ПК (с Windows 8.1 x64) некоторые файлы на локальном SATA-HDD повреждаются без видимых причин (после некоторого простоя).
Не вирус/вредоносное ПО! (проверил с установленным антивирусом AVG, а также с чистой, новой версией 8.1 без стороннего ПО/драйверов)
Различные тестовые утилиты не обнаружили никаких аппаратных сбоев.
Длинная версия
Я заметил, что некоторые файлы в моих архивах повреждаются после некоторого времени ПРОСТОЯ.
Кажется, что это всегда одни и те же файлы, которые повреждаются: с моими последними тестами на наборе из >33000 файлов jpeg я получаю список из тех же 30 файлов, которые всегда повреждаются. Похоже, что эти 30 файлов содержат какую-то определенную последовательность байтов, которая при определенных условиях «активирует» повреждение.
(После того, как я понял, что возникла проблема, я периодически восстанавливаю файлы из резервной копии, а затем сравниваю их с резервной копией с помощью WinMerge/BeyondCompare)
Характер повреждения примерно такой же: в большинстве случаев некоторые последние байты (около 10-20 последних байт) заполнены случайными данными. Но не всегда - также встречались файлы со случайными данными в начале/середине файла.
Я провел несколько тестов на наличие проблем с оборудованием, но никаких проблем не обнаружил:
- протестировано ОЗУ (с помощью MemTest86+ и некоторых других инструментов - тестировалось с разными шаблонами заполнения в течение ночи - проблем не обнаружено)
- протестировал жесткий диск (обнаружены проблемы SMART по атрибуту 0x05 «Количество перераспределенных секторов», жесткий диск был заменен по гарантии (та же модель). Теперь проблем со SMART нет, плохих секторов при сканировании поверхности нет.
Также провел много различных экспериментов. Например:
- Переустановка окон
- Пробовал с чистыми Windows (даже без драйверов от производителя материнской платы, только драйверы по умолчанию, предоставленные Microsoft)
- Пробовал со всеми установленными надлежащим образом драйверами (скачанными с домашней страницы производителя)
- Удалил все разделы и заново разбил/отформатировал HDD
- Пробовал с установленным антивирусом AVG и без него.
Один тест дал положительные результаты (вероятно): использовал PartedMagic Linux, загруженный с USB-накопителя. У меня не было никаких повреждений после нескольких недель использования 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 )
Проблема все еще в анализе: я все еще не получил стабильную/предсказуемую последовательность для воспроизведения проблемы. В настоящее время я использую более или менее квазистабильную последовательность воспроизведения (которая все еще занимает несколько дней для воспроизведения проблемы):
- Изменить конфигурацию (аппаратную или программную)
- Восстановить файлы из резервной копии
- Запустить WinMerge, сравнив архив на HDD с резервной копией на NAS (по локальной сети)
- Если повреждений не обнаружено, перейдите к шагу 3.
Шаг 3. занимает несколько часов (4-6), также повреждения могут быть обнаружены после нескольких итераций. Возможно, это происходит, если я пытаюсь использовать компьютер во время сравнения - не уверен.
Моя текущая теория:это может быть связано с оперативной памятью (даже если поврежденные файлы никогда не были доступны в режиме записи. Возможно, Windows выполняет какие-то прозрачные перераспределения сжатого содержимого NTFS во время какой-то внутренней процедуры индексации файлов... не знаю).
- Удален один модуль DDR: проблема не была воспроизведена после 3 дней непрерывного тестирования.
- Заменил «хороший» модуль на ранее извлеченный потенциально «плохой» модуль: проблема была воспроизведена в течение 1 дня. (хотя MemTest86+ сразу после проблемы не обнаружил никаких проблем с оперативной памятью — выполнил 6 проходов расширенных тестов)
- Оставил «плохой» модуль установленным, но изменил частоту оперативной памяти в BIOS с 1600 МГц на 1300 МГц. Сравнительные тесты уже проводятся в течение 3 дней. Пока никаких проблем не обнаружено.
Аппаратное обеспечение
- Zotac ZBOX ID90
- HDD: TOSHIBA 2.5" 1Tb (MQ01ABD100). Один жесткий диск в компьютере.
- БАРАН:KINGSTON HyperX PnP 8 ГБ 1600 МГц DDRIII (KHX1600C9S3P1K2/8G)- комплект из двух модулей 4Гб+4Гб
Программное обеспечение
- Windows 8.1 64 бит (со всеми последними обновлениями)
- Файловая система: NTFS сжатая
Вопросы
Принимая во внимание все вышесказанное, может ли кто-нибудь дать совет или подтвердить мои предположения:
Есть ли у кого-нибудь идеи, в чем может быть причина? Или что еще я могу сделать, чтобы обнаружить причину? Есть ли другие тестовые инструменты, которые могут проводить глубокие тесты (например, тест памяти при интенсивном использовании видеопамяти и т. д.)?
Если мое текущее предположение верно (вероятно, моя модель ОЗУ KINGSTON не полностью совместима с материнской платой, или один модуль ОЗУ неисправен и не работает должным образом на частоте 1600 МГц), какими тестовыми инструментами я могу это доказать? (MemTest86+ и несколько других не обнаружили никаких проблем)
Сегодня я также заметил: когда в BIOS переключаю тайминги памяти с AUTO на MANUAL, значения по умолчанию отличаются от рекомендуемых спецификацией KINGSTON: должно быть tRAS>33.75 (в BIOS значение по умолчанию 27), tRFC должно быть >260 (в BIOS значение по умолчанию 208, но максимальное 255, что все равно меньше рекомендуемых 260 нс). Может ли это быть причиной теоретически? (проверю и ручные тайминги, но это займет некоторое время).
решение1
Итак, спустя два месяца и еще несколько экспериментов. :-)
вкратце;
Проблема решена отключением сжатия NTFS.
TheкореньПричина пока неизвестна: я полагаю, что это может быть связано либо с жестким диском, либо с памятью, либо с материнской платой. Или путем реализации сжатия NTFS.
Длинная версия
Игрался с таймингами оперативной памяти - не помогло.
Обратился в службу поддержки производителей с вопросами об известных проблемах с оборудованием. Производители оперативной памяти и материнских плат не имеют информации об известных проблемах. Производитель HDD (Toshiba) не ответил :-)
В любом случае, после того, как я отключил сжатие, проблема не была воспроизведена после почти 2 месяцев обычного использования компьютера. В то время как другая копия образца, сохраненная в сжатой папке, была повреждена/восстановлена много раз.
Возможно, в реализации алгоритма сжатия, используемого в Windows 8.1, есть ошибка.
Я также протестировал версию Windows 10 — сжатые файлы повреждаются в течение одного дня ПРОСТОЯ.
решение2
Вы пробовали заменить кабель данных SATA? Если у вас есть запасной, попробуйте. Попробуйте найти такой, у которого нет этих металлических зажимов на концах. У меня с ними было много проблем.
решение3
Запустите CHKDSK C: /F в командной строке (режим администратора) - обратите внимание на пробелы в команде - и посмотрите, поможет ли это. Check Disk просканирует и исправит ошибки во время перезагрузки и до загрузки самой Windows.