Reserved Area
Reserved Area는 Boot Sector와 FSINFO 두 가지 영역으로 나뉜다.
1. Boot Sector
Boot Sector: 운영 체제가 컴퓨터를 부팅할 때 필요한 정보를 담고 있고, BIOS Parameter Block (빨간색), Boot Code (초록색), Signature (파란색)으로 나뉜다.
1. BIOS Parameter Block(BPB): 파일 시스템의 기본적인 정보를 담고 있으며, 드라이브의 구조, 파일 시스템의 크기, 섹터 크기 등을 정의하고, 시스템이 올바르게 액세스 할 수 있게 하는중요한 메타데이터를 제공한다.
Offset | Size (Byte) | Information |
0x00 ~ 02 | 3 | Jump Boot Code |
0x03 ~ 0A | 8 | OME Name (ASCII) |
0x0B ~ 0C | 2 | Bytes Per Sector (BPS) |
0x0D | 1 | Sector Per Cluster |
0x0E ~ 0F | 2 | Reserved Sector Count |
0x20 ~ 23 | 4 | Total Sector |
0x24 ~ 27 | 4 | FAT Size |
0x40 ~ 46 | 4 | Volume ID |
2. Boot Code: 부트 코드는 시스템이 부팅될 때 실행되는 코드로, 볼륨을 읽고 부팅 프로세스를 시작하는 데 필요한 지침을 포함한다.
3. Signature: Boot Sector의 끝에 위치하며, '0x55 AA'의 2Byte 값으로 구성되어 파일 시스템의 무결성을 검증하고 올바른 볼륨임을 확인하는 데 사용된다.
2. FSINFO (File System Information)
FSINFO (File System Information): Boot Sector 다음 섹터 위치하며, 디스크의 남은 공간과 할당되지 않은 클러스터의 등의 정보를 저장한다.
추가적으로, Num of Free Cluster x Sector Per Cluster x Byte Per Sector(BPS) 값으로 윈도우에 표시되는 디스크의 여유 공간을 직접 계산해 볼 수 있다. (Num of Free Cluster = 0x03 F8 FC = 260,348 (d), Sector Per Cluster = 0x08 = 8 (d), Byte Per Sector(BPS) = 0x02 00 = 512 (d)) 여유 공간 = 260,348 x 8 x 512 = 1,066,385,408 Byte
Offset | Size (Byte) | Information |
0x00 ~ 03 | 4 | Signature (ASCII: RRaA) |
0x04 ~ 483 | 480 | Unused |
0x484 ~ 487 | 4 | Signature (ASCII: rrAa) |
0x488 ~ 491 | 4 | Num of Free Cluster |
0x492 ~ 495 | 4 | Next Free Cluster |
0x496 ~ 508 | 14 | Unused |
0x508 ~ 511 | 2 | Signature (0x55 AA) |
3. Back Up
FAT32 파일 시스템은 데이터의 안정성을 위해 Boot Sector와 FSINFO Sector + 6번째 섹터에 백업 복사본을 저장한다. 이러한 백업은 원본 데이터가 손상될 경우 복구를 용이하게 하여 파일 시스템의 신뢰성을 높이는 중요한 역할을 한다.
Boot Sector (128번 섹터) + 6 섹터 = Boot Sector Back Up (134번 섹터)
FSINFO Sector (129번 섹터) + 6 섹터 = FSINFO Sector Back Up (135번 섹터)