3. MBR – Master Boot Record
• GPT와 MBR이 존재
• 디스크의 가장 첫번째 섹터(512KB)에 위치한 영역.
• 부팅 과정 중 Power on Self-Test를 거친 후 호출 됨.
• 최대 2TB의 디스크까지 커버 가능
• 파티션 테이블에 최대 4개의 주 파티션 혹은
3개의 주 파티션과 1개의 확장 파티션으로 구성 가능.
• 마지막 2바이트는 무조건 0XAA55 라는 서명이 차지.
8. NTFS Volume
• Sector(512Byte) – 디스크에 ‘데이터’를 저장하는 가장 작은 단위. 클러스터를 이룸.
• Cluster(4KB) – 디스크에 ‘파일’을 저장하는 가장 작은 단위 (2GB 이상의 디스크는 4KB)
• LCN(logical cluster Numbers) – 파티션의 처음 클러스터부터 순서대로 메겨지는 번호
• VCN(Virtual Cluster Numbers – 파일을 이루는 첫번째 클러스터부터 순서대로 부여된 번호
• MFT(Master File Table) – 파일의 속성같이 파일에 관한 정보를 담은 레코드.
10. VBR – NTFS boot Sector
• 부트코드 OEM ID(“NTFS”), BPB(Bios Parameter Block)가 존재.
• MFT(Master File Table) – 파일의 속성같이 파일에 관한 정보를 담은 레코드.
• BPB에는 MFT의 LCN, sector의 크기, cluster의 크기, 총 섹터의 수 등
파티션에 대한 정보가 존재.
• 클러스터 사이즈에 따라 크기가 정해짐(4KB의 경우 VBR = 8 sector)
• 첫 섹터 외 나머지 섹터는 부트로더(NTLDR)의 빠른 로딩을 위해
위치 등의 추가 정보가 위치하며, $FILE_NAME Attribute를
트리 구조로 인덱싱하여 빠르게 NTLDR의 위치를 찾을 수 있다.
12. MFT – Master File Table
• 파일 레코드로 이루어진 배열로, 각각의 파일 레코드는 1KB로 고정되어 있음.
각 파일과 폴더 하나에 레코드가 대응.
• MFT안에 파일을 저장할때 사용하는 구조, 해당 블록의 사용 상태를 나타내는 비트맵 등
NTFS metadata를 저장하고 있음.
• MFT 자신도 $MFT 파일로 MFT entry안에 존재.
• $LogFile에는 NTFS structure에 영향을 끼치는 모든 명령을 저장.
• $Bitmap은 각 클러스터의 사용여부를 나타내고 있음.
• $boot의 경우 부팅 가능한 볼륨일 경우 부트스트랩 코드가 저장됨. 아닐 경우 에러메시지 출력.
• MFT만 사용하는 목적의 ‘MFT zone’ 을 디스크 일정 비율로 할당. 용량이 부족할 시 무시하고 사용.
16. NTFS File Record Attributes
• NTFS 관점에서 파일은 file attribute의 집합체.
• $STANDARD_INFORMATION – 파일의 최근 생성, 접근, 수정시간 등 일반적인 정보
• $OBJECT_ID – 파일과 디렉터리의 128bit unique-id
• $DATA – 파일 내용
• $INDEX_ROOT – 루트 노트 정보
• $INDEX_ALLOCATION – 하위 노드 정보
• $DATA의 크기가 각 엔트리의 크기인 1KB를 넘을 시 각 속성의 기본 속성인 Non-Resident 속성의 플래그
• 1이 되고, Cluster run을 만들어 클러스터의 시작 오프셋, 길이를 기록.
다른 엔트리에 데이터를 저장하게 됨.
20. 출처
• 파일시스템 4_3 NTFS 속성 - http://blog.naver.com/bitnang/70184584840
• How NTFS Works: Local File Systems –
• https://technet.microsoft.com/en-us/library/cc781134(v=ws.10).aspx
• MBR (Master Boot Record) | FORENSIC-PROOF - http://forensic-proof.com/archives/435
• MBR 이야기 - MBR 과 EBR 의 파티션 테이블 엔트리 정보의 해석
• :: 캐플 블로그 - http://cappleblog.co.kr/590
• Difference FileID(File Reference Number) and object id in mft –
• http://www.osronline.com/showThread.cfm?link=1400
• Windows Internals 6th – Mark E. Russinovich and David A.Solomon with Alex lonescu