Tabel partisi


Tabel Partisi atau Partition Table adalah sebuah struktur data yang menyimpan lokasi (permulaan dan akhir) dan ukuran dari setiap utama yang terkandung di dalam sebuah hard disk. Dalam sebuah hard disk yang menggunakan skema partisi MBR, tabel partisi diletakkan pada Master Boot Record yang disimpan di dalam sektor pertama di dalam hard disk; sementara dalam sebuah hard disk yang menggunakan skema partisi GPT, tabel partisi diletakkan dalam sebuah larik yang berisi entri-entri partisi, yang disebut dengan GUID Partition Entry Array.

Lokasi yang ditunjukkan oleh tabel partisi adalah lokasi fisik dari sebuah partisi tertentu yang direpresentasikan dalam notasi angka silinder, head, dan sektor. Selain itu, tabel partisi juga memuat jenis sistem berkas yang digunakan oleh setiap partisi, dan informasi apakah partisi tersebut dapat melakukan booting atau tidak.

Meskipun tabel partisi merupakan struktur data yang kecil, tabel partisi merupakan elemen yang paling krusial dari sebuah hard disk. Jika tabel partisi rusak, kemungkinan besar seluruh data akan hilang karena partisi yang tidak dikenali oleh sistem, meski ada beberapa cara untuk menyembuhkannya.

Struktur

Dalam sistem x86, ukuran sebuah tabel partisi adalah hanya 64 byte. Setiap partisi hanya dapat menggunakan 16 byte dari total 64 byte tabel partisi, sehingga secara otomatis jumlah partisi yang didukung adalah hanya empat buah partisi. Entri setiap partisi disimpan dalam lokasi-lokasi tertentu, yakni sebagai berikut:

  • Partisi utama pertama: 0x01BE hingga 0x01CD
  • Partisi utama kedua: 0x01CE hingga 0x01DD
  • Partisi utama ketiga: 0x01DE hingga 0x01ED
  • Partisi utama keempat: 0x01EE hingga 0x01FD

Jika tidak ada partisi, maka pada ofset-ofset yang ditentukan tersebut diberi nilai 0x00.

Struktur Tabel Partisi dalam skema partisi MBR

Screenshot program Microsoft Disk Probe berikut berisi tentang Master Boot Record dari sebuah hard disk yang memiliki satu partisi utama, satu partisi tambahan, dan satu partisi logis. Yang dilingkari dengan garis merah adalah tabel partisi.

Tabel berikut berisi field-field dalam tabel partisi. Perlu diperhatikan, bahwa dalam sistem Intel x86, semua angka yang lebih besar dari 8 bit akan disimpan dalam format Little Endian, atau byte terbalik. Jadi bilangan 0x0000003F jika direpresentasikan dalam format Little Endian menjadi 0x3F000000.

Ofset Panjang Contoh nilai Keterangan
0x01BE 8 bit (1 byte) 0x80 Tanda bahwa partisi tersebut dapat digunakan untuk melakukan booting komputer.
Nilai yang valid hanya ada dua, yakni 0x00 yang berarti tidak dapat melakukan booting dan 0x80 yang berarti dapat melakukan booting.
0x01BF 8 bit (1 byte) 0x01 Lokasi head di mana partisi dimulai.
0x01C0 6 bit 0x01 * Lokasi sektor di mana partisi dimulai. Hanya bit 0 hingga bit 5 yang digunakan. dua bit sisanya (bit 6 dan bit 7) digunakan oleh field lokasi silinder di mana partisi dimulai (bawah).
0x01C1 10 bit 0x00 * Lokasi silinder fisik di mana partisi dimulai. Menggunakan 8 bit, ditambah dua bit dari field lokasi sektor di mana partisi dimulai (atas). Karena menggunakan 10-bit, maka angka maksimum adalah 1023.
0x01C2 8 bit (1 byte) 0x07 Sistem berkas yang digunakan oleh partisi yang bersangkutan. Lihat tabel di bawah untuk daftar sistem berkas.
0x01C3 8 bit (1 byte) 0xFE Lokasi head di mana partisi berakhir.
0x01C4 6 bit (1 byte) 0xBF * Lokasi sektor di mana partisi berakhir. Hanya 6 bit (bit 0 hingga bit 5) yang digunakan. Dua bit sisanya digunakan oleh field lokasi silinder di mana partisi dimulai (bawah).
0x01C5 10 bit 0x09 * Lokasi silinder di mana partisi berakhir. Menggunakan 10 bit, yang disusun dari 8 bit ofset dirinya sendiri ditambah dengan dua bit yang datang dari field lokasi sektor di mana partisi berakhir (atas). Karena menggunakan 10-bit, maka angka maksimum adalah 1023.
0x01C6 32 bit (1 DWORD) 0x3F000000 Field sektor relatif. Lokasi sektor dihitung dari permulaan disk.
0x01CA 32 bit (1 DWORD) 0x4BF57F00 Total sektor yang dimiliki oleh partisi yang bersangkutan.

Tabel sistem berkas dalam tabel partisi.

Kode Sistem berkas
0x01 Partisi utama atau partisi logis yang menggunakan sistem berkas FAT12.
0x04 Partisi utama atau partisi logis yang menggunakan sistem berkas FAT16 (16 MB hingga 33 MB).
0x05 Partisi perluasan.
0x06 Partisi utama atau partisi logis yang menggunakan sistem berkas BIGDOS FAT16 (33 MB hingga 4096 MB).
0x07 Partisi utama atau partisi logis Sistem berkas yang dapat diinstalasikan (Installable File System), termasuk di antaranya adalah NTFS atau HPFS.
0x0B Partisi utama atau partisi logis yang menggunakan sistem berkas FAT32.
0x0C Partisi utama atau partisi logis yang menggunakan sistem berkas FAT32 yang menggunakan Extended Int13h BIOS.
0x0E Partisi utama atau partisi logis yang menggunakan sistem berkas BIGDOS FAT16 yang menggunakan Extended Int13h BIOS.
0x0F Partisi tambahan yang menggunakan Extended Int13h BIOS.