linux

Disk Partition Schemes

Sep 10, 2020 3 min

Disk Partition Schemes

Bir sabit diskin nasıl bölümlendiğiyle ilgili bilgiler şemalarda tutulur. İki ana partition tablo türü vardır. Bunlar #Master Boot Record (MBR) ve #GUID Partition Table (GPT).

Bir disk sadece bir tane primary partition aktif olabilir çünkü sadece primary partition’lar boot edilebilir. Yani bir diskte 2 tane OS yüklü olacaksa 2 tane primary olmalıdır. Bir diskte 4 tane primary olabilir maksimum. Eğer aktif olarka bir dşk daha istersek bunu extemdted disk olmalı. Yani logical disk.

Master Boot Record (MBR)

MBR, bölümleme yapılacak sabit diskin nasıl bölümlendiğiyle ilgili bilgileri diskin ilk sektöründe (Cylinder 0, Head 0, Sector 1) depolar. İlk sektör master boot record’dur (MBR). Makine ilk başlatıldığında BIOS’un okuduğu ve başlattığı sektördür.

MBR, dört birincil bölüme izin verir (bölüm tablosunun dört “yuvası” vardır). Birincil bölümler önyüklenebilir olabilir ve disk başına dört bölümle sınırlıdır. MBR bölümleme tablosu dört bölümden fazlasını gerektiriyorsa, birincil bölümlerden birinin, içinde mantıksal bölümler içeren genişletilmiş bir bölümle değiştirilmesi gerekir. Genişletilmiş bölümler, mantıksal bölümler için kapsayıcı olarak düşünülebilir. Bir sabit disk, birden fazla genişletilmiş bölüm içeremez. . Genişletilmiş bölüm bir birincil bölüm olarak da sayılır, bu nedenle eğer disk genişletilmiş bir bölüme sahipse, yalnızca üç ek birincil bölüm mümkündür (örneğin, üç birincil bölüm ve bir genişletilmiş bölüm). Genişletilmiş bir bölümde bulunan mantıksal bölüm sayısı sınırsızdır.

Master boot record, 3 kısımdan oluşur: Partition table, boot sector code (veya bootstrap code) ve boot record signature. Partition table disk bölümlemesiyle ilgili bilgileri tutar. Master boot sector, hangi bölümün etkin olduğunu (önyüklenebilir olarak işaretlenmiş) kontrol eder ve o bölümün ilk bölümünü okuyan küçük bir programdır. Aktif bölümde depolanan işletim sisteminin ilk bölümünü okur (önyüklenebilir olduğu varsayılarak) ve ardından başlatır.

MBR’nin son iki byte’ı önyükleme imzası olarak adlandırılır ve seçilen önyükleme sürücüsünün gerçekten önyüklenebilir olup olmadığını belirlemek için BIOS tarafından kullanılır. Geçerli önyükleme kodu içeren bir diskte, MBR’nin son iki baytı daima 0x55 0xAA.5 olmalıdır. MBR’nin son iki byte’ı sırasıyla 0x55 ve 0xAA’ya eşit değilse, BIOS diskin önyüklenebilir olmadığını anlayacak ve bu durumsa önyükleme sırası listesindeki bir sonraki aygıtı deneyecektir.

Image for post
Image for post

MBR’nin ilk 440 baytı, önyükleme kodu (bootstrap code) alanıdır. BIOS sistemlerinde genellikle önyükleyici ilk aşamasını içerir.

GPT (GUID partition table)

Hard disk bölümlendirme şemasını tanımlayan bir standardtır. GPT, 2,2 TB’lik bir bölüm boyutu sınırlaması olan MBR bölümlendirme sisteminde bir gelişme olarak tasarlanmıştır. GPT, UEFI standardının bir parçasıdır, ancak daha eski BIOS sistemlerinde de kullanılabilir. Disklerde üzerinden 128 primary partition oluşturulabilir.

GPT, MBR ile kullanılan CHS adreslemesi yerine modern mantıksal blok adresleme (LBA) kullanır ve GBT MBR bilgilerini LBA 0’da bulundurur. GPT ise LBA 1’den başlar. MBR yi diskin başlangıcında tutmak, MBR tabanlı disk uygulamalarının GPT disklerini yanlış tanımlamalarını ve üzerine yazmalarını engellemek içindir.

UEFI, LBA 0’ın uyumluluk durumu için kodu bulundurur. Bu kod “koruyucu MBR” veya “hybrid MBR” olarak çalışabilieceğini ifade eder. Kod GPT kullandığını belirtmek için 0xEE olarak ayarlanırsa UEFI MBR yi iptal eder. Koruyucu MBR, MBR diskleri için tasarlanmış programların, diskin kullanılabilir alan olduğunu ve GPT bölümlerinin üzerine yazmasını önlemek için dahil edilmiştir. Koruyucu MBR, EFI tarafından göz ardı edilir; MBR kodu çalıştırılmaz.

Image for post

Partition Table Entry (Bölüm Tablosu Girişi)

Bir bölüm tablo girişi, tek bir disk bölümünü tanımlar ve 128 bayt uzunluğundadır. Her bir bölüm tablo girişi, GUID bölüm türünü, konumunu, büyüklüğünü, veri türünü ve bölümün nasıl kullanıldığını tanımlar. Toplam 128 adettir. Hem diskin başında hem de sonunda bulunur. Sonunda bulunan girişler yedeklilik için kullanılmıştır. Bir giriş(entry) her zaman işaret ettiği bölüme ait verilerin depolanması gereken ilk kullanılabilir LBA ve son kullanılabilir LBA bilgisini bulundurur. Başlığı ve girişlerini tanımlamak için cihazı benzersiz bir şekilde tanımlamak için kullanılabilecek bir Disk GUID’si sağlanacaktır.

GPT Header

GPT başlığı, partition girişleri (entry) tarafından kullanılabilecek blokları tanımlar. Birincil bölüm tablosu başlığı, ikinci sektörde (LBA 1) bulunur ve yedek bölüm tablosu başlığı, sabit diskin son bölümünde bulunur. GPT üstbilgisi ayrıca disk üzerindeki konumunu, GUID’sini ve GPT üstbilgisinin bütünlüğünü doğrulamak için kullanılan 32 bit CRC32 (cyclic redundancy check) sağlama toplamını tanımlar.

Your email address will not be published. Required fields are marked *