Slackware dağıtımında yükleme işi için setup isimli bir yazılım bulunmaktadır. Yüklemenin her aşaması bu yazılım tarafından yürütülebilir. Ancak ilk olarak Linux için disk alanlarının tanımlanması gerekmektedir. Bu amaçla fdisk programı kullanılır. Linux altında bir bilgisayara bağlı her türlü cihaza bir dosya gibi erişmek mümkündür. Her cihaza karşılık gelen bir sistem dosyası mevcuttur. Cihazlarla ilgili dosyalar /dev dizini altında yer alırlar. Burada IDE sabit diskler "hd" SCSI sabit diskler "sd" olarak isimlendirilirler. Aynı anda bir bilgisayarda birden fazla disk bağlanmış olabilir. Diskler sırayla a b c d olarak isimlendirilirler. Her disk üzerinde birden fazla bölüm yer alabilir. Bu bölümler ise 1 2 3 4 olarak numaralandırılırlar. Örnek olarak
* /dev/hda, bir numaralı IDE (Primary Master) diski
* /dev/hda1, bir numaralı IDE diskin ilk bölümü (DOS altında C:)
* /dev/hda2, bir numaralı IDE diskin ikinci bölümünü
* /dev/hdb, iki numaralı IDE (Primary Slave) diski
* /dev/hdc, üç numaralı IDE (Secondary Master) diski
* /dev/hdd, dört numaralı IDE (Secondary Slave) diski
* /dev/sdb3, ikinci SCSI sabit diskin üçüncü bölümünü
göstermektedir. Birden fazla sabit diskiniz varsa hangi sabit disk'le ilgileneceğinizi belirtmeniz gerekir. Eğer iki sabit diskiniz varsa fdisk'i kullanırken dikkat edin, her an yanlış bir diski biçemleme şansınız var.
Kod: Tümünü seç
# fdisk /dev/hda
fdisk komutu harddisk bölümlerinin düzenlenmesi için kullanılan bir yazılımdır. Komut satırından genelde tek harflik komutlarla kullanılır. Eğer komut satırında bir parametre verilmezse fdisk ilk bulduğu disk üzerinde işlem yapacaktır. Birden fazla disk mevcutsa komut satırında istenilen diskin belirtilmesi gerekecektir. Aşağıdaki örnekte fdisk herhangi bir parametre ile çağrılmamış ve sistemde bulunan öncelikli disk olarak bir numaralı SCSI disk (/dev/sda) seçilmiştir.
fdisk, komutunun yanında bazı parameteler alır:
/fdisk -v
Fdisk programının sürümü ekrana gelir.
fdisk -l
/dev/hda, /dev/hdb, /dev/sda, /dev/sdb, /dev/sdc, /dev/sdd, /dev/sde, /dev/sdf, /dev/sdg ve /dev/sdh disklerinin (varsa) bölümlendirme tablosunu ekrana yazar ve çıkar.
fdisk -s <disk-bölümü>
Eğer bir DOS bölümü değilse (bölüm numarası 10'dan büyük) , sözkonusu disk bölümünün büyüklüğü bayt cinsinden ekrana yazılır.
Aşağıda, fdisk yazılımının kullanımı hakkında örnek bir fdisk çalışması yeralıyor.
Örnek FDISK Çalışması
Bu örnek içerisinde 1 Gbyte'lık SCSI sabit disk'e sahip bir makine üzerinde LINUX için gerekli kısımların ayrılması adım adım incelenmiştir. Sözkonusu sabit disk üzerinde kullanıcı önceden 400 Mbyte'lık bir kullanıcı alanı tanımlamış ve geri kalan alanı LINUX için ayırmıştı. Düşünülen dağılım:
* 400 Mbyte DOS
* 250 Mbyte LINUX işletim sistemi
* 60 Mbyte Takas alanı
ve geri kalan alan LINUX altında kullanıcı alanı.
fdisk programı çalışır çalışmaz ilk iş olarak mevcut bölümler hakkında bilgi almak için p komutunu ( Print Partition Info) kullanıyoruz.
Kod: Tümünü seç
Command (m for help): p
Disk /dev/sda: 34 heads, 61 sectors, 1017 cylinders
Units = cylinders of 2074 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit >=32M
Kod: Tümünü seç
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (396-1017): 396
Last cylinder or +size or +sizeM or +sizeK ([396]-1017): +250M
Bölümün başlangıç adresini giriyoruz. Bu değer otomatik olarak bir önceki bölümün bitiş değerinden hesaplanmaktadır. Sadece onaylıyoruz. Daha sonra istediğimiz boyutu belirtiyoruz. +250M tanımı 250 Mbyte'lık bir kısım istediğimizi belirtiyor. Yarattığımız bu bölümü p komutu ile inceliyoruz.
Kod: Tümünü seç
Command (m for help): p
Disk /dev/sda: 34 heads, 61 sectors, 1017 cylinders
Units = cylinders of 2074 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit >=32M
/dev/sda2 396 396 642 256139 83 Linux native
Kod: Tümünü seç
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (643-1017): 643
Last cylinder or +size or +sizeM or +sizeK ([643]-1017): +60M
Command (m for help): p
Disk /dev/sda: 34 heads, 61 sectors, 1017 cylinders
Units = cylinders of 2074 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit >=32M
/dev/sda2 396 396 642 256139 83 Linux native
/dev/sda3 643 643 702 62220 83 Linux native
Kod: Tümünü seç
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 82
Changed system type of partition 3 to 82 (Linux swap)
Command (m for help): p
Disk /dev/sda: 34 heads, 61 sectors, 1017 cylinders
Units = cylinders of 2074 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit >=32M
/dev/sda2 396 396 642 256139 83 Linux native
/dev/sda3 643 643 702 62220 82 Linux swap
Kod: Tümünü seç
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 4
First cylinder (703-1017): 703
Last cylinder or +size or +sizeM or +sizeK ([703]-1017): 1017
Command (m for help): p
Disk /dev/sda: 34 heads, 61 sectors, 1017 cylinders
Units = cylinders of 2074 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit >=32M
/dev/sda2 396 396 642 256139 83 Linux native
/dev/sda3 643 643 702 62220 82 Linux swap
/dev/sda4 703 703 1017 326655 83 Linux native
Kod: Tümünü seç
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
(Reboot to ensure the partition table has been updated.)
Syncing disks.
Reboot your system to ensure the partition table is updated.
* LILO ile bir boot menüsünden
* DOS altından LOADLIN isimli bir yazılımla
* Yüklemek için yapıldığı gibi bir boot diskiyle
Son iki yöntem herhangi bir sınırlama getirmezken ilk yöntemin bir sınırlaması vardır. LILO isimli yazılım ile kullanıldığı zaman bilgisayar açıldığı zaman minik bir yazılım çalıştırır ve gerektiğinde Linux çekirdeğini yükler. Ancak çekirdek yüklenmesine kadar geçen süre içerisinde sistemin BIOS komutları çalışır. Bu komutların önemli bir sınırlaması bir disk üzerindeki bir yazılımı belirleyen üç parametreden (silindir sayısı, kafa numarası, sektör numarası) silindir sayısının en fazla 1024 ile sınırlı olmasıdır. Bu bakımdan LILO kullanılacaksa Linux çekirdeğinin yer alacağı bölüm bu 1024 numaralı silindir sınırının altında kalmalıdır. Bu sınırlama tamamıyla DOS'un kullandığı BIOS'un bir sınırlamasıdır. Yeni BIOS'lar bu sınırlamadan kurtulmak için LBA adı verilen bir yöntem kullanırlar. Bu yöntemin temelinde BIOS'ta kafa sayısı için gereksiz yere ayrılan kısımların silindir sayısını belirtmek için kullanılmasıdır. (BIOS, bir sabit disk için 64'e kadar kafa kabul edebilmektedir. Pratik olarak 15 kafadan fazla sabit diskin üretilmesi çok zor olduğu için yapılan kafa sayısını iki veya dört ile çarparak, silindir sayısını iki veya dörde bölmektir.) Böylelikle 1654 silindirli 16 kafalı bir sabit disk, LBA olarak 827 silindirli ve 32 kafalı olarak tanımlanabilmektedir. İkinci durumda bu disk üzerinde tanımlanabilecek her bölümün yukarıda belirtilen sınırlama içerisinde kalacağına dikkat ediniz.