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