FAT 3

#3 FAT - File Deletion

Table of Contents Abstract 본 글에서는 FAT 볼륨에서 파일 삭제 시 어떤 변화가 일어나는 지 관찰하여 정리한 글이다. 파일을 삭제할 경우 디렉토리 엔트리는 삭제 플래그인 0xE5 값을 파일 이름의 첫 바이트에 넣고, 파일이 점유하고 있던 클러스터를 모두 Free 상태로 만들기 위해 File Allocate Table 영역에서 파일이 점유하고 있던 클러스터의 체인을 따라가며 모두 0으로 변경한다. 마지막으로 파일 삭제 후 새 파일을 생성할 때 삭제된 파일 데이터가 어떻게 되는지도 알아본다. FAT에 대한 상세 내용은 아래 링크들을 참고하길 바란다. #1 FAT - File Allocate Table https://geun-yeong.tistory.com/75 #2 FAT - Dire..

#2 FAT - Directory Entry

Table of Contents Abstract 본 글에서는 FAT 파일 시스템에서의 파일 테이블 표현을 위한 디렉토리 엔트리의 구조, Long File Name을 위한 LFN 엔트리와 LFN 엔트리의 해석법, 마지막으로 트리 구조의 폴더 구조를 FAT에서는 어떻게 표현하는지를 설명한다. FAT에 대한 개요와 BPB, FAT 해석 및 FAT Chain 분석법은 앞선 글을 참고하길 바란다. #1 FAT - File Allocate Table https://geun-yeong.tistory.com/75 Directory Table Root Directory 트리 구조의 파일 구조를 지원하는 모든 파일 시스템은 디렉토리와 파일 위치의 최초 시작 지점인 루트 디렉토리가 존재한다. 리눅스 시스템에선 '/'가 루트..

#1 FAT - File Allocate Table

Table of Contents Abstract FAT는 MS에서 DOS 등 운영체제의 기본 파일 시스템으로 사용하기 위해 개발된 파일 시스템이다. Windows 2000 쯤 부터 NTFS로 기본 파일 시스템이 바뀌었지만 지금도 USB 메모리 등 다양한 곳에서 쓰이고 있다. FAT는 오늘날처럼 수십 GB 크기의 스토리지를 고려해 만든 파일 시스템이 아니기 때문에 제법 간단한 구조를 가진다. 본 글에서는 FAT 파일 시스템의 개요와 FAT 파일 시스템으로 포맷된 볼륨의 부트 섹터 구조를 FAT12/16/32 별로 구분해 설명하고 전체 클러스터 사용 내역과 파일 데이터가 저장된 클러스터 체인이 저장되는 파일 할당 테이블(FAT)도 분석하는 내용을 서술했다. 분량 상 디렉토리 엔트리는 다음 글로 미루었다. F..