Skip to content

[파일 시스템] MBR 파일 시스템을 분석한다.

Notifications You must be signed in to change notification settings

bob13-dev-practice/MBR-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

MBR-parser

[파일시스템] 주어진 증거 이미지를 읽어서 다음과 같은 결과를 출력하는 프로그램을 작성한다.

FAT32 1024 1024768
NTFS 1025792 1024768

RUN

 python3 mbr_parser.py mbr_128.dd

디스크 파티션 관련 용어

  • MBR(Master Boot Record)
    • 디스크의 첫 번째(0번) 섹터에 위치한 부트 레코드이다.
    • 시스템이 부팅될 때 가장 먼저 읽히는 정보이다.
    • 부트 로더와 함께 파티션 테이블 정보가 포함되어 있다. 즉, MBR은 디스크 전체에 대한 정보(파티션 구조)를 관리하는 역할을 한다.
    • 최대 4개의 파티션을 지원한다.
      • 4개의 기본 파티션
      • 3개의 기본 파티션 + 1개의 확장 파티션
    • 최대 2TB 크기의 디스크를 지원한다.
  • EBR(Extended Boot Record)
    • 확장 파티션 안에 위치한 부트 레코드이다.
    • MBR에서 정의된 확장 파티션의 내부에서 추가 파티션을 관리하는 데 사용된다.
    • EBR을 통해 여러 개의 논리 파티션을 만들 수 있다.
    • 각 EBR은 다음 EBR의 위치에 대한 정보를 포함하여 체인처럼 연결된다.
  • VBR (Volume Boot Record)
    • 각 파티션의 첫 번째 섹터에 위치한 부트 레코드이다.
    • 해당 파티션을 부팅하기 위한 정보를 포함하고 있다.
    • 운영체제가 설치된 파티션에서 부팅을 수행하는 데 필요하다.

💡 섹터란?

컴퓨터 저장장치에서 데이터를 저장하는 기본 단위이다.

  • 일반적으로 한 섹터의 크기는 512바이트이다.
  • 파일 시스템이 읽고 쓰는 기본 단위로, 파일이나 데이터가 저장될 때 여러 섹터에 나누어 저장된다.
  • 각 섹터는 물리적 주소를 갖고 있어 운영체제나 파일 시스템이 주소를 찾고 접근할 수 있다.

MBR(Master Boot Record)

Boot Code

MBR의 첫 번째 섹터에 위치한 코드로, 시스템이 부팅할 때 실행되는 프로그램이다.

Partition Table Entry

  • 엔트리 하나의 크기는 16바이트이다.

  • Partition Type: 파티션의 종류

  • LBA Address of Start: 파티션의 시작 위치

  • Number of sectors: 파티션의 사이즈

  • 예시 1) 첫 번째 엔트리 분석

    80 20 21 00 07 DF 13 0C 00 08 00 00 00 00 20 03 00

    • 부팅 여부: 80
    • CHS Address: 00 21 20
    • Partition Type: 07
    • CHS Address: 0C 13 DF
    • LBA Address of Start: 00 00 08 00
    • Number of sectors: 00 03 20 00

💡 리틀 엔디안 방식에 따라 값을 읽어야 한다.

Signature

  • MBR의 마지막 두 바이트에 위치한 값이다.
  • 주로 부트 레코드의 유효성을 검증하는 데 사용된다.
  • 0x55AA로 정의한다.

EBR

  • Partition Table Entry와 Signature만 존재한다.

  • EBR이 존재하면 보통 첫 번째 엔트리만 사용하고 두 번째 엔트리는 다음 EBR의 위치를 가리킨다. 만약 두 번째 엔트리에 값이 없다면 이는 마지막 파티션임을 의미한다.

  • 마지막 2개의 엔트리는 사용하지 않는다.

About

[파일 시스템] MBR 파일 시스템을 분석한다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages