본문 바로가기

File System

(7)
NTFS(New Technology File System) File System Structure Analysis 이번에 분석해볼 파일시스템은 현재 많은 사용자가 사용하고 있는 NTFS File System 입니다. FAT(File Allocation Table) File System은 개인의 운영체제 용도로 사용하기 위해서 만들어진 파일 시스템입니다. 하지만 새로운 운영체제인 Windows NT(New Technology)의 등장으로 서버용 운영체제에서 사용하기위한 다양한 기능이 필요했습니다. 그래서 FAT File System 이후에 등장한 파일 시스템이 오늘 분석해볼 NTFS File System 입니다. - NTFS Version NTFS는 Windows NT 이후에 사용하고 있으며 NTFS의 Version이 운영체제에 따라서 다릅니다. - NTFS Cluster Size 이번에는 운영체제 및 볼륨의 크기에 ..
FAT32(File Allocation Table) File System Structure Analysis 이번에 알아볼 파일시스템은 FAT32 File System 입니다. FAT32 는 FAT16 보다 좀더 복잡한 파일 구조를 가지고 있습니다. FAT16 과 FAT32의 파일구조를 한번 확인해 보겠습니다. FAT16의 Reserved Area의 크기는 1섹터로 고정이지만 FAT32의 Reserved Area 는 32섹터 입니다. 또한 총 32섹터 중에서 위의 레이아웃과 같이 0,6번 섹터는 Boot Sector 1,7번 섹터는 FSINFO 2,8섹터는 Boot Strap 입니다. 그렇다면 이번에도 Reserved Area을 살펴 보겠습니다. 1. Reserved Area (예약된 영역) - 0,6번 Sector : Boot Sector 예제 FAT32 파일의 0번 섹터인 Reserved Area를 확인해 ..
GPT(GUID Partition Table) Partition Structure Analysis 이번에 분석할 파티션은 MBR의 한계로 새로 만들어진 GPT 파티션 영역 입니다. GPT 파티션은 MBR 파티션 테이블의 파티션 용량에 제약 및 좀 더 보완된 파티션 방식을 위해서 만들어 졌습니다. MBR 파티션은 최대 크기로 2TB(0xFFFFFFFF)을 가지는데 GPT 파티션은 최대 크기로 8ZB(0xFFFFFFFFFFFFFFFF)을 가질 수 있습니다. 인텔에서 BIOS의 대체 수단으로 EFI(Extensible Firmware Interface)을 표준으로 제안했습니다. 개선된 EFI 펌웨어에서 지원하는 파티션 테이블 형식이 GPT 파티션 입니다. MBR은 4개의 주 파티션을 생성할 수 있지만 GPT는 128개의 주 파티션을 생성 할 수 있습니다. 또한 GPT 파티션에서는 CRC(Cyclical R..
MBR(Master Boot Record) Partition Structure Analysis 이번에 분석 해볼 파일은 물리적인 저장 장치에서 확인 할 수 있는 영역인 MBR 파티션 영역 입니다. 최근에는 HDD 라고 불리는 하드디스크 뿐만 아니라 솔리드 스테이트 드라이브 라고 불리는 SSD 가 생겨났습니다. SSD의 등장에 따라서 디스크의 용량이 증가 함에 따라서 MBR의 한계점이 생기게 되었습니다. 그래서 MBR이 다룰수 있는 용량의 제한으로 인해서 MBR 대신 GPT(GUID Partition Table) 라고 불리는 영역이 생기게 되었습니다. 이번 포스팅에서는 MBR 만 다루고 다음 포스팅에 GPT를 자세히 다뤄 보겠습니다. MBR은 Master Boot Record 의 약자로 저장매체의 첫번째 섹터인(0번섹터)에 위치하는 512바이트 크기의 영역입니다. 저장장치의 구조를 한번 살펴 보면 ..
exFAT(Extended File Allocation Table) File System Structure Analysis 이번에 분석할 파일은 exFAT File System 입니다. exFAT 이라고 불리지만 FAT64 라고 불리기도 합니다. exFAT 파일 시스템을 다른 파일 시스템과 볼륨 크기 및 파일의 최대 크기를 비교 해 보겠습니다. exFAT 파일의 구조를 한번 알아 보겠습니다. - Main Root Region : 주 부트 영역 - Backup Boot Region : 백업 부트 영역 - FAT Region : FAT 영역(일반 적으로 FAT #1 만 있지만 TFAT15로 설정된 경우에는 FAT #2 가 존재 합니다.) - Data Region : Data 영역 위의 exFAT 파일의 구조 중에서 Main Root Region 인 Volume Boot Record(VBR) 을 자세히 알아 보면 아래와 같습니다...
디렉터리 엔트리 분석 [Directory Entry Analysis] - SFN, LFN 디렉터리 엔트리는 Windows의 FAT 파일시스템에서 파일의 이름, 확장자, 위치, 크기등을 표현하기 위한 구조체입니다. 하나의 파일 및 디렉터리는 각각의 메타정보를 표현하기 위해 하나의 디렉터리 엔트리를 가집니다. FAT(File Allocation Table) 파일 시스템의 FAT 영역 뒤에 오는 루트 디렉터리을 살펴 보면 최상위 디렉터리에 존재하는 파일들의 디렉터리 엔트리를 확인할 수 있습니다. 파일의 메타 정보를 저장하는 디렉터리 엔트리의 구조는 32바이트 이며 구조 먼저 확인해 보면 아래와 같습니다. 위와 같은 구조를 가지는 파일을 SFN 이라고 이야기 합니다. SFN File 이란 Short File Name 의 약자로 파일명이 8바이트 이하인 파일을 이야기 합니다. 7바이트를 초과한 파일들..
FAT16(File Allocation Table) File System Structure Analysis FAT File System은 FAT12, FAT16, FAT32 로 총 3가지의 파일 시스템으로 나누어 집니다. FAT12 와 FAT16 의 차이는 클러스터(Cluster)를 표현하는 FAT Entry의 비트 수가 12개에서 16개가 된 것 외에는 동일합니다. 그렇기 때문에 FAT12말고 FAT16에 대한 내용만 알아도 충분 합니다. FAT32는 나중에 다시 다루기로 하고 FAT16에 대해서 한번 알아 보겠습니다. FAT16의 구조를 한번 알아 보겠습니다. 위처럼 크게 나눠 보면 4가지의 영역으로 구분이 가능하지만 좀더 세부적으로 나눠보면 아래와 같습니다. FAT16 구조를 보면 위와 같습니다. 먼저 Reserved Area(예약된 영역)을 공부해 보겠습니다. 1. Reserved Area (예약된 영..