티스토리 뷰
NTFS의 MFT 엔트리들
$MFT
- 엔트리 번호 : 0
- MFT 영역에 대한 MFT 엔트리
- MFT 영역의 크기, 위치, 할당 정보 저장
$MFTMirr
- 엔트리 번호 : 1
- $MFT의 백업본 저장
- $MFT의 첫 4개 엔트리를 복사하여 저장
$LogFile
- 엔트리 번호 : 2
- MFT의 트랜잭션 저널 정보 저장
- 새로운 파일 생성, 내용 및 이름 변경 등 MFT Entry에 영향을 주는 정보를 모두 기록
$Volume
- 엔트리 번호 : 3
- 볼륨의 레이블, 식별자, 버전 등의 정보 저장
$AttrDef
- 엔트리 번호 : 4
- 속성의 식별자, 이름, 크기 등의 정보 저장
.(Foot Directory)
- 엔트리 번호 : 5
- 볼륨의 루트 디렉터리를 나타냄
- INDEX 구조로 저장
$Bitmap
- 엔트리 번호 : 6
- 볼륨의 클러스터 할당 정보 저장
- 특정 클러스터가 파일 시스템에서 사용 중이면 1, 아니면 0으로 표현
$Boot
- 엔트리 번호 : 7
- 볼륨이 부팅 가능할 경우, 부트 섹터 정보 저장
$BadClus
- 엔트리 번호 : 8
- 배드 섹터를 가지는 클러스터의 정보 저장
$Secure
- 엔트리 번호 : 9
- 파일의 보안, 접근제어와 관련된 정보 저장
$Upcase
- 엔트리 번호 : 10
- 유니코드 문자의 대문자를 담음
$Extend
- 엔트리 번호 : 11
- $ObjID, $Quota, $Reparse points, $UsnJrnl 등의 추가적인 파일의 정보 기록하기 위해 사용
엔트리 번호 12~15 : 미래를 위해 예약
$ObjId
- 파일의 고유한 ID 정보 저장
$Quota
- 사용자별 할당량 정보 저장
$Reparese
- Reparse points 정보 저장
$UsnJrnl
- USN 저널 정보 버장
MFT 엔트리 구조
맨 앞부분에 48 바이트 크기의 엔트리 헤더, 이어서 Fixup, 해당 파일의 특성에 따라 여러 개의 속성들이 온다.
MFT 엔트리 헤더
- 모든 MFT 엔트리의 앞 부분에 위치하는 48 바이트 정보이며, 바이트마다 데이터 구조가 정해져있다.
Fixup
- Fixup으로 섹터의 내용이 비정상적으로 변경될 경우, 해당 데이터를 해석하기 전 오류를 사전에 찾아낼 수 있다.
- MFT 엔트리 헤더에서 Fixup과 관련된 필드는 Offset to fixup array, Number of entries in fixup array가 있다.
