Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (seongtaejeong at gmail.com)
홈페이지
첨부 파일
 

(시리즈 글이 3개 있습니다.)
오류 유형: 325. 파일 삭제 시 오류 - Error 0x80070091: The directory is not empty.
; https://www.sysnet.pe.kr/2/0/10938

Windows: 169. 부팅 시점에 실행되는 chkdsk 결과를 확인하는 방법
; https://www.sysnet.pe.kr/2/0/12188

오류 유형: 970. 파일 복사 시 "Data error (cyclic redundancy check). (0x80070017)" 에러
; https://www.sysnet.pe.kr/2/0/13978




파일 복사 시 "Data error (cyclic redundancy check). (0x80070017)" 에러

Hyper-V 가상 머신을 다른 디스크로 이동하려고 시도했더니 이런 오류가 발생합니다.

An error occurred while attempting to export the virtual machine.

Failed to copy file during export.

Failed to copy file from 'd:\VMs\ubuntutest\Virtual Hard Disks\ubuntutest.vhdx' to 'e:\VMs\ubuntutest\Virtual Hard Disks\ubuntutest.vhdx': Data error (cyclic redundancy check). (0x80070017).

robocopy 명령어로 해당 vhdx 파일을 복사하려고 했을 때도 동일한 오류가 발생했는데요,

C:\> robocopy "d:\vms\ubuntutest" "e:\vms\ubuntutest" /S
...[생략]...
  5.2%      New File              79.6 g        ubuntutest.vhdx
2025/07/25 10:08:52 ERROR 23 (0x00000017) Copying File d:\vms\ubuntutest\Virtual Hard Disks\ubuntutest.vhdx
Data error (cyclic redundancy check).
Waiting 30 seconds... Retrying...

검색해 보면, 물리 디스크에 bad sector가 있다고 하면서 chkdsk를 권장합니다.

There was an error during move operation: Data error (cyclic redundancy check) (0x80070017)
; https://charbelnemnom.com/there-was-an-error-during-move-operation-data-error-cyclic-redundancy-check-0x80070017/

실제로 저 역시 bad cluster가 나왔고,

C:\> chkdsk /r d:
...[생략]...
Stage 4: Looking for bad clusters in user file data ...
Windows replaced bad clusters in file 37 of name \VMs\centostest\Virtual Hard Disks\centostest_A9A21FFD-0943-4937-A14C-031AA8E27DD2.avhdx.
Windows replaced bad clusters in file 49 of name \VMs\ubuntutest\Virtual Hard Disks\ubuntutest.vhdx.
  102640 files processed.
File data verification completed.
 Phase duration (User file recovery): 2.17 hours.
An unspecified error occurred (75736e6a726e6c2e 519).

보는 바와 같이 2개의 파일에서 bad cluster가 발견됐는데요, 저렇게 시행 후 1개는 복구됐지만, 다른 하나는 복구되지 않았습니다. 아마도 마지막의 "An unspecified error occurred"라는 메시지가 복구를 하지 못해 나오는 것 같습니다.




그런데, 뭐랄까... chkdsk가 bad sector를 표시하는 작업에 문제가 있는 듯합니다. 왜냐하면, 지속적으로 해당 디스크를 사용하는 동안 Reading 작업이 오래 걸려 "Active time"이 100%로, Resource Monitor에서는 "Disk Queue Length"가 꽉 차는 현상이 자주 발생합니다.

왠지, bad sector 표시가 제대로 되지 않아 그 부분을 다시 읽으려고 시도하는 것이 아닌가 싶은데요, 그래서 다른 도구로 다시 검사를 해봤습니다.

HDDScan
; https://hddscan.com/

느낌일진 모르겠지만. ^^; 저걸 수행한 다음부터는 그나마 디스크가 정상적으로 동작하는 것 같습니다. (2012년에 구매한 Western Digital HDD였는데, 거의 13년을 사용했으니 이젠 보낼 때도 된 듯합니다. ^^ bad block 수가 1,419,102 개라고 나오는군요.)




참고로, 운영체제가 설치된 드라이브에 chkdsk를 실행하는 경우라면 재부팅 시점에 동작하도록 설정해야 합니다.

부팅 시점에 실행되는 chkdsk 결과를 확인하는 방법
; https://www.sysnet.pe.kr/2/0/12188






[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 7/30/2025]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  63  [64]  65  66  67  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12432정성태11/29/202023425Windows: 178. 윈도우 환경에서 클라이언트 소켓의 최대 접속 수 (2) - SO_REUSEADDR [1]파일 다운로드1
12431정성태11/27/202019231.NET Framework: 976. UnmanagedCallersOnly + C# 9.0 함수 포인터 사용 시 x86 빌드에서 오동작하는 문제파일 다운로드1
12430정성태11/27/202022914오류 유형: 686. Ubuntu - E: The repository 'cdrom://...' does not have a Release file.
12429정성태11/25/202023335디버깅 기술: 175. windbg - 특정 Win32 API에서 BP가 안 걸리는 경우
12428정성태11/25/202021747VS.NET IDE: 154. Visual Studio - .NET Core App 실행 시 dotnet.exe 실행 화면만 나오는 문제
12427정성태11/24/202021000.NET Framework: 975. .NET Core를 직접 호스팅해 (runtimeconfig.json 없이) EXE만 배포해 실행파일 다운로드1
12426정성태11/24/202020196오류 유형: 685. WinDbg Preview - error InitTypeRead
12425정성태11/24/202022579VC++: 141. Visual C++ - "Treat Warnings As Errors" 옵션이 꺼져 있는데도 일부 경고가 에러 처리되는 경우
12424정성태11/24/202022274VC++: 140. C++의 연산자 동의어(operator synonyms), 대체 토큰 [1]
12423정성태11/22/202021816.NET Framework: 974. C# 9.0 - (16) 제약 조건이 없는 형식 매개변수 주석(Unconstrained type parameter annotations)파일 다운로드1
12422정성태11/21/202019388.NET Framework: 973. .NET 5, .NET Framework에서만 허용하는 UnmanagedCallersOnly 사용예파일 다운로드1
12421정성태11/19/202018507.NET Framework: 972. DNNE가 출력한 NE DLL을 직접 생성하는 방법파일 다운로드1
12420정성태11/19/202019618오류 유형: 684. Visual C++ - MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
12419정성태11/19/202019008VC++: 139. Visual C++ - .NET Core의 nethost.lib와 정적 링크파일 다운로드1
12418정성태11/19/202021015오류 유형: 683. Visual C++ - error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MDd_DynamicDebug'파일 다운로드1
12417정성태11/19/202020298오류 유형: 682. Visual C++ - warning LNK4099: PDB '...pdb' was not found with '...lib(pch.obj)' or at '...pdb'; linking object as if no debug info
12416정성태11/19/202021538오류 유형: 681. Visual C++ - error LNK2001: unresolved external symbol _CrtDbgReport
12415정성태11/18/202020783.NET Framework: 971. UnmanagedCallersOnly 특성과 DNNE 사용파일 다운로드1
12414정성태11/18/202024519VC++: 138. x64 빌드에서 extern "C"가 아닌 경우 ___cdecl name mangling 적용 [4]파일 다운로드1
12413정성태11/17/202022268.NET Framework: 970. .NET 5 / .NET Core - UnmanagedCallersOnly 특성을 사용한 함수 내보내기파일 다운로드1
12412정성태11/16/202024612.NET Framework: 969. .NET Framework 및 .NET 5 - UnmanagedCallersOnly 특성 사용파일 다운로드1
12411정성태11/12/202020551오류 유형: 680. C# 9.0 - Error CS8889 The target runtime doesn't support extensible or runtime-environment default calling conventions.
12410정성태11/12/202022740디버깅 기술: 174. windbg - System.TypeLoadException 예외 분석 사례
12409정성태11/12/202023576.NET Framework: 968. C# 9.0의 Function pointer를 이용한 함수 주소 구하는 방법파일 다운로드1
12408정성태11/9/202038570도서: 시작하세요! C# 9.0 프로그래밍 [8]
12407정성태11/9/202023375.NET Framework: 967. "clr!JIT_DbgIsJustMyCode" 호출이 뭘까요?
... 61  62  63  [64]  65  66  67  68  69  70  71  72  73  74  75  ...