Örnek FDISK Çalışması

Next: Setup Programı Up: Bilgisayarın Linux ile Açılması Previous: Ön Hazırlıklar

## Örnek FDISK Çalışması

Bu örnek içerisinde 1 Gb'lık SCSI sabit diske sahip bir makina ü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 Mb'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 Mb DOS
- 250 Mb LINUX işletim sistemi
- 60 Mb 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.

    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

Bu tablo bize sadece tek bölüm ayrıldığını, ayrılan alanın DOS formatında olduğunu, önyüklenecek bölüm olduğunu belirtiyor. Bölümün adı `/dev/sda1`, yani ilk SCSI sabit disk üzerinde tanımlanan ilk bölüm. İlk iş olarak LINUX işletim sistemi için yeni bir bölüm yaratmalıyız.

    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

n komutu ile kendimize yeni bir bölüm yarattık. İlk seçenek temel bir disk bölümümü yoksa gelişmiş bir disk bölümü üzerinde mi işlem yapacağımızı sordu. Temel bir bölüm için p komutunu girdik. Daha sonra hangi bölümü yaratacağımızı sordu. Halen mevcut 1 bölüm var, bu bölüm ikinci bölüm olacak bu yüzden 2 yazdık.

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 Mb'lık bir kısım istediğimizi belirtiyor. Yarattığımız bu bölümü p komutu ile inceliyoruz

    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

fdisk yaratılan her bölümü otomatik olarak (LINUX native) olarak yaratmaktadır. Şimdi takas alanı için 60 Mb'lık 3. temel bölümü tanımlayalım:

    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

Dikkat edilecek olursa bu bölüm de LINUX native olarak tanımlandı. LINUX tarafından takas bölümü olarak kullanılacak olan bölümler farklı bir yapıya sahiptirler ve ayrıca tanımlanmaları gerekmektedir. Bu amaçla t komutu ile herhangi bir bölümün tipini değiştirmek mümkündür. (Tip değiştirmekle o bölümün yapısı (formatı) değişmiş olmuyor, format sonradan yapılan bir işlemdir)

    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

Yukarıda yapılan işlemle 3 numaralı bölümün tipini Linux swap olarak değiştirmiş olduk. Şu anda üç farklı türden alanımız mevcut. Son bölümü de yine n komutu ile ekleriz.

    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

Bu örnekte boyut Mb cinsinden verilmedi. Zaten amaç kalan alanı tümüyle kullanıcı alanı olarak ayırmaktı. Bu nedenle son silindirin numarasının girilmesi yeterli oldu. Artık yapılması gereken bu bilginin diske yazılmasıdır. Şu ana kadar yapılan hiç bir değişiklik sistem üzerinde herhangi bir etki yapmamıştır. Yanlız her tür formatlama için geçerli bir kural burada da mevcuttur : Bölümleme bilgisi diske yazıldıktan sonra geri dönüş yoktur ve bölümleme yaptığınız disk bölümü üzerindeki bilgileri kaybedersiniz. Lütfen yaptığınız değişiklikleri bir kez daha gözden geçirin!

    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.

Sabit diski bölümleme esnasında karşılaşılan bazı sorunlar vardır. Bunların en önemlisi Linux'un nasıl çalıştırılacağı ile ilgilidir. Linux açmak için belli başlı üç yöntem vardır:

- 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.

Next: Setup Programı Up: Bilgisayarın Linux ile Açılması Previous: Ön Hazırlıklar