Disk Bölümleme – Disk Partitioning

07 Ağustos 2008

Birçok kişinin disk bölümlemenin (ing. disk partitioning) tam olarak ne olduğunu kavrayamadığını veya kırk yılda bir işletim sistemi kurulumu yapıldığı için bu bilgiye ihtiyaç duymadığını farkettim. OpenBSD ile tanıştıktan sonra da disk bölümleme konusunda aslında benim de yanlış şeyler bildiğim ortaya çıktı. Ancak birden fazla işletim sisteminin kurulması söz konusu olduğunda disk bölümlerinin işletim sistemine özel olarak planlanması önemli rol oynamaktadır. PC ortamındaki disk bölümleri (ing. disk partitions) ile ilgili bildiklerimin zamanla değişimini aşağıda tarif etmeye çalışacağım.

DOS / Windows ile Disk Bölümleme Hakkında Öğrendiklerim

Bir adet birincil birim (ing. primary paritition) olan C: sürücüsü, peşinden bir adet genişletilmiş bölüm (ing. extended partition), onun da içinde istediğimiz kadar mantıksal birim (ing. logical parititon). DOS ve Windows’ların açılış yapabilmesi için açılış kodunun birincil bölümde yer alması gerekmektedir (DOS’ta msdos.sys ve io.sys, Windows’ta ntldr). Ayrıca bootable flag denen bir bayrağın da açılış kodunun yer aldığı birincil bölümde kurulu olması gerekmektedir. İşletim sisteminin açılabilmesi için bu iki şartın aynı anda sağlanması bir zorunluluktur. DOS/Windows zamanlarında disk bölümleme sonucu ortaya çıkan disk haritası şu şekildeydi.

Linux ile Disk Bölümleme Hakkında Öğrendiklerim

Linux ile haşır neşir olduktan sonra PC ortamında DOS’ta ve Windows’ta öğrenmiş olduğum bir adet birincil bölümün, bir adet genişletilmiş bölümün, birçok da mantıksal bölümün aynen geçerli olduğunu gözlemledim. Ancak Linux’te öğrendiğim bir başka kavram daha vardı. PC ortamında aslında bir diskte azami 4 birincil bölümün adreslenebileceğini, daha fazla disk bölümüne ihtiyacımız olursa da bu 4 birincil bölümden sadece 1 tanesinin genişletilmiş bölüm olarak oluşturulabileceğini, tüm mantıksal disklerin de bu genişletilmiş bölüm içinde yer aldığını öğrendim. Her 4 birincil bölümün bir sıra numarası olduğu ve bu numaraların (SCSI altsistemi disklerinde sda1, sda2, sda3, sda4) sabit ve önceden ayrılmış olduğunu öğrendim. Tüm mantıksal bölümlerin de kaç birincil bölümün kullanıldığından bağımsız olarak 5’ten başladığını ve sıra numarası ile arttığını öğrendim (sda5, sda6, sda7, …). Birincil bölümlere ayrılmış olan bu 4 isimden (sıra numarasından) bir tanesi de genişletilmiş bölüm için kullanılmaktadır. Linux’teki olası disk bölümleme haritaları aşağıdaki gibi olabilmektedir.

Yukarıdaki biçimlerden benim özel tercihim herşeyi sırayla hiç boşluk bırakmadan doldurmaktır. O da sonuncu seçenektekidir.

OpenBSD ile Disk Bölümleme Hakkında Öğrendiklerim

OpenBSD ile tanıştıktan sonra DOS ve Linux zamanlarında öğrenmiş olduğum disk bölümleme kavramlarının hepsinin de aslında doğru olmadığını, bu gösterim biçimlerinin, numaralandırmaların hepsinin de sadece arka tarafta olup biteni soyutlamak için uydurma hikayeler olduğunu öğrendim. Bir yere kadar doğruluk payları var. Ancak tüm tablo ele alındığında aslında ayrıntıların daha farklı olduğunu öğrendim. OpenBSD bölüm değil de disk label kullanıyor olmasına rağmen PC ortamında aynı disk üstünde farklı işletim sistemleri ile bir arada yaşabilmesi için PC disk bölümlerinden de anlamaktadır. PC ortamında DOS ve Windows işletim sistemleri ile oluşturulan birincil bölüm, genişletilmiş bölüm ve mantıksal bölüm aslında aşağıdaki gibi özyinelemeli (ing. recursive) bir yapıda tutulmaktadır.

part0 (primary, sda1, C: )
part1 (primary, sda2, D: )
part2 (primary, sda3, E: )
part3 (extended, sda4)
  \--> part0 (logical, sda5, F:)
       part1 (extended)
         \--> part0 (logical, sda6, G:)
              part1 (extended)
                \--> part0 (logical, sda7, H:)

Extended içinde aynı diskin başındaki gibi bir MBR ve partition table yapısı var. Ancak içinde sadece iki bölüm var. Birincisi aynı disk başındaki birincil bölüm gibi, diğeri de başka bir genişletilmiş bölüm. O genişletilmiş bölümün içi de aynı yapıda iç içe devam etmektedir.

Genişletilmiş bölüm içindeki birincil ve diğer genişletilmiş bölüm haricinde aslında 2 (iki) bölümlük daha yer olmasına rağmen ne DOS/Windows ne de Linux bunları adresleyip kullanamamaktadır. Ancak OpenBSD ile aşağıdaki gibi bir yapı oluşturulabilmektedir, adreslenebilmektedir, kullanılabilmektedir.

part0 (primary, sda1, C: )
part1 (primary, sda2, D: )
part2 (primary, sda3, E: )
part3 (extended, sda4)
  \--> part0 (logical, sda5, F:)
       part1 (logical)
       part2 (logical)
       part3 (extended)
         \--> part0 (logical)

Özet olarak disk yapısı aslında özyineli tutulan bir yapıya sahiptir. Diskin üstünde 4 tane birincil bölüm desteklenmektedir. Bu birincil bölümlerden en fazla 1 tanesi genişletilmiş bölüm olabilmektedir. Genişletilmiş bölüm içerisi de aynı disk yapısına sahiptir. Yani içinde 4 tane birincil bölüm oluşturulabilir. Ancak DOS/Windows ve Linux sadece iki tanesini adresleyip kullanabilmektedir. Bunlardan birincisine mantıksal denilmektedir. Bu yapı böyle iç içe devam etmektedir.

DOS/Windows işletim sistemleri açılış yapabilmek için birincil bölüme ihtiyaç duyarlar. Linux sistem ön yükleyicileri (ing. boot loader) sayesinde mantıksal disk birimlerinden de açılışını yapabilmektedir. OpenBSD ise PC donanımında diskin üstünde bir birincil bölüm üstünde yer almalıdır ve tüm disklabel’ları aynı bölüm içerisinde olmalıdır.

Etiketler: , , , , , , , , ,

Yorum Yapın