이번 글에서는 Ext4의 전체적인 레이아웃과 슈퍼블록에 대해서 알아 볼 것이다.

Ext4도 결국 파일시스템 전체 레이아웃은 Ext4 파일시스템 이전버전들과 동일하다. 하지만 블록 그룹의 레이아웃이 약간 다르다.

[그림 1 - Ext4 블록 그룹 레이아웃]

 - Group 0 padding : 32(x86)bit 시스템 부트 섹터 등을 위한 영역이며, 크기는 1024byte이다.

 - Reserved GDT block : 파일시스템의 확장을 위해 예약되어 있는 영역이다.

 * 참고 : 보통 슈퍼블록, 데이터 블록 비트맵, inode 비트맵은 블록 1개 크기이다.

 이제 슈퍼블록을 알아보자.

[슈퍼블록]
Ext4에서도 슈퍼블록의 역할을 대부분 비슷하다. 슈퍼블록에는 sprase_super라는 플래그 기능이 있는데 이 플래그가 설정 되면 슈퍼블록 및 그룹 기술자 백업본은 그룹 번호, 0, 3, 5, 7에 존재하게 되며 플래그가 설정되어 있지 않으면 모든 그룹에 존재하게 된다. 아래는 슈퍼블록의 오프셋 구조이다.

[그림 1 - 슈퍼블록 오프셋]

 - 블록 크기 계산에 필요한 필드 : 블록 크기는 아래 공식으로 계산 할 수 있다.
     1)   2 ^ (10+해당 필드 값) 

 - 파일시스템 상태 플래그 : 파일시스템의 상태를 나타내는 필드로 Ext4 파일시스템 이전 버전들과 동일하다. 


 - 오류 감지 후 행위 플래그 : 오류 감지 후 어떠한 조치를 취해야 할지 결정 해주는 플래그가 설정되는 필드로 Ext4 파일시스템 이전 버전들과 동일하다.


 - OS 종류 : 해당 파일시스템을 생성한 OS 종류를 나타내는 필드로 Ext4 파일시스템 이전 버전들과 동일하다. 


 - 레벨 플래그 : 파일시스템 버전을 나타내는 필드로 Ext4 파일시스템 이전 버전들과 동일하다.

 - 호환 기능 세트 플래그 : 호환성 기능을 나타내는 필드로 Ext4 파일시스템 이전 버전들과는 조금 차이가 있다.

[그림 2 - 호환 기능 세트 플래그]

 - 비 호환 기능 세트 플래그 : 비 호환성 기능을 나타내는 필드이다.

[그림 3 - 비 호환 기능 세트 플래그]

 - 읽기 전용 호환 기능 세트 플래그 : 읽기 전용 호환 기능 세트 플래그를 나타내는 필드이다.

[그림 4 - 읽기 전용 호환 기능 세트 플래그]

 

 - 디렉토리 해시에 사용할 해시 알고리즘 : 디렉토리 해시 알고리즘을 나타내는 필드이다.

[그림 5 - 디렉토리 해시 알고리즘 플래그 목록]

 - 마운트 옵션 : 파일시스템이 마운트 될 때의 옵션을 결정하는 필드이다.

[그림 6 - 마운트 옵션 플래그]

 - 기타 플래그 : 비 필수 플래그를 나타내는 필드이다.

[그림 7 - 기타 플래그 목록]

 - 블록 그룹 크기 : 블록 그룹의 크기를 결정하는 필드로 아래 공식을 사용하여 블록 그룹의 크기를 구할 수 있다.
     1) 2 ^ 해당 필드 값 

 

'[+] Forensic' 카테고리의 다른 글

File System - Ext4 (4)  (0) 2012.03.11
File System - Ext4 (3)  (0) 2012.03.11
File System - Ext4 (2)  (0) 2012.03.09
File System - Ext4 (1)  (0) 2012.03.09
File System - UFS (9)  (0) 2012.03.08

+ Recent posts