Mengapa hanya ada empat partisi utama pada disk MBR?

23

Saya membaca dokumen di CentOS.org .

Di bagian 25.1.2. Partisi: Mengubah Satu Drive Menjadi Banyak , ada pernyataan berikut:

Tabel partisi dibagi menjadi empat bagian atau empat partisi primer. Partisi primer adalah partisi pada hard drive yang hanya dapat berisi satu drive logis (atau bagian). Setiap bagian dapat menyimpan informasi yang diperlukan untuk mendefinisikan satu partisi, artinya tabel partisi tidak dapat menentukan lebih dari empat partisi.

Saya tidak mengerti mengapa hanya ada empat partisi. Apakah ini persis seperti yang dirancang pada awalnya? Bisakah benar-benar hanya ada 4 partisi primer?

Jongosi
sumber

Jawaban:

36

Apakah ini persis seperti yang dirancang pada awalnya? Bisakah benar-benar hanya ada 4 partisi primer?

Ya, persis seperti itu. Tabel partisi di depan disk MBR (sebagai lawan dari disk gaya GPT) memiliki struktur data yang sangat ketat yang berasal dari tahun 1980-an ketika ruang adalah hal yang berharga dan berharga. Cara keputusan desain saat itu adalah dengan hanya mengizinkan empat partisi, tetapi memungkinkan salah satu dari mereka menjadi partisi 'extended' yang merupakan pointer ke tempat lain pada disk yang dapat berisi lebih banyak partisi 'logis'.

(Ini adalah alasan yang sama mengapa disk yang diformat MBR mengalami masalah dengan disk 2TB +. Cluster ukuran 512 byte, dan bidang 32bit yang berisi jumlah cluster untuk ukuran partisi = ukuran disk maksimum 2TB. Ukuran kluster 4KB menggerakkan masalah di jalan dengan cara. )

GPT adalah metode yang diperbarui untuk menangani partisi yang tidak memiliki batasan ini.

sysadmin1138
sumber
1
Ini juga hanya pembatasan pada disk tipe IDE. SCSI, misalnya, memiliki 8, dengan yang ketiga dengan konvensi menjadi partisi yang tumpang tindih yang mencakup seluruh perangkat.
MadHatter mendukung Monica
18
@MadHatter tabel partisi dengan sendirinya adalah tipe penyimpanan agnostik. Tampaknya Anda menggambarkan Solaris Slices, yang merupakan konsep yang sedikit berbeda.
the-wabbit
3
Saya belum berpikir itu yang menjadi masalah, tetapi Anda benar bahwa sebagian besar pengalaman partisi SCSI saya berasal dari Solaris. Saya tunduk pada koreksi Anda, dan terima kasih!
MadHatter mendukung Monica
4
Sebenarnya, partisi extended datang jauh kemudian ; IBM PC DOS 2.0 memperkenalkan MBR sebagai bagian dari dukungan HDD-nya pada bulan Maret 1983, tetapi baru pada 3.3 (April 1987) barulah perluasan partisi tersedia .
CVn
Sebenarnya, "extended partisi" hanya menunjuk ke tabel partisi gaya MBR lain, yang pada gilirannya juga dapat berisi hanya 4 entri (masing-masing bisa menjadi entri partisi diperpanjang yang menunjuk ke tabel partisi lain, yang juga dapat berisi 4 entri ( masing-masing bisa berupa partisi extended ...)) Saya kenyataannya beberapa sistem operasi hanya membolehkan perluasan partisi dalam slot 4 dan jika ada, maka slot 2 dan 3 harus kosong, jadi apa yang Anda dapatkan dalam praktek adalah satu-satunya daftar tabel partisi yang ditautkan dengan slot utama 1 dan tautan ke tabel berikutnya di slot 4.
Jörg W Mittag
25

Hanya ada empat karena struktur data untuk tabel partisi MBR hanya memungkinkan tepat empat catatan yang menggambarkan partisi:

Anda bisa membuat tabel partisi tambahan yang bersarang dalam definisi apa yang disebut "partisi extended", tetapi partisi yang didefinisikan di dalamnya secara tradisional disebut partisi "logis". Perlu diingat bahwa ini adalah batasan dari implementasi khusus ini. Tipe partisi lain, seperti tabel partisi GUID , jangan bagikan batasan ini.

the-wabbit
sumber
3

Partisi primer adalah konsep tingkat rendah - ini berkaitan dengan proses boot awal mesin, dan didasarkan pada serangkaian spesifikasi yang ditentukan dengan baik. Karena itu sangat sulit untuk mengubah jumlah partisi primer, karena banyak produsen disk dan motherboard harus setuju untuk menerapkan standar baru.

Secara praktis, ini adalah poin yang dapat diperdebatkan - ini relevan pada 'waktu boot' untuk memulai OS Anda, tetapi hanya itu saja. Terdapat partisi extended, yang memungkinkan lebih banyak partisi pada disk Anda. Anda tidak bisa mem-bootnya.

Lebih mendasar - sebagian besar sistem operasi bekerja dengan lebih banyak abstraksi disk - manajer volume logis - yang berarti bahwa topologi aktual pada disk sebagian besar tidak relevan. (Dan memang, sering kali tidak diinginkan untuk membagi kelompok penyimpanan Anda)

Sobrique
sumber
1
Saya pikir Anda salah karena tidak bisa mem-boot satu; Saya pikir GRUB akan dengan senang hati mem-boot Linux dari partisi yang diperluas. Selain itu, saya sebagian besar setuju dengan Anda.
MadHatter mendukung Monica
GRUB sendiri harus berada di partisi primer - bootstrap tingkat rendah memulai grub, yang kemudian memungkinkan Anda memilih.
Sobrique
1
Pemuat tahap 1 seharusnya tidak berada di partisi sama sekali; itu harus di MBR. Sisa kode tinggal di dalam /bootpartisi, dan seperti yang saya katakan, saya percaya itu bisa menjadi partisi yang diperluas.
MadHatter mendukung Monica
Cukup adil. Saya akan membaca dan mengerjakan pekerjaan rumah saya. Tapi saya kira masih mendukung kasus bahwa sementara partisi primer terbatas, batas itu sebagian besar tidak relevan sekarang.
Sobrique
1
"... karena banyak produsen disk dan motherboard harus setuju untuk menerapkan standar baru." Apa? Bagaimana itu? Ini sama sekali tidak relevan untuk disk, dan bahkan mainboard tidak perlu peduli tentang itu. Yang perlu dilakukan mainboard adalah membaca sektor 0 dan menjalankan kodenya. Mengenali partisi adalah tugas kode itu.
glglgl
0

Tidak yakin apakah saya terlambat ke pesta, tapi ini dia:

Ukuran tabel partisi dirancang menjadi 64 byte dan setiap tabel partisi 16 byte. 16 * 4 = 64 dan karenanya tidak ada lagi ruang untuk entri lain dalam tabel partisi.

Untuk mengatasinya, entri keempat memiliki ketentuan untuk entri partisi Extended yang dapat memiliki pointer berurutan ke partisi Extended lainnya.

https://docs.microsoft.com/en-us/windows/win32/fileio/basic-and-dynamic-disks

Guru
sumber