Bab 2: MBR vs GPT — Bagaimana Sistem Operasi Menemukan Dirinya

Pada artikel sebelumnya, kita telah membahas transisi fundamental dari BIOS ke UEFI. Namun, sebelum kode program RezaOS dapat dieksekusi oleh CPU, firmware harus terlebih dahulu memahami struktur data yang ada di dalam media penyimpanan (SSD/HDD). Di sinilah letak perbedaan krusial antara skema partisi MBR (Master Boot Record) yang tradisional dan GPT (GUID Partition Table) yang modern.

Artikel ini akan membedah secara teknis bagaimana skema partisi bekerja dan mengapa GPT menjadi pondasi wajib bagi setiap sistem operasi modern.


1. Master Boot Record (MBR): Keterbatasan 512 Byte

MBR diperkenalkan pertama kali pada tahun 1983 dengan PC DOS 2.0. Strukturnya sangat sederhana namun sangat kaku. Seluruh informasi mengenai proses booting dan pembagian partisi harus muat dalam satu sektor tunggal sebesar 512 byte.

Anatomi Sektor MBR:

  • 446 Byte Pertama: Berisi Bootstrap Code. Di sinilah kode Assembly (biasanya untuk BIOS Legacy) diletakkan.
  • 64 Byte Berikutnya: Berisi Tabel Partisi. Karena setiap entri partisi membutuhkan 16 byte, maka MBR secara fisik hanya mendukung maksimal 4 partisi utama.
  • 2 Byte Terakhir: Signature bootable 0x55AA.

Mengapa MBR “Pensiun”?

Masalah utama MBR adalah ia menggunakan nilai 32-bit untuk menentukan alamat sektor (LBA). Dengan ukuran sektor standar 512 byte, kapasitas maksimal yang dapat dihitung adalah:

232×512 byte=2.199.023.255.552 byte𝟐.𝟐 TB2^{32} \times 512 \text{ byte} = 2.199.023.255.552 \text{ byte} \approx \mathbf{2.2 \text{ TB}}

Artinya, jika Anda memiliki harddisk 10 TB, sisa kapasitas di atas 2.2 TB tidak akan pernah bisa diakses atau dipartisi menggunakan skema MBR.


2. GUID Partition Table (GPT): Era Tanpa Batas

GPT adalah bagian dari spesifikasi UEFI. Sesuai namanya, ia menggunakan GUID (Globally Unique Identifier) untuk setiap partisi, memastikan bahwa setiap partisi di seluruh dunia memiliki ID yang unik.

Struktur Fisik GPT:

Berbeda dengan MBR yang hanya berada di awal disk, GPT memiliki struktur yang lebih aman:

  1. LBA 0 (Protective MBR): Digunakan untuk kompatibilitas (akan dijelaskan di bawah).
  2. LBA 1 (Primary GPT Header): Berisi informasi ukuran disk, lokasi tabel partisi, dan nilai CRC32 untuk pengecekan integritas.
  3. LBA 2 s/d 33 (Partition Entries): Menyimpan data partisi. GPT secara standar mendukung 128 partisi tanpa perlu “Extended Partition” yang rumit seperti pada MBR.
  4. Backup GPT: GPT menyimpan salinan header dan tabel partisi di sektor paling akhir disk. Jika bagian awal disk rusak, firmware dapat memulihkan data partisi dari salinan cadangan ini.

3. Jembatan Kompatibilitas: Protective MBR

Mungkin Anda bertanya, “Jika UEFI menggunakan GPT, mengapa di sektor pertama (LBA 0) masih sering terlihat jejak MBR?”

Ini disebut Protective MBR. UEFI menempatkan sebuah partisi palsu berukuran penuh (yang mencakup seluruh disk) di sektor pertama. Tujuannya adalah untuk keamanan. Jika disk GPT dimasukkan ke sistem lama (yang hanya paham MBR), sistem lama tersebut akan melihat disk ini sebagai satu partisi besar yang tidak dikenal, sehingga ia tidak akan mencoba memformat atau menghapus data di dalamnya.


4. EFI System Partition (ESP): Jantung RezaOS

Inilah perbedaan paling mencolok bagi pengembang sistem operasi.

  • Di BIOS/MBR: Anda harus menaruh kode bootloader di sektor-sektor mentah (raw sectors) yang sangat sulit dikelola.
  • Di UEFI/GPT: Anda hanya perlu membuat sebuah partisi khusus bernama EFI System Partition (ESP).

ESP harus diformat dengan sistem file FAT32 (meskipun FAT12 dan FAT16 juga didukung pada media tertentu). Firmware UEFI memiliki driver filesystem internal yang mampu membaca folder dan file di dalam ESP.

Dalam proyek RezaOS, kita tidak lagi melakukan low-level disk writing ke sektor 0. Kita cukup menyalin file BOOTX64.EFI ke dalam folder /EFI/BOOT/ di partisi ESP tersebut. Firmware akan mencari file tersebut secara otomatis.


5. Tabel Perbandingan Teknis: MBR vs GPT

FiturMBR (Master Boot Record)GPT (GUID Partition Table)
Kapasitas Maksimal2.2 Terabyte9.4 Zettabyte (Tak terbatas untuk era sekarang)
Jumlah Partisi4 Utama (Extended jika ingin lebih)Minimal 128 Partisi
Keamanan DataTidak ada backup (Satu sektor rusak, disk hilang)Redundansi (Memiliki backup di akhir disk)
IntegritasTidak ada pengecekan errorCRC32 Checksum untuk Header & Tabel
IdentitasKode numerik sederhanaGUID (128-bit) unik secara global

Kesimpulan bagi Pengembang RezaOS

Memahami GPT adalah langkah awal untuk membuat OS yang “sadar hardware”. Dengan GPT dan ESP, proses instalasi dan pembaruan bootloader RezaOS menjadi semudah menyalin file di File Explorer. Kita tidak perlu lagi takut menimpa data penting di sektor-sektor awal disk, karena struktur GPT sudah tertata rapi dalam sistem file yang terstandarisasi.

Di artikel berikutnya (Bab 3), kita akan masuk lebih dalam ke Alur Kerja Firmware UEFI, mulai dari saat tombol power ditekan hingga fungsi efi_main kita dipanggil.