MFT(Master File Table)

MFT 파일은 NTFS 파일 시스템에서 파일, 디렉터리, 메타데이터를 모두 파일 형태로 관리하는 파일 입니다. FAT 파일시스템에서 본 디렉터리 엔트리의 상위 개념이라고 이야기 할 수 있습니다.

MFT 영역을 구조상으로 확인해 보면 아래와 같습니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/764d4b3a-b3f5-409a-9eef-6c2bb5322692/Untitled.png

각 파일의 위치 및 속성, 시간정보, 이름, 크기등의 파일 메타 데이터는 MFT Entry 라는 특별한 구조를 통해서 저장됩니다. MFT는 NTFS 상에 존재하는 모든 파일의 MFT Entry를 가지고 있는 모음입니다.

MFT 영역은 파일 시스템 상의 파일 수에 따라 동적으로 할당 합니다. 파일 시스템의 전체 영역 중에서 12.5% 정도가 MFT 영역으로 할당 되어 있으며, MFT Entry의 0~15번은 파일 시스템의 예약된 영역으로 사용됩니다.

이제 직접 $MFT 영역을 찾아 보겠습니다. BPB 영역에서 0x30~0x37 까지의 부분이 $MFT의 클러스터 위치였다. 또한 0x38~0x3F 까지의 부분이 $MFTMirr의 클러스터 위치이다.

Start Cluster for $MFT : 0x19AA(Cluster) = 0x19AA * 8(Sector Per Cluster) = 52560 섹터 Start Cluster for $MFTMirr : 0x2(Cluster) = 0x2 * 8(Sector Per Cluster) = 16 섹터

$MFT 와 $MFTMirr 의 Hex값을 확인해 보겠습니다

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/b25956b6-c5ae-49dd-b0ef-d529497fafff/Untitled.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2011d25a-5bc1-4bdb-a6c4-46ef0764832e/Untitled.png

2개의 $MFT 파일이 같다는 것을 알 수 있습니다. MFT 영역에서 MFT Entry에 대해서 한번 구조적으로 확인해 보면 아래와 같습니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f2b74395-655b-4192-81de-74c6a23c6325/Untitled.png

MFT Entry 0~15번까지는 파일 시스템의 예약된 영역으로 사용하는데 아래와 같이 정해져 있다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/46221d06-0db3-4c69-b4de-568c360d6389/Untitled.png

위와 같은 구조로 MFT 영역을 한번 알아 보았다. 각각의 MFT Entry의 영역을 알아볼 차례이다.

MFT Entry Structure Layout은 아래와 같다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/87c916b0-4adf-4636-82b6-0872a18c6784/Untitled.png

MFT Entry Header

MFT Entry Header 는 MFT Entry의 메타데이터 정보를 담고 있는 48바이트의 영역입니다. 예시을 통해 MFT Entry Header을 확인해 보겠습니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2c735a6e-2a9f-434e-aed0-c387d32a2bfb/Untitled.png

MFT Entry Header의 레이아웃을 한번 확인해 보자.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5979dbb4-3cad-4542-ab8b-26be40191945/Untitled.png

MFT Entry Header에 포함되어 있는 정보를 확인해 보자.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/fb78d380-e4a0-44d0-8dea-0e6e9e3457d1/Untitled.png