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:
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:
- LBA 0 (Protective MBR): Digunakan untuk kompatibilitas (akan dijelaskan di bawah).
- LBA 1 (Primary GPT Header): Berisi informasi ukuran disk, lokasi tabel partisi, dan nilai CRC32 untuk pengecekan integritas.
- 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.
- 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
| Fitur | MBR (Master Boot Record) | GPT (GUID Partition Table) |
| Kapasitas Maksimal | 2.2 Terabyte | 9.4 Zettabyte (Tak terbatas untuk era sekarang) |
| Jumlah Partisi | 4 Utama (Extended jika ingin lebih) | Minimal 128 Partisi |
| Keamanan Data | Tidak ada backup (Satu sektor rusak, disk hilang) | Redundansi (Memiliki backup di akhir disk) |
| Integritas | Tidak ada pengecekan error | CRC32 Checksum untuk Header & Tabel |
| Identitas | Kode numerik sederhana | GUID (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.
