이번 글에서는 Ext4의 전체적인 레이아웃과 슈퍼블록에 대해서 알아 볼 것이다.
Ext4도 결국 파일시스템 전체 레이아웃은 Ext4 파일시스템 이전버전들과 동일하다. 하지만 블록 그룹의 레이아웃이 약간 다르다.
- Group 0 padding : 32(x86)bit 시스템 부트 섹터 등을 위한 영역이며, 크기는 1024byte이다.
- Reserved GDT block : 파일시스템의 확장을 위해 예약되어 있는 영역이다.
* 참고 : 보통 슈퍼블록, 데이터 블록 비트맵, inode 비트맵은 블록 1개 크기이다.
이제 슈퍼블록을 알아보자.
- 블록 크기 계산에 필요한 필드 : 블록 크기는 아래 공식으로 계산 할 수 있다.
1) 2 ^ (10+해당 필드 값)
- 파일시스템 상태 플래그 : 파일시스템의 상태를 나타내는 필드로 Ext4 파일시스템 이전 버전들과 동일하다.
- 비 호환 기능 세트 플래그 : 비 호환성 기능을 나타내는 필드이다.
- 읽기 전용 호환 기능 세트 플래그 : 읽기 전용 호환 기능 세트 플래그를 나타내는 필드이다.
- 마운트 옵션 : 파일시스템이 마운트 될 때의 옵션을 결정하는 필드이다.
- 기타 플래그 : 비 필수 플래그를 나타내는 필드이다.
- 블록 그룹 크기 : 블록 그룹의 크기를 결정하는 필드로 아래 공식을 사용하여 블록 그룹의 크기를 구할 수 있다.
1) 2 ^ 해당 필드 값
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 (1) (0) | 2012.03.09 |
File System - UFS (9) (0) | 2012.03.08 |