NTFS 볼륨에서 디스크 공간 문제 찾기 및 수정

이 문서에서는 NTFS 파일 시스템의 디스크 공간 할당을 검사 잘못된 파일 및 폴더를 검색하거나 Microsoft Windows Server 2003 기반 컴퓨터에서 볼륨 손상을 찾는 방법을 설명합니다.

적용 대상: Windows Server 2003
원래 KB 번호: 814594

요약

NTFS는 사용 가능한 디스크 공간이 손실되거나 잘못 보고될 수 있는 많은 볼륨 및 파일 수준 기능을 지원합니다. 예를 들어 NTFS 볼륨이 아무 이유 없이 갑자기 가득 차는 것처럼 보일 수 있으며 관리자는 원인을 찾거나 잘못된 폴더 및 파일을 찾을 수 없습니다. 대용량 파일 또는 대량의 작은 파일이 비밀리에 복사되는 NTFS 볼륨에 대한 악의적이거나 무단 액세스가 발생한 경우 발생할 수 있습니다. 그런 다음 이러한 파일에는 NTFS 권한이 제거되거나 제한됩니다. 이 동작은 컴퓨터 오작동이나 정전으로 인해 볼륨이 손상된 후에도 발생할 수 있습니다.

NTFS 볼륨의 디스크 공간 할당은 다음과 같은 이유로 잘못 보고된 것처럼 보일 수 있습니다.

  • NTFS 볼륨의 클러스터 크기가 너무 커서 저장된 평균 크기 파일의 크기가 너무 큽니다.
  • 파일 특성 또는 NTFS 권한은 Windows Explorer 또는 Windows 명령 프롬프트가 파일 또는 폴더를 표시하거나 액세스하는 것을 방지합니다.
  • 폴더 경로가 255자를 초과합니다.
  • 폴더 또는 파일에 유효하지 않거나 예약된 파일 이름이 포함됩니다.
  • NTFS 메타파일(예: 마스터 파일 테이블)이 증가했으며 할당을 해제할 수 없습니다.
  • 파일 또는 폴더에는 대체 데이터 스트림이 포함됩니다.
  • NTFS 손상으로 인해 사용 중인 것으로 보고되는 사용 가능한 공간이 발생합니다.
  • 다른 NTFS 기능은 파일 할당 혼동을 일으킬 수 있습니다.

다음 정보는 NTFS 볼륨이 디스크 공간을 사용하는 방법을 최적화, 복구 또는 더 잘 이해하는 데 도움이 될 수 있습니다.

클러스터 크기가 너무 큽니다.

MFT(마스터 파일 테이블), 폴더 인덱스 등과 같은 내부 NTFS 메타파일을 포함하는 파일 및 폴더만 디스크 공간을 사용할 수 있습니다. 이러한 파일 및 폴더는 클러스터의 배수를 사용하여 모든 파일 공간 할당을 사용합니다. 클러스터는 연속 섹터의 컬렉션입니다. 클러스터 크기는 볼륨의 형식을 지정할 때 파티션 크기에 따라 결정됩니다.

파일을 만들 때 초기 파일 크기에 따라 디스크 공간의 단일 클러스터를 최소로 사용합니다. 나중에 데이터가 파일에 추가되면 NTFS는 클러스터 크기의 배수로 파일 할당을 늘립니다.

현재 클러스터 크기 및 볼륨 통계를 확인하려면 명령 프롬프트에서 읽기 전용 chkdsk 명령을 실행합니다. 제거하려면 다음 단계를 수행합니다.

  1. 시작을 클릭하고 실행을 클릭하고 cmd를 입력한 다음 확인을 클릭합니다.

  2. 명령 프롬프트에서 명령을 chkdsk d:입력합니다.

    여기서 d: 검사 드라이브의 문자입니다.

  3. 확인을 클릭합니다.

  4. 결과 출력을 봅니다. 예를 들면

    총 디스크 공간 4096543. <--- 형식이 지정된 총 디스크 용량입니다.
    19901년 파일에서 KB를 2906360. <--- 사용자 파일 데이터에 사용되는 공간입니다.
    1301개 인덱스의 6344KB <--- NTFS 인덱스에서 사용되는 공간입니다.
    나쁜 섹터에서 0KB. <--- 스페이스는 나쁜 섹터에 손실.
    시스템에서 사용 중인 49379KB입니다. <--- MFT 및 기타 NTFS 메타파일을 포함합니다.
    로그 파일이 차지하는 22544KB입니다. <--- NTFS 로그 파일 - (chkdsk /L:size를 사용하여 조정할 수 있습니다.
    1134460 디스크에서 사용할 수 있는 KB입니다. <사용 가능한 사용 가능한 디스크 공간 ---

    각 할당 단위의 4096바이트입니다. <--- 클러스터 크기입니다. (4K)
    디스크의 총 할당 단위를 1024135. <디스크의 총 클러스터를 ---.
    디스크에서 사용할 수 있는 할당 단위를 283615. <사용 가능한 무료 클러스터를 ---.

참고

출력이 보고하는 각 값을 KB(KB)로 곱하여 정확한 바이트 수를 결정합니다. 예: 2906360 x 1024 = 2,976,112,640바이트 이 정보를 사용하여 디스크 공간을 사용하는 방법과 기본 클러스터 크기를 확인할 수 있습니다.

이것이 최적의 클러스터 크기인지 확인하려면 디스크에서 낭비되는 공간을 결정해야 합니다. 제거하려면 다음 단계를 수행합니다.

  1. 시작을 클릭하고 내 컴퓨터를 클릭한 다음 해당 볼륨의 드라이브 문자(예: D)를 두 번 클릭하여 볼륨을 열고 루트에 포함된 폴더와 파일을 표시합니다.

  2. 파일 또는 폴더를 클릭한 다음 편집 메뉴에서 모두 선택을 클릭합니다.

  3. 모든 파일 및 폴더를 선택한 상태에서 파일 또는 폴더를 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 일반 탭을 클릭합니다.

    일반 탭은 전체 볼륨에 있는 파일 및 폴더의 총 수를 표시하고 두 가지 파일 크기 통계인 SIZESIZE ON DISK를 제공합니다.

볼륨에 포함된 파일 또는 폴더에 대해 NTFS 압축을 사용하지 않는 경우 클러스터 크기가 필요 이상으로 크기가 크기 때문에 SIZE ON DISK와 SIZE ON DISK의 차이는 일부 낭비된 공간을 나타낼 수 있습니다. SIZE ON DISK 값이 가능한 한 SIZE 값에 가까워지도록 더 작은 클러스터 크기를 사용할 수 있습니다. SIZE ON DISK와 SIZE 값의 큰 차이는 볼륨에 저장하는 평균 파일 크기에 비해 기본 클러스터 크기가 너무 크다는 것을 나타냅니다.

볼륨을 다시 포맷하여 사용 중인 클러스터 크기만 변경할 수 있습니다. 이렇게 하려면 볼륨을 백업한 다음 format 명령과 /a 스위치를 사용하여 적절한 할당을 지정하여 볼륨의 서식을 지정합니다. 예: format D: /a:2048 (이 예제에서는 2KB 클러스터 크기를 사용합니다.)

참고

또는 NTFS 압축을 사용하도록 설정하여 잘못된 클러스터 크기로 인해 손실된 공간을 되찾을 수 있습니다. 그러나 이로 인해 성능이 저하 될 수 있습니다.

파일 특성 또는 NTFS 권한

Windows Explorer 및 디렉터리 목록 명령은 dir /a /s 모두 액세스 권한이 있는 파일 및 폴더에 대한 총 파일 및 폴더 통계를 표시합니다. 기본적으로 숨겨진 파일 및 보호된 운영 체제 파일은 제외됩니다. 이 동작으로 인해 Windows Explorer 또는 dir 명령이 부정확한 파일 및 폴더 합계 및 크기 통계를 표시할 수 있습니다.

전체 통계에 이러한 형식의 파일을 포함하려면 폴더 옵션을 변경합니다. 제거하려면 다음 단계를 수행합니다.

  1. 시작을 클릭하고 내 컴퓨터를 클릭한 다음 볼륨의 드라이브 문자(예: D)를 두 번 클릭합니다. 그러면 볼륨이 열리고 루트에 포함된 폴더와 파일이 표시됩니다.
  2. 도구 메뉴에서 폴더 옵션을 클릭한 다음 보기 탭을 클릭합니다.
  3. 숨겨진 파일 및 폴더 검사 표시 상자를 선택한 다음, 클릭하여 보호된 운영 체제 파일 숨기기 검사 상자의 선택을 취소합니다.
  4. 경고 메시지가 표시되면 예를 클릭한 다음 적용 단추를 클릭합니다. 이렇게 변경하면 Windows Explorer 및 dir /a /s 명령이 볼륨에 포함된 모든 파일 및 폴더에 사용자가 액세스할 수 있는 권한을 부여할 수 있습니다.

액세스할 수 없는 폴더와 파일을 확인하려면 다음 단계를 수행합니다.

  1. 명령 프롬프트에서 명령의 출력에서 텍스트 파일을 만듭니다 dir /a /s .

    예: 명령 프롬프트에서 명령을 dir d: /a /s >c:\d-dir.txt입력합니다.

  2. 백업 또는 복원 마법사를 시작합니다.

    1. 시작을 클릭하고 실행을 클릭하고 ntbackup을 입력한 다음 확인을 클릭합니다.
    2. 고급 모드를 클릭합니다.
  3. 도구 메뉴에서 옵션을 클릭하고 백업 로그 탭을 클릭하고 자세히를 클릭한 다음 확인을 클릭합니다.

  4. 백업 유틸리티에서 백업 탭을 클릭한 다음 영향을 받는 전체 볼륨(예: D:)에 대한 검사 상자를 선택한 다음 백업 시작을 클릭합니다.

  5. 백업이 완료되면 백업 보고서를 열고 NTBackup 로그 출력 폴더의 폴더를 1단계에서 저장한 d-dir.txt 출력과 비교합니다.

백업은 모든 파일에 액세스할 수 있으므로 보고서에 Windows Explorer 및 dir 명령이 표시하지 않는 폴더와 파일이 포함될 수 있습니다. Windows Explorer 사용하여 액세스할 수 없는 대용량 파일 또는 폴더를 검색하려는 경우 볼륨을 백업하지 않고 NTBackup 인터페이스를 사용하여 볼륨을 찾는 것이 더 쉬울 수 있습니다.

액세스할 수 없는 파일을 찾은 후 Windows Explorer 파일 또는 폴더의 속성을 보는 동안 보안 탭을 사용하여 권한을 추가하거나 변경할 수 있습니다. 기본적으로 시스템 볼륨 정보 폴더에 액세스할 수 없습니다. 명령에 폴더 dir /a /s 를 포함하려면 올바른 권한을 추가해야 합니다.

보안 탭이 없는 폴더 또는 파일을 볼 수 있습니다. 또는 영향을 받는 폴더 및 파일에 권한을 다시 할당하지 못할 수 있습니다. 액세스하려고 할 때 다음 오류 메시지가 표시될 수 있습니다.

D:\folder_name\에 액세스할 수 없습니다.

액세스가 거부됨

이러한 폴더가 있는 경우 Microsoft 제품 지원 서비스에 문의하여 추가 도움을 받으세요.

잘못된 파일 이름

잘못되었거나 예약된 파일 이름을 포함하는 폴더 또는 파일도 파일 및 폴더 통계에서 제외될 수 있습니다. 선행 또는 후행 공백이 포함된 폴더 또는 파일은 NTFS에서 유효하지만 Win32 하위 시스템 관점에서는 유효하지 않습니다. 따라서 Windows Explorer 명령 프롬프트도 안정적으로 작동할 수 없습니다.

이러한 파일 또는 폴더의 이름을 바꾸거나 삭제할 수 없습니다. 이렇게 하려고 하면 다음 오류 메시지 중 하나가 나타날 수 있습니다.

파일 또는 폴더 이름을 바꾸는 동안 오류가 발생했습니다.

파일 이름을 바꿀 수 없음: 원본 파일 또는 디스크에서 읽을 수 없습니다.

또는

파일 또는 폴더를 삭제하는 동안 오류가 발생했습니다.

파일을 삭제할 수 없음: 원본 파일 또는 디스크에서 읽을 수 없습니다.

삭제하거나 이름을 바꿀 수 없는 폴더나 파일이 있는 경우 Microsoft 제품 지원 서비스에 문의하세요.

NTFS MFT(마스터 파일 테이블) 확장

NTFS 볼륨을 만들고 서식을 지정하면 NTFS 메타파일이 만들어집니다. 이러한 메타파일 중 하나는 MFT(마스터 파일 테이블)라고 합니다. 만들 때는 작지만(약 16KB), 볼륨에 파일 및 폴더가 만들어지면 증가합니다. 파일이 만들어지면 MFT에 FRS(파일 레코드 세그먼트)로 입력됩니다. FRS는 항상 1024바이트(1KB)입니다. 파일이 볼륨에 추가되면 MFT가 증가합니다. 그러나 파일이 삭제되면 연결된 FRS는 재사용이 가능한 것으로 표시되지만 총 FRS 및 관련 MFT 할당은 그대로 유지됩니다. 따라서 많은 수의 파일()을 삭제한 후 MFT에서 사용하는 공간을 다시 확보하지 않습니다.

MFT의 규모를 정확하게 확인하려면 기본 제공 조각 모음을 사용하여 볼륨을 분석할 수 있습니다. 결과 보고서는 MFT의 조각 크기와 수에 대한 자세한 정보를 제공합니다.

예를 들면

MFT(마스터 파일 테이블) 조각화
총 MFT 크기 = 26,203KB
MFT 레코드 수 = 21,444
사용 중인 MFT 백분율 = 81%
총 MFT 조각 = 4

그러나 전체 NTFS에서 사용하는 공간(오버헤드)에 대한 자세한 내용은 chkdsk.exe 명령을 실행한 다음 다음 줄의 출력을 확인합니다.

시스템에서 사용합니다.

현재 타사 조각 모음만 사용되지 않는 MFT FRS 레코드를 통합하고 사용되지 않는 MFT 할당 공간을 회수합니다.

대체 데이터 스트림

NTFS는 파일 및 폴더에 대체 데이터 스트림을 포함하도록 허용합니다. 이 기능을 사용하면 여러 데이터 할당을 단일 파일 또는 폴더와 연결할 수 있습니다. 파일 및 폴더에서 대체 데이터 스트림을 사용하는 경우 다음과 같은 제한 사항이 있습니다.

  • Windows Explorer 및 dir 명령은 파일 크기 또는 볼륨 통계의 일부로 대체 데이터 스트림의 데이터를 보고하지 않습니다. 대신 기본 데이터 스트림에 대한 총 바이트만 표시합니다.
  • chkdsk의 출력은 대체 데이터 스트림을 포함하여 사용자의 데이터 파일이 사용하는 공간을 정확하게 보고합니다.
  • 디스크 할당량은 사용자의 데이터 파일의 일부인 모든 데이터 스트림 할당을 정확하게 추적하고 보고합니다.
  • NTBackup은 백업 로그 보고서에 백업된 바이트 수를 기록합니다. 그러나 대체 데이터 스트림을 포함하는 파일은 표시되지 않습니다. 또한 대체 스트림에 데이터가 포함된 파일의 정확한 파일 크기는 표시되지 않습니다.

NTFS 파일 시스템 손상

드문 경우지만 NTFS 메타파일 $MFT 또는 $BITMAP 손상되어 디스크 공간이 손실될 수 있습니다. 볼륨에 대해 명령을 실행 chkdsk /f 하여 이 문제를 식별하고 해결할 수 있습니다. chkdsk 끝부분에서 master 파일 테이블(MFT) BITMAP 특성에서 $BITMAP:수정 오류를 조정해야 하는 경우 다음 메시지가 표시됩니다. CHKDSK는 볼륨 비트맵에 할당된 것으로 표시된 사용 가능한 공간을 발견했습니다. Windows에서 파일 시스템을 수정했습니다.

파일 할당 혼동을 일으킬 수 있는 기타 NTFS 기능

NTFS는 볼륨 탑재 지점 및 디렉터리 접합을 만들 수 있는 하드 링크 및 재분석 지점도 지원합니다. 이러한 추가 NTFS 기능은 물리적 볼륨이 소비하는 공간을 확인하려고 할 때 혼동을 일으킬 수 있습니다.

하드 링크는 파일 데이터가 해당 볼륨에 있는 위치에 관계없이 파일에 대한 디렉터리 항목입니다. 모든 파일에는 하나 이상의 하드 링크가 있습니다. NTFS 볼륨에서 각 파일에는 여러 하드 링크가 있을 수 있으므로 단일 파일이 여러 폴더(또는 이름이 다른 동일한 폴더)에 나타날 수 있습니다. 모든 링크가 동일한 파일을 참조하기 때문에 프로그램은 링크를 열고 파일을 수정할 수 있습니다. 파일 시스템에 대한 모든 링크가 삭제된 후에만 파일이 삭제됩니다. 하드 링크를 만든 후 프로그램에서 다른 파일 이름처럼 사용할 수 있습니다.

참고

Windows Explorer 및 명령 프롬프트는 연결된 모든 파일이 모두 동일한 데이터를 공유하고 실제로 해당 양의 디스크 공간을 사용하지 않더라도 동일한 크기로 표시됩니다.

볼륨 탑재 지점 및 디렉터리 접합을 사용하면 NTFS 볼륨의 빈 폴더가 다른 볼륨의 루트 또는 하위 폴더를 가리킬 수 있습니다. Windows Explorer 및 dir /s 명령은 재분석 지점을 따르고 대상 볼륨의 파일 및 폴더를 계산한 다음 호스트 볼륨의 통계에 포함합니다. 이렇게 하면 실제로 사용되는 것보다 호스트 볼륨에 더 많은 공간이 사용되고 있다고 생각하게 될 수 있습니다.

요약하면 chkdsk 출력, NTBackup GUI 또는 백업 로그 및 디스크 할당량 보기를 사용하여 디스크 공간이 볼륨에서 사용되는 방식을 확인할 수 있습니다. 그러나 Windows Explorer 및 dir 명령에는 이러한 용도로 사용할 때 몇 가지 제한 사항과 단점이 있습니다.