CHKDSK.exe(Check Disk)는 하드 드라이브 오류를 검사하는 Windows의 대표적인 내장 도구입니다. chkdsk를 사용하면 디스크와 파일 시스템의 물리적·논리적 오류를 점검하고, 불량 섹터를 찾아 발견된 문제를 복구할 수 있습니다. 이 글에서는 Windows 10에서 chkdsk 도구를 활용하는 방법과 Repair-Volume PowerShell cmdlet을 이용한 디스크 검사 방법까지 자세히 살펴보겠습니다.
Windows 10의 chkdsk는 NTFS와 FAT32 파일 시스템으로 포맷된 드라이브를 검사하고 복구할 수 있습니다. 단, ReFS 볼륨에는 적용되지 않습니다. ReFS는 서로 다른 데이터 무결성 기술을 사용하기 때문입니다.
Windows 10에서 CHKDSK로 디스크 오류를 검사하는 방법
하드 드라이브의 오류를 검사하려면 먼저 관리자 권한으로 명령 프롬프트를 실행한 뒤 다음 명령어를 입력합니다.
chkdsk E: /F /R
이 명령은 E:\ 드라이브 검사를 시작하며, 발견된 오류는 자동으로 수정합니다(/F). 불량 섹터가 있는 경우 데이터 복구를 시도합니다(/R). 전체 디스크 검사는 저장 용량과 파일 수에 따라 상당한 시간이 소요될 수 있습니다.
chkdsk 도구는 볼륨 메타데이터를 검사하기 위해 다음과 같은 4단계 순차 검사를 수행합니다.
- 1단계 – 파일 검증
- 2단계 – 인덱스 검증
- 3단계 – 보안 설명자(Security Descriptor) 검증
- 4단계 – USN 저널 및 섹터 검증
검사가 완료되면 불량 섹터와 파일 정보, 그리고 복구 작업 내역 등 상세한 디스크 통계가 표시됩니다.
문제가 발견되지 않으면 다음과 같은 메시지가 나타납니다.
Windows has scanned the file system and found no problems. No further action is required.
시스템 드라이브(C:\)는 Windows가 실행 중인 상태에서는 검사 및 오류 수정이 불가능합니다. chkdsk C: /F /R 명령을 실행하면 볼륨이 사용 중이라는 안내와 함께 다음 재시작 시 검사하도록 예약하라는 메시지가 표시됩니다.
Cannot lock current drive. Chkdsk cannot run because the volume is in use by another process. Would you like to schedule this volume to be checked the next time the system restarts? (Y/N).
다음 부팅 시 검사를 진행하려면 Y를 입력하고 Enter 키를 누르면 됩니다. "다음 시스템 재시작 시 이 볼륨이 검사됩니다"라는 메시지가 나타나며, Windows를 재시작하면 디스크 검사가 자동으로 시작됩니다.
유용한 CHKDSK 옵션들
온라인 검사를 건너뛰고 오프라인으로 드라이브를 검사하려면 offlinescanandfix 옵션을 사용합니다.
chkdsk E: /f /offlinescanandfix
시스템 드라이브에 이 옵션을 사용하면 다음 재부팅 시 검사를 예약하겠다는 안내가 표시됩니다. 참고로 Windows 10의 오프라인 디스크 검사 속도는 이전 OS 버전에 비해 크게 향상되었습니다.
/X 옵션도 유용합니다. 열려 있는 모든 파일 핸들을 강제로 닫아 검사 전에 볼륨을 분리(unmount)합니다.
또한 NTFS 볼륨 전용 옵션인 /spotfix도 주목할 만합니다. 이 매개변수는 오프라인 검사 시간을 몇 시간에서 몇 초로 단축할 수 있습니다. 전체 드라이브를 스캔하는 대신, 일반 검사 과정에서 기록된 $corrupt 파일에 저장된 오류 정보만 찾아 즉시 수정하기 때문입니다. 특히 대용량 볼륨을 검사할 때 매우 효과적입니다.
chkdsk 명령은 중간에 취소하지 않는 것이 좋습니다. 다만 프로세스를 강제 종료하더라도 볼륨이 추가로 손상되지는 않으며, 이후에 전체 디스크 검사를 다시 실행하는 것이 권장됩니다.
Windows 10의 자동 디스크 유지 관리
Windows 10에서는 디스크 검사와 조각 모음이 일정에 따라 또는 컴퓨터가 유휴 상태일 때 자동으로 수행됩니다. 자동 검사 상태는 제어판 → 시스템 및 보안 → 보안 및 유지 관리 → 드라이브 상태에서 확인할 수 있으며, 정상이라면 "모든 드라이브가 정상적으로 작동 중입니다"라고 표시됩니다.
자동 유지 관리의 일부로 실행되는 디스크 검사 작업(ProactiveScan)은 작업 스케줄러 → Microsoft → Windows → Chkdsk 경로에서 찾을 수 있습니다.
또한 최신 Windows 10 빌드에는 저장소 진단 도구 StorDiag.exe(Storage Diagnostic Tool)가 포함되어 있습니다. 이 유틸리티는 chkdsk, fsutil, fltmc 등 여러 검사 작업을 한 번에 수행하며, 진단 로그를 ETW 추적으로 저장할 수 있습니다.
stordiag.exe -collectEtw -checkfsconsistency -out %userprofile%\desktop
PowerShell을 이용한 드라이브 오류 검사
PowerShell 4.0부터는 chkdsk의 대체재인 Repair-Volume cmdlet이 제공됩니다.
온라인으로 드라이브 오류를 검사하려면 다음 명령을 실행합니다.
Repair-Volume –driveletter C –scan
오프라인 검사와 자동 오류 수정을 함께 수행하려면 offlinescanandfix 매개변수를 사용합니다.
Repair-Volume –driveletter E –offlinescanandfix
오류가 없으면 NoErrorsFound 메시지가 표시됩니다.
spotfix 매개변수를 사용하면 온라인 검사에서 발견된 오류만 빠르게 수정할 수 있습니다.
Repair-volume –driveletter E –spotfix
여러 드라이브를 동시에 지정하는 것도 가능합니다.
Repair-Volume -DriveLetter EHI –SpotFix
Repair-Volume cmdlet은 CIM 세션을 지원하므로 원격 컴퓨터의 드라이브도 검사할 수 있습니다.
Repair-Volume –driverletter c -scan –cimsession ny-fs01,ny-fs02,ny-dc01
Storage PowerShell 모듈의 cmdlet을 활용하면 하드 드라이브의 SMART 상태도 확인할 수 있습니다.
Get-PhysicalDisk | Sort Size | FT FriendlyName, Size, MediaType,SpindleSpeed, HealthStatus, OperationalStatus -AutoSize
Windows 10에서 CHKDSK 검사 결과 확인하기
온라인 검사를 수행하면 콘솔에서 전체 chkdsk 통계를 확인할 수 있습니다. 하지만 offlinescanandfix 옵션으로 예약한 검사의 경우 Windows 10 부팅 화면에는 전체 진행률만 표시되고 요약 보고서는 나오지 않습니다. 참고로 Windows 7 이전 버전에서는 상세 정보가 부팅 화면에 직접 출력되었습니다.
따라서 Windows 10에서는 자동 디스크 검사 결과를 이벤트 뷰어(Event Viewer)를 통해서만 확인할 수 있습니다.
검색창에 event를 입력해 이벤트 뷰어를 실행하거나, Eventvwr.msc 명령을 실행합니다.
Windows 로그 → 응용 프로그램으로 이동한 뒤, 응용 프로그램을 마우스 오른쪽 버튼으로 클릭하고 찾기를 선택합니다. 검색창에 chkdsk를 입력하고 다음 찾기를 클릭합니다.
이벤트 원본으로 검색하는 것도 가능합니다. 부팅 시 수행된 검사 이벤트는 Wininit 원본에서, 사용자가 직접 실행한 검사 이벤트는 Chkdsk 원본에서 확인할 수 있습니다.
원본이 Wininit이고 이벤트 ID 1001인 이벤트를 열면 일반 탭에서 최근 디스크 검사의 상세 로그를 확인할 수 있습니다.
Checking file system on C: The type of the file system is NTFS. A disk check has been scheduled. Windows will now check the disk. Stage 1: Examining basic file system structure ... 122280 file records processed. File verification completed. Stage 2: Examining file name linkage ... 184654 index entries processed. Index verification completed. Stage 3: Examining security descriptors ... Security descriptor verification completed. Stage 4: Looking for bad clusters in user file data ... File data verification completed. Stage 5: Looking for bad, free clusters ... Free space verification is complete. No further action is required. Windows has finished checking your disk.
PowerShell로도 검사 결과를 손쉽게 추출할 수 있습니다. 다음 명령은 최근 5개의 디스크 검사 결과를 바탕화면에 CHKDSK_SCANS.txt 파일로 저장합니다.
Get-EventLog -LogName Application -Source chkdsk | Select-Object -Last 5 -Property TimeGenerated,Message | Format-Table -Wrap| out-file "$env:userprofile\Desktop\CHKDSK_SCANS.txt"
생성된 파일은 어떤 텍스트 편집기로도 열어볼 수 있으며, 이렇게 하면 Windows 10 시작 시 수행된 디스크 검사 로그를 간편하게 확인할 수 있습니다.