다음을 통해 공유


chkdsk

파일 시스템 및 논리적 및 물리적 오류에 대 한 볼륨의 파일 시스템 메타 데이터를 확인합니다. 매개 변수 없이 사용하는 경우 chkdsk 는 볼륨의 상태만 표시하고 오류를 수정하지 않습니다. /f, /r, /x 또는 /b 매개 변수와 함께 사용하면 볼륨의 오류가 수정됩니다.

Important

로컬 Administrators 그룹 또는 이에 상응하는 그룹의 멤버 자격은 chkdsk를 실행하는 데 필요한 최소 자격입니다. 관리자 권한으로 명령 프롬프트 창을 열려면 시작 메뉴에서 명령 프롬프트를 마우스 오른쪽 단추로 클릭한 다음 관리자 권한으로 실행을 선택합니다.

Important

chkdsk를 중단하는 것은 권장되지 않습니다. 그러나 chkdsk 를 취소하거나 중단해도 chkdsk 가 실행되기 전보다 볼륨이 더 손상되지 않아야 합니다. chkdsk를 다시 실행하면 볼륨에 남아 있는 손상이 확인되고 복구되어야 합니다.

Note

Chkdsk는 로컬 디스크에 대해서만 사용할 수 있습니다. 이 명령은 네트워크를 통해 리디렉션된 로컬 드라이브 문자와 함께 사용할 수 없습니다.

Syntax

chkdsk [<volume>[[<path>]<filename>]] [/f] [/v] [/r] [/x] [/i] [/c] [/l[:<size>]] [/b] [/scan] [/forceofflinefix] [/perf] [/spotfix] [/sdcleanup] [/offlinescanandfix] [/freeorphanedchains] [/markclean] [/?]

Parameters

Parameter Description
<volume> 드라이브 문자(뒤에 콜론이 옴), 탑재 지점 또는 볼륨 이름을 지정합니다.
[<path>]<filename> 파일 할당 테이블(FAT) 및 FAT32만 함께 사용합니다. chkdsk에서 조각화를 확인하도록 할 파일 또는 파일 집합의 위치와 이름을 지정합니다. 와일드카드 문자 ? 를 사용하여 * 여러 파일을 지정할 수 있습니다.
/f 디스크에서 오류를 해결합니다. 디스크를 잠가야 합니다. chkdsk가 드라이브를 잠글 수 없는 경우, 다음에 컴퓨터를 재시동할 때 드라이브를 확인할 것인지 묻는 메시지가 나타납니다.
/v 디스크를 검사할 때 모든 디렉터리의 각 파일의 이름을 표시 합니다.
/r 불량 섹터를 찾아 읽을 수 있는 정보를 복구 합니다. 디스크를 잠가야 합니다. /r 에는 실제 디스크 오류에 대한 추가 분석과 함께 /f의 기능이 포함되어 있습니다.
/x 필요한 경우 볼륨을 먼저 분리 되도록 합니다. 드라이브에 열려 있는 모든 핸들이 무효화 됩니다. /x 에는 /f의 기능도 포함되어 있습니다.
/i NTFS로 사용 합니다. 인덱스 항목에 대한 덜 강력한 검사를 수행하여 chkdsk를 실행하는 데 필요한 시간을 줄입니다.
/c NTFS로 사용 합니다. 폴더 구조 내에서 주기를 확인하지 않으므로 chkdsk를 실행하는 데 필요한 시간이 줄어듭니다.
/l[:<size>] NTFS로 사용 합니다. 입력 한 크기를 로그 파일 크기를 변경 합니다. size 매개 변수를 생략하면 /l 에 현재 크기가 표시됩니다.
/b NTFS로 사용 합니다. 볼륨에서 잘못된 클러스터 목록을 지우고 할당된 모든 클러스터와 사용 가능한 클러스터에서 오류를 다시 검사합니다. /b 에는 /r의 기능이 포함되어 있습니다. 새 하드 디스크 드라이브에 볼륨 이미징 후이 매개 변수를 사용 합니다.
/scan NTFS로 사용 합니다. 볼륨에서 온라인 검사를 실행합니다.
/forceofflinefix NTFS에만 사용합니다( /scan과 함께 사용해야 함). 모든 온라인 복구를 무시합니다. 발견된 모든 결함은 오프라인 복구를 대기합니다(예: chkdsk /spotfix).
/perf NTFS에만 사용합니다( /scan과 함께 사용해야 함). 시스템 리소스를 더 많이 사용하여 최대한 빨리 검사를 완료합니다. 이는 시스템에서 실행되는 다른 작업에 부정적인 성능 영향을 미칠 수 있습니다.
/spotfix NTFS로 사용 합니다. 볼륨에서 지점 수정을 실행합니다.
/sdcleanup NTFS로 사용 합니다. 가비지는 불필요한 보안 설명자 데이터를 수집합니다( /f 의미).
/offlinescanandfix 볼륨에서 오프라인 검사와 수정을 실행합니다.
/freeorphanedchains FAT/FAT32/exFAT만 함께 사용합니다. 그 콘텐츠를 복구하는 대신 분리된 클러스터 체인을 해제합니다.
/markclean FAT/FAT32/exFAT만 함께 사용합니다. /f를 지정하지 않은 경우에도 손상이 감지되지 않은 경우 볼륨을 깨끗한 것으로 표시합니다.
/? 명령 프롬프트에 도움말을 표시합니다.

Remarks

  • /i 또는 /c 스위치는 특정 볼륨 검사를 건너뛰어 chkdsk를 실행하는 데 필요한 시간을 줄입니다.

  • chkdsk가 디스크 오류를 수정하도록 하려면 드라이브에 파일을 열 수 없습니다. 파일이 열려 있으면 다음 오류 메시지가 나타납니다.

    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)
    
  • 다음에 컴퓨터를 다시 시작할 때 드라이브를 확인하도록 선택하면 chkdsk 는 드라이브를 확인하고 컴퓨터를 다시 시작할 때 오류를 자동으로 수정합니다. 드라이브 파티션이 부팅 파티션인 경우 chkdsk 는 드라이브를 확인한 후 컴퓨터를 자동으로 다시 시작합니다.

  • chkntfs /c 명령을 사용하여 다음에 컴퓨터를 다시 시작할 때 볼륨을 확인하도록 예약할 수도 있습니다. 이 fsutil dirty set 명령을 사용하여 볼륨의 더티 비트(손상을 나타냄)를 설정하여 컴퓨터를 다시 시작할 때 Windows가 chkdsk 를 실행하도록 합니다.

  • 디스크 오류를 확인하기 위해 FAT 및 NTFS 파일 시스템에서 때때로 chkdsk 를 사용해야 합니다. Chkdsk 는 디스크 공간 및 디스크 사용량을 검사하고 각 파일 시스템과 관련된 상태 보고서를 제공합니다. 상태 보고서에는 파일 시스템에서 발견 된 오류가 표시 됩니다. 활성 파티션에서 /f 매개 변수 없이 chkdsk를 실행하면 드라이브를 잠글 수 없기 때문에 가짜 오류가 보고될 수 있습니다.

  • Chkdsk/f 매개 변수를 지정하는 경우에만 논리 디스크 오류를 수정합니다. Chkdsk 는 오류를 수정하기 위해 드라이브를 잠글 수 있어야 합니다.

    FAT 파일 시스템에서 복구하면 일반적으로 디스크의 파일 할당 테이블이 변경되고 데이터가 손실되는 경우가 있으므로 chkdsk 는 다음과 유사한 확인 메시지를 표시할 수 있습니다.

    10 lost allocation units found in 3 chains.
    Convert lost chains to files?
    
    • Y를 누르면 Windows는 루트 디렉토리의 손실된 각 체인을 형식의 File<nnnn>.chk이름을 가진 파일로 저장합니다. chkdsk가 완료되면 이러한 파일에 필요한 데이터가 포함되어 있는지 확인할 수 있습니다.

    • N을 누르면 Windows에서 디스크를 수정하지만 손실된 할당 단위의 내용은 저장하지 않습니다.

  • /f 매개 변수를 사용하지 않으면 chkdsk는 파일을 수정해야 한다는 메시지를 표시하지만 오류를 수정하지는 않습니다.

  • 많은 수의 파일(예: 수백만 개의 파일) chkdsk /f* 이 있는 큰 디스크 또는 디스크에서 사용하는 chkdsk /f 경우 완료하는 데 시간이 오래 걸릴 수 있습니다.

  • /r 매개변수를 사용하여 파일 시스템에서 실제 디스크 오류를 찾고 영향을 받는 디스크 섹터에서 데이터를 복구하려고 시도하십시오.

  • /f 매개 변수를 지정하면 디스크에 열려 있는 파일이 있는 경우 chkdsk는 오류 메시지를 표시합니다. /f 매개 변수를 지정하지 않고 열려 있는 파일이 있는 경우 chkdsk는 디스크에서 손실된 할당 단위를 보고할 수 있습니다. 이 문제는 열려 있는 파일이 파일 할당 테이블에 아직 기록되지 않은 경우에 발생할 수 있습니다. chkdsk가 많은 수의 할당 단위의 손실을 보고하는 경우 디스크 복구를 고려하십시오.

  • 공유 폴더에 대한 섀도 복사본을 사용하는 동안에는 공유 폴더 원본 볼륨의 섀도 복사본 을 잠글 수 없으므로 원본 볼륨에 대해 chkdsk 를 실행하면 잘못된 오류가 보고되거나 chkdsk 가 예기치 않게 종료될 수 있습니다. 그러나 읽기 전용 모드(매개 변수 없음)에서 chkdsk 를 실행하여 공유 폴더 스토리지 볼륨에 대한 섀도 복사본을 확인하여 섀도 복사본에 오류가 있는지 확인할 수 있습니다.

  • 다른 매개변수가 있는 chkdsk 명령은 복구 콘솔에서 사용할 수 있습니다.

  • 자주 다시 시작되지 않는 서버에서는 chkntfs 또는 fsutil dirty query 명령을 사용하여 chkdsk를 실행하기 전에 볼륨의 더티 비트가 이미 설정되어 있는지 여부를 판별할 수 있습니다.

chkdsk가 다른 미디어에서 수행하는 방식

  • 물리적 특성: HDD는 회전하는 마그네틱 플래터를 사용합니다. 섹터와 블록은 플래터에서 물리적으로 읽습니다.

  • chkdsk가 실행되는 경우:

    • 물리적 헤드는 확인 중인 각 데이터 위치로 이동해야 하며, 이는 기계적 움직임으로 인해 속도가 느려 집니다.
    • 불량 섹터( 사용/r)를 검사하는 것은 모든 섹터의 물리적 무결성이 확인되고 가능한 경우 불량 섹터가 교체되기 때문에 시간이 더 오래 걸립니다.
    • 대용량 드라이브의 경우 대시간 런타임이 드문 일이 아닙니다.

일반적으로 대용량 HDD /r/b 에서는 모든 섹터를 읽을 때 상당한 시간이 소요됩니다. 오류가 없고 대부분 빈 드라이브가 있어도 실제 읽기 속도 병목 현상이 발생합니다.

대용량 HDD에서 프로세스를 너무 빨리 완료할 수 있는 chkdsk 경우가 있을 수 있습니다. 이 경우 다음과 같은 상황이 발생할 수 있습니다.

  • 볼륨이 더럽게 탑재되거나 운영 체제(OS) 또는 다른 프로세스에 의해 잠깁니다.
  • chkdsk 작업은 실제로 드라이브의 모든 섹터를 스캔하지 않았습니다.
  • HDD에 실패한 읽기 헤드 또는 예측 불가능하게 동작하는 chkdsk 기타 하드웨어 문제가 있을 수 있습니다.
  • chkdsk 작업은 파일 시스템 구조에 대한 온라인 검사만 수행했으며 OS로 부팅하기 전에 오프라인 검사를 실행하기 위해 명시적으로 수행되지 않았습니다.

로그를 chkdsk 보면 검사 중에 잠재적인 문제가 발생할 수 있습니다. 자세한 내용은 chkdsk 로그 보기를 참조하세요.

종료 코드 이해

다음 표에는 chkdsk 가 완료된 후 보고하는 종료 코드가 나열되어 있습니다.

Exit code Description
0 없음 오류가 발견 되었습니다.
1 오류 발견 하 고 해결 되었습니다.
2 디스크 정리(예: 가비지 수집)를 수행했거나 /f 가 지정되지 않았기 때문에 정리를 수행하지 않았습니다.
3 디스크를 확인할 수 없거나, 오류를 수정할 수 없거나, /f 를 지정하지 않았기 때문에 오류가 수정되지 않았습니다.

Examples

D 드라이브의 디스크를 확인하고 Windows에서 오류를 수정하게 하려면 다음을 입력합니다.

chkdsk d: /f

오류가 발생하면 chkdsk 는 일시 중지하고 메시지를 표시합니다. Chkdsk 는 디스크 상태를 나열하는 보고서를 표시하여 마무리합니다. 완료될 때까지 chkdsk 지정된 드라이브에서 파일을 열 수 없습니다.

연속 되지 않은 블록에 대 한 현재 디렉터리에 FAT 디스크에 있는 모든 파일을 확인 하려면 다음을 입력 합니다.

chkdsk *.*

Chkdsk 는 상태 보고서를 표시한 다음 인접하지 않은 블록이 있는 파일 사양과 일치하는 파일을 나열합니다.

chkdsk 로그 보기

이벤트 뷰어와 PowerShell을 사용하여 Windows에서 chkdsk 로그 파일을 검색하는 데 사용할 수 있는 두 가지 방법이 있습니다.

이벤트 뷰어를 사용하여 로그를 보려면 다음 작업을 수행합니다.

  1. > > >를 시작합니다.

    또는Win + R 키를 눌러 실행 대화 상자를 열고 eventvwr.msc를 입력한 다음 확인을 선택합니다.

  2. Windows 로그를> 확장하고 응용 프로그램을> 마우스 오른쪽 버튼으로 클릭하고 현재 로그 필터링을 선택합니다.

  3. 현재 로그 필터링 창에서 이벤트 원본 드롭다운 메뉴로 이동하고, ChkdskWininit을 선택합니다.

  4. 확인을 선택하여 이 두 원본에 대한 필터링을 완료합니다.