fdisk ile diski bölümleme

fdisk ile disk bölümü oluşturmak

Bu kısım aslında diskinizi fdisk uygulaması ile nasıl bölümlendireceğinizi anlatmaktadır. Linux sadece 4 tane birincil disk bölümüne izin vermektedir. Tek bir disk bölümünü alt bölümlere bölerek çok sayıda mantıksal bölüme sahip olabilirsiniz. Birincil disk bölümlerinden sadece bir tanesi alt bölümlere bölünebilir.

Örnekler:

  1. Dört tane birincil disk bölümü: Dört disk bölümü
  2. Birincil ve mantıksal disk bölümleri karışık: Birincil ve mantıksal disk bölümleri karışık

fdisk kullanımı

fdisk, komut satırında (root olarak) fdisk aygıt-adı yazarak çalıştırılır. ( İsimlendirme Kuralları). Aygıt adı /dev/hda veya /dev/sda gibi bir şey olabilir. İhtiyacınız olacak temel fdisk komutları şunlardır:

p
disk bölümleme tablosunu göster

n
yeni bir disk bölümü oluştur

d
disk bölümü sil

q
değişiklikleri kaydetmeden çık

w
mevcut disk bölüm tablosunu yaz ve çık

Disk bölümü tablosunda yaptıklarınız w komutu ile yazana kadar etkisini göstermez. Aşağıda basit bir disk bölümleme tablosu bulunmaktadır:

Disk /dev/hdb: 64 kafa, 63 sektör/iz, 621 silindir
Birimler = silindir / 4032 * 512 bayt

   Aygıt Açılış    Başlangıç     Bitiş  BlokSayısı Kml Sistem
/dev/hdb1   *           1        184       370912+  83  Linux
/dev/hdb2             185        368       370944   83  Linux
/dev/hdb3             369        552       370944   83  Linux
/dev/hdb4             553        621       139104   82  Linux takas / Solaris

İlk satır diskin geometrisini göstermektedir. Fiziksel olarak tam doğru olmayabilir ama siz öyle olduğunu varsayabilirsiniz. Bu örnekteki disk her biri üzerinde bir disk kafası olan çift yönlü 32 tane plakadan oluşmuştur (muhtemelen doğru değil). Her bir plakanın eşmerkezli 621 izi bulunmaktadır. Üç boyutlu bir ize (tüm disk üzerindeki aynı izlere) silindir denir. Her bir iz 63 sektöre bölünmüştür. Her bir sektör 512 bayt veri içermektedir. Bundan dolayı disk bölümü tablosundaki blok sayısı 64 disk kafası * 63 sektör * 512 bayt / 1024'tür.(Bu problemin çözümü 4 bölümünde açıklanmıştır.) Başlangıç ve bitiş değerleri silindirlerdir.

Dört disk bölümü

Gözden geçirme: Takas alanınızın boyuna ve nereye yerleşmesi gerektiğine karar verin. Kalan alanı diğer üç disk bölümü için bölün.

Örnek:

fdisk'i komut satırından başlattım:

# fdisk /dev/hdb

Bu, IDE denetleyicinin üzerindeki ikinci sürücüyü kullandığım anlamına gelmektedir. ( Aygıt adları kısmına bakın.) (Boş) disk bölümleme tablosunu görüntülediğim zaman, sadece ayarlarla ilgili bilgi alırım.

Command (m for help): p

Disk /dev/hdb: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes

1.2GB disk kapasitem olduğunu biliyordum ama artık eminim: 64 * 63 * 512 * 621 = 1281982464 bayt. Bu alanın 128MB'ını takas için ayırmaya karar verdim, geriye 1153982464 kaldı. Eğer takas için birincil disk bölümlerinden birini kullanırsam ext2 disk bölümleri için geriye 3 tane kalmış olur. Eşit olarak bölün, bu da 384MB olacak şekilde her birini oluşturmak demektir. Artık şimdi çalışmaya başlayabilir.

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-621, default 1):<RETURN>
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-621, default 621): +384M

Daha sonra takas alanı için kullanacağım alanı ayarlıyorum:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (197-621, default 197):<RETURN>
Using default value 197
Last cylinder or +size or +sizeM or +sizeK (197-621, default 621): +128M

Artık disk bölümleme tablosu şu şekilde gözüküyor:

   Device Boot    Start       End    Blocks   Id  System
/dev/hdb1             1       196    395104   83  Linux
/dev/hdb2           197       262    133056   83  Linux

Diğer kalan iki disk bölümünü de ilkini yaptığım gibi ayarlıyorum. Son olarak da ilk disk bölümünü önyüklenebilir yapıyorum:

Command (m for help): a
Partition number (1-4): 1

Ve ayrıca ikinci disk bölümünün türünü de takas alanı olarak ayarlıyorum:

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap)
Command (m for help): p

Sonuç şu şekilde gözüküyor:

Disk /dev/hdb: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hdb1   *         1       196    395104+  83  Linux
/dev/hdb2           197       262    133056   82  Linux swap
/dev/hdb3           263       458    395136   83  Linux
/dev/hdb4           459       621    328608   83  Linux

Son olarak da w ile tabloyu diske yazdırıyorum.

İlgili konular:

Birincil ve mantıksal disk bölümleri karışık

Gözden geçirme:Tüm diğer alt disk bölümlerini içermesi için bir tane birincil disk bölümü oluşturun. Daha sonra onun içerisinde mantıksal disk bölümleri oluşturun. Diğer birincil disk bölümlerini mantıksal disk bölümleri oluşturmadan önce veya sonra oluşturabilirsiniz.

Örnek:

fdisk'i komut satırından çalıştırıyorum:

# fdisk /dev/sda

Bu, SCSI zincirimin ilk sürücüsü anlamına gelmektedir. ( Aygıt adları kısmına bakın.)

Öncelikle kaç tane disk bölümü istediğime karar veriyorum. Diskimin 183GB kapasitesi olduğunu biliyorum ve 26GB'lık disk bölümleri istiyorum (çünkü yaklaşık bu boyutta yedekleme teyplerim var)

183GB / 26GB = ~7

Dolayısiyle 7 disk bölümüne ihtiyacım var. fdisk disk bölümü boylarını MB ve kB olarak kabul etmesine rağmen, her bir disk bölümü sonundaki silindir numaralarını hesaplamaya karar veriyorum çünkü fdisk silindirlerin başlangıç ve bitiş silindir numaralarının bilgisini vermektedir. fdisk'e başladığım zaman 22800 silindirim olduğunu görüyorum.

> The number of cylinders for this disk is set to 22800.  There is
> nothing wrong with that, but this is larger than 1024, and could in
> certain setups cause problems with: 1) software that runs at boot
> time (e.g., LILO) 2) booting and partitioning software from other
> OSs  (e.g., DOS FDISK, OS/2 FDISK)

Bu durumda, toplam 22800 silindirin 7 disk bölümünün her birine 3258 silindir düşer. Yani, her bir disk bölümü yaklaşık olarak 3258 silindir boyunda olacaktır. Önyükleme uyarısını dikkate almıyorum çünkü burası benim önyükleme amacıyla kullanacağım sürücüm ( Bölümlendirme gereksinimleri) değil.

4 tane birincil disk bölümüm olduğundan, bunlardan 3 tanesi 3258 uzunluğunda olabilir. Ek bölüm (4 * 3258) yani 13032 silindir uzunluğunda olmalı, böylece 4 mantıksal disk bölümü buraya sığar.

İlk 3 birincil disk bölümünü oluşturmak için aşağıdaki komutları giriyorum (koyu ile yazdıklarım):

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-22800, default 1): <RETURN>
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-22800, default 22800): 3258

Son bölüm, ek disk bölümü:

Partition number (1-4): 4
First cylinder (9775-22800, default 9775): <RETURN>
Using default value 9775
Last cylinder or +size or +sizeM or +sizeK (9775-22800, default 22800): <RETURN>
Using default value 22800

Tabloyu göster komutunun çıktısı şöyle:

/dev/sda1             1      3258  26169853+  83  Linux
/dev/sda2          3259      6516  26169885   83  Linux
/dev/sda3          6517      9774  26169885   83  Linux
/dev/sda4          9775     22800 104631345    5  Extended

Sonra, ilk mantıksal disk bölümünden başlayarak, ek bölümü her biri 3258-silindirlik 4 alt bölüme ayırıyorum. Mantıksal disk bölümleri böylece /dev/sda5'ten başlıyor.

Command (m for help):  n
First cylinder (9775-22800, default 9775): <RETURN>
Using default value 9775
Last cylinder or +size or +sizeM or +sizeK (9775-22800, default 22800): 13032

Sonuç şu şekilde:

   Device Boot    Start       End    Blocks   Id  System
/dev/sda1             1      3258  26169853+  83  Linux
/dev/sda2          3259      6516  26169885   83  Linux
/dev/sda3          6517      9774  26169885   83  Linux
/dev/sda4          9775     22800 104631345    5  Extended
/dev/sda5          9775     13032  26169853+  83  Linux
/dev/sda6         13033     16290  26169853+  83  Linux
/dev/sda7         16291     19584  26459023+  83  Linux
/dev/sda8         19585     22800  25832488+  83  Linux

Son olarak, w komutu ile tabloyu diske yazdırıyorum. Disk bölümlerinin kullanılabilir olması için onları biçimlendirecek ve kök dizine bağlayacağım.

Sunulan Örnekler

Kendi disk bölümü yerleşimimi göstermek isterim, çünkü herhangi bir Linux dağıtımıyla iyi çalışabilmektedir (hatta büyük RPM tabanlı olanlarda bile). 10 GB olan tek bir sabit diskim var. Windows bunun 9.4 GB'tan fazlasını göremiyor, fakat Linux görüp kullanabiliyor. Aynı zamanda diskim 1024 silindirden fazlasını içeriyor.

Tablo 3.11. Bölüm yerleşim örneği

Disk BölümüBağlama noktasıBüyüklük
/dev/hda1/boot(15 MB)
/dev/hda2windows 98 bölümü(2 GB)
/dev/hda3ek bölüm(kullanışsız)
/dev/hda5takas alanı(64 MB)
/dev/hda6/tmp(50 MB)
/dev/hda7/(150 MB)
/dev/hda8/usr(1.5 GB)
/dev/hda9/homediskin geri kalanı

Yeni çekirdekleri USB diskleri bakımından deniyorum, bu da büyük /boot disk bölümlerini açıklıyor. LILO'yu MBR'ye kurdum ve öntanımlı olarak windows'un başlamasına ayarladım (bu bilgisayarı kullanan tek ben değilim).

Ayrıca, örneklerde GERÇEK disk bölümleme tablolarının kullanılmadığını da belirteyim, yeni başlayanlar için ÖZELLİKLE bir iki tane konulmasını öneririm[48]. Artık yeni başlayan statüsünde değilim ve disk bölümleme beni en zorlayan konulardan biriydi.

Valkor



[48] Ç.N.: Linux Sistem Yöneticisinin Kılavuzu kitabının bölümünde gerçek bir örnek bulabilirsiniz.