tl;dr
내 새 PC(Windows 8.1 x64 포함)에서 로컬 SATA-HDD의 일부 파일이 눈에 띄는 이유 없이(일부 유휴 이후) 손상되고 있습니다.
바이러스/악성코드가 아닙니다! (타사 소프트웨어/드라이버 없이 완전히 새로운 8.1을 설치하고 AVG 바이러스 백신을 설치하여 테스트했습니다)
다양한 테스트 유틸리티에서 HW 오류가 감지되지 않았습니다.
긴 버전
유휴 시간이 지나면 내 아카이브의 일부 파일이 손상되는 것을 발견했습니다.
항상 손상되는 동일한 파일인 것 같습니다. 33000개 이상의 jpeg 파일 세트에 대한 마지막 테스트에서 항상 손상되는 동일한 30개 파일 목록을 얻었습니다. 이 30개 파일에는 특정 조건에서 손상을 '활성화'하는 특정 바이트 시퀀스가 포함된 것 같습니다.
(문제가 있다는 것을 깨달은 후 주기적으로 백업에서 파일을 복원한 다음 WinMerge/BeyondCompare를 사용하여 백업과 비교하고 있습니다.)
손상 패턴은 거의 동일합니다. 대부분의 경우 일부 마지막 바이트(약 10-20마지막 바이트)는 임의의 데이터로 채워집니다. 그러나 항상 그런 것은 아닙니다. 파일의 시작/중간에 임의의 데이터가 있는 파일도 만났습니다.
HW 문제에 대해 몇 가지 테스트를 수행했지만 어떤 문제도 발견하지 못했습니다.
- RAM 테스트(MemTest86+ 및 기타 도구 사용 - 밤새 다른 채우기 패턴으로 테스트 중 - 문제가 발견되지 않음)
- 테스트된 HDD(0x05 '재할당된 섹터 수' 속성에서 SMART 문제 감지, 보증에 따라 HDD 교체(동일 모델). 이제 SMART 문제가 없고 표면 스캔에서 불량 섹터가 없습니다.
다양한 실험도 많이 했습니다. 좋다:
- 다시 설치된 창
- 클린 창으로 시도했습니다(마더보드 제조업체의 드라이버가 없어도 Microsoft에서 제공하는 기본값만 있음).
- 모든 적절한 드라이버를 설치하여 시도했습니다(제조업체 홈페이지에서 다운로드).
- 모든 파티션을 삭제하고 HDD를 다시 파티션/포맷했습니다.
- AVG Antivirus를 설치하고 아무 것도 없이 시도했습니다.
한 테스트에서는 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 )
문제는 아직 분석 중입니다. 문제를 재현하기 위한 안정적이고 예측 가능한 순서를 아직 얻지 못했습니다. 현재 저는 어느 정도 준안정적인 재현 시퀀스를 사용하고 있습니다(문제를 재현하는 데 여전히 며칠이 걸립니다).
- 구성 수정(HW 또는 SW)
- 백업에서 파일 복원
- 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). 컴퓨터의 단일 하드 드라이브.
- 램:KINGSTON HyperX PnP 8GB 1600MHz DDRIII(KHX1600C9S3P1K2/8G)- 4Gb+4Gb 모듈 2개로 구성된 키트
소프트웨어
- Windows 8.1 64비트(모든 최신 업데이트 포함)
- 파일 시스템: NTFS 압축
질문
위의 모든 사항을 고려하여 누구든지 내 가정에 대해 조언하거나 확인해 줄 수 있습니까?
이유가 무엇인지 아는 사람이 있습니까? 아니면 이유를 알아내기 위해 또 무엇을 할 수 있나요? 심층 테스트(예: 집중적인 비디오 메모리 사용 중 메모리 테스트 등)를 수행할 수 있는 다른 테스트 도구가 있습니까?
현재 가정이 맞다면(아마도 내 KINGSTON RAM 모델이 마더보드와 완전히 호환되지 않거나 하나의 RAM 모듈에 결함이 있어 1600MHz에서 제대로 작동하지 않을 수 있음) 어떤 테스트 도구를 사용하여 이를 증명할 수 있습니까? (MemTest86+ 및 기타 몇 가지에서는 아무런 문제도 발견하지 못했습니다)
오늘 저는 또한 BIOS에서 메모리 타이밍을 AUTO에서 MANUAL로 전환할 때 기본값이 KINGSTON 사양에서 권장하는 것과 다릅니다: tRAS>33.75(BIOS에서 기본값은 27)가 있어야 하고 tRFC는 >260( BIOS에서 기본값은 208이지만 최대값은 255이며 여전히 권장되는 260ns보다 작습니다. 이론적으로 그게 이유가 될 수 있나요? (수동 타이밍도 테스트하지만 시간이 좀 걸릴 것입니다).
답변1
그래서 두 달 뒤에 몇 가지 실험을 더 했습니다. :-)
tl;dr;
NTFS 압축을 비활성화하면 문제가 해결되었습니다.
그만큼뿌리원인은 아직 불명: HDD, 메모리, 마더보드 등이 원인일 수 있다고 생각됩니다. 또는 NTFS 압축을 구현하여 가능합니다.
긴 버전
나는 RAM 타이밍을 가지고 놀았지만 도움이 되지 않았습니다.
알려진 하드웨어 문제에 대한 질문이 있는 경우 제조업체 지원팀에 문의했습니다. RAM 및 마더보드 제조업체에는 알려진 문제에 대한 정보가 없습니다. HDD 제조사(Toshiba)는 답변을 하지 않았습니다 :-)
어쨌든 압축을 비활성화한 후 거의 2개월 동안 컴퓨터를 정상적으로 사용해도 문제가 재현되지 않았습니다. 압축 폴더에 저장된 또 다른 샘플 사본은 여러 번 손상/복원되었습니다.
Windows 8.1에서 사용되는 압축 알고리즘 구현에 버그가 있을 수 있습니다.
또한 Windows 10 릴리스로 테스트했습니다. 압축 파일은 IDLE 중 하루 동안 손상되었습니다.
답변2
SATA 데이터 케이블을 바꿔보셨나요? 여유가 있으시면 한번 사용해 보세요. 끝에 금속 클립이 없는 것을 찾아보세요. 나는 그것들 때문에 많은 어려움을 겪었습니다.
답변3
명령 프롬프트(관리 모드)에서 CHKDSK C: /F를 실행하고(명령의 공백에 주의) 이것이 도움이 되는지 확인하세요. 디스크 검사는 다시 시작하는 동안과 Windows 자체가 로드되기 전에 오류를 검사하고 수정합니다.