Linux Altında FDISK Kullanımı

Linux ve Unix tabanli isletim sistemlerini hep beraber tanıyıp öğreneceğiz.
Cevapla
Kullanıcı avatarı
spectacuLar
Kilobyte2
Kilobyte2
Mesajlar: 370
Kayıt: 21 Eyl 2006, 18:04
cinsiyet: Erkek

Linux Altında FDISK Kullanımı

Mesaj gönderen spectacuLar » 17 Şub 2007, 00:10

Linux Altında FDISK Kullanımı

Oldukça sade olan arabirimine karsın fdisk, çok güçlü ve kullanımı kolay bir araçtır. Fdisk'i çalıstırmak için "su -" komutuyla root olup , yerinde /dev/hda veya /dev/sda benzeri bölümlemek istedigimiz aygıt olacak sekilde "fdisk " ı çalıstırın , veya /sbin dizini PATH'ınızda yoksa "/sbin/fdisk " yazın ve kullanın. simdi gelin biraz FDISK ile çalısalım

Fdisk Kullanımı

Oldukça sade olan arabirimine karsın fdisk , çok güçlü ve kullanımı kolay bir araçtır. Fdisk'i çalıstırmak için "su" komutuyla root olup , yerinde /dev/hda veya /dev/sda benzeri bölümlemek istedigimiz aygıt olacak sekilde "fdisk " ı çalıstırın , veya /sbin dizini PATH'ınızda yoksa "/sbin/fdisk " yazın.

Benim örnegimde Linux ikinci HDDmde yani /dev/hdb yi kullanacagım. Gerekli yerde bunu degistirmeyi unutmayın.

simdi , fdisk'e girdiginizde sunun gibi birsey görmelisiniz :

[root@localhost /]# /sbin/fdisk /dev/hdb

The number of cylinders for this disk is set to 2491.
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)

Command (m for help):


HDD geometrinize baglı olarak bu uyarı mesajını alıyor olabilirsinz veya olmayabilirsiniz. 8GB'ın üstündeki çogu diskte bu uyarı mesajı çıkacaktır. Peki simdi ne yapacagım? Tek fikrim imleçteki "m for help" (yardım için m) yazısı, o zaman bir deneyelim :

Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Command (m for help):


Mükemmel! simdi gerekli olan komutların bir listesine sahibiz. Tamam , simdi HDD yi kesfedip , fdisk'in neler söyleyecegine bakalım. O zaman "p" ile bölümleme tablosuna bakalım:

Command (m for help): p

Disk /dev/hdb: 255 heads, 63 sectors, 2491 cylinders
Units = cylinders of 16065 * 512 bytes

Device Boot Start End Blocks Id System
/dev/hdb1 * 1 195 1566306 a5 BSD/386
/dev/hdb2 196 212 136552+ 82 Linux swap
/dev/hdb3 213 2491 18306067+ 5 Extended
/dev/hdb5 213 474 2104514+ 83 Linux
/dev/hdb6 475 506 257039+ 83 Linux
/dev/hdb7 507 532 208844+ 83 Linux
/dev/hdb8 795 925 1052257 83 Linux
/dev/hdb9 926 1056 1052257 83 Linux
/dev/hdb10 1057 1088 257008+ 83 Linux
/dev/hdb11 1089 1350 2104483+ 83 Linux
/dev/hdb12 533 794 2104483+ 83 Linux

Command (m for help):


]Sütunların hepsine teker teker bakalım:

Device (Aygıt) - fdisk'in hangi sürücü ve bölüme baktıgını belirtir. Buranın sonundaki (ve tek) numara bölüm numarasıdır. 1-4 bölümleri birincil bölümler olup 5'in üstündekiler mantıksal bölümlerdir. Ne demek olduklarına girmeyecegim çünkü o zaman bu dosya olması gerektiginden daha uzun olur.

Boot - Eger bu sütunda yıldız varsa (benim /dev/hdb1 imdeki gibi) bunun anlamı o bölümün açılabilir (bootable) olarak isaretlendigidir yani eger birincil disk bu olsaydı (ki IDE de /dev/hda dir) , OS veya açılıs yükleyicisinin bulunması gereken yer yıldızlı sütunla belirtilen bölüm olurdu.

Start (baslangıç) - Bölümün baslangıç silindiri. Bir silindirin büyüklügü tüm HDDlerde aynı olmasada , sizinkinin büyüklügünü yukarıdaki bilgilere bakarak bulabilirsiniz. "Units = cylinders of 16065 * 512 bytes" yazan yer size aynı zamanda silindir boyutunuzuda bildirir. O zaman benimki bu HDD için silindir basına 8MB civarı.

End (Bitis) - Bölümün bitis silindiri. LILO'nun /boot un 1024 üncü silindirden daha ileride olmasına izin vermeyen (artık eski olan) bir kısıtlamasından dolayı , bir sistem yüklerken bu önemli olabilir. Bizim için bundan baska bir önemi yok.

Blocks (Blok) - Bölümdeki blok sayısı. Bir blogun boyutu , dosya sistemini nasıl düzenlediginize baglıdır. Büyük bir çogunlukta bu deger 1KB dir. Örnegin , ilk bölümümde 1566306KB veya 1.5GB civarı bos yer var - dogru gibi görünüyor :)

Id - Bölüm çesidi için bir tür kimlik numarası. Her bölüm çesidinin degisik bir numarası var. "l" yazarak fdisk'in destekledigi tüm çesitlerin numaralarını basitçe görebilirsiniz (list known partition types - bilinen bölüm çesitlerini listele).

System - Bu sadece ID satırının ingilizce sekli. Sadece ID sütunundaki degeri çesit tablosuyla karsılastırıp uyan çesidi buraya yazar.

Bölüm Yaratmak

Fdisk'in arkasındaki sırrı anlamanızı saglayacagını umdugum iki örnek yapacagım.

Swap Bölümü Yaratmak
Linux'u swap olmadan çalıstırıp çalıstıramayacagımı bilmiyorum ama böyle birseyi kesinlikle istemem. simdi bu önemli bölümlerden biri oluyor. Özel kısıtlamalara sahip degil , gerçekten. Aslında bazı eski (2.0) kerneller 128MB den daha büyük swap alanlarını kullanamıyorlar. Fakat artık bu kerneller çok az kullanılıyorlar ve güncellenseler iyi olur.

Bu örnekte , sürücümün sonunda 256MB büyüklügünde bir swap bölümü olusturacagım. Fdisk'e girdikten sonra , "add a new partition" (yeni bir bölüm ekle) seçenegi için "n" tusuna basıyorum. Ekranda sunlar çıkıyor :

Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)


Bu ikisi arasındaki farkı önceden birazcık açıklamıstım. Diger bir birincil bölüm için yerim olmadıgından (1-3 bölümleri tüm silindirlerimi kaplıyor) , mantıksal bir bölüm yaratmak zorundayım ve "l" yi seçiyorum.

First cylinder (1351-2491, default 1351):

Bölümleriniz arasında bosluk bırakmak için iyi bir nedeniniz yoksa , bostaki ilk silindir olan varsayılan degerini seçmek en iyidi. Bu degeri girebilir ya da sadece Enter tusuna basabilirsiniz.

Using default value 1351
Last cylinder or +size or +sizeM or +sizeK (1351-2491,
default 2491):


İste fdisk'in en güzel özelligi burada. Bir bölüme ayıracagınız silindir adedini hesaplamak zorunda degilsiniz , MB veya KB olarak degeri vererek fdisk'in en yakın degeri hesaplamasını saglayabilirsiniz. 256MB lık bir swap alanı istedigim için "+256MB" giriyorum(tırnaklar yok).

Last cylinder or +size or +sizeM or +sizeK (1351-2491,
default 2491): +256M

Command (m for help):


Ve yine komut satırındayım. Bölümleme tablosuna bir kez daha bakıp ise yaramıs mı diye kontrol edelim:


Command (m for help): p

Disk /dev/hdb: 255 heads, 63 sectors, 2491 cylinders
Units = cylinders of 16065 * 512 bytes

Device Boot Start End Blocks Id System
/dev/hdb1 * 1 195 1566306 a5 BSD/386
/dev/hdb2 196 212 136552+ 82 Linux swap
/dev/hdb3 213 2491 18306067+ 5 Extended
/dev/hdb5 213 474 2104514+ 83 Linux
/dev/hdb6 475 506 257039+ 83 Linux
/dev/hdb7 507 532 208844+ 83 Linux
/dev/hdb8 795 925 1052257 83 Linux
/dev/hdb9 926 1056 1052257 83 Linux
/dev/hdb10 1057 1088 257008+ 83 Linux
/dev/hdb11 1089 1350 2104483+ 83 Linux
/dev/hdb12 533 794 2104483+ 83 Linux
/dev/hdb13 1351 1383 265041 83 Linux

Command (m for help):


Evet , artık sonda 259MB lık bir bölüme sahibim. Fakat bir problem var. Bu bir Linux bölümü (ID=83) ; Linux swap bölümü (ID=82) degil. Komut listesine kısa bir süre baktıktan (m) sonra , "change a partition system id" (bölümün sistem idsini degistir) seçenegi olan "t" yi görüyorum. Dogru gibi görünüyor o zaman bir sans verelim.


Command (m for help): t
Partition number (1-13):


Tabiiki az önce #13 bölümünü yarattık o yüzden onu seçiyorum:


Partition number (1-13): 13
Hex code (type L to list codes):


Yukarı bakıyorum ve Linux swap ın hex kodu(ID) 82 yi görüyorum ama emin olmak için "L" ye basıyorum ve Linux swap'in ID'sinin 82 oldugundan gerçekten emin oluyorum , o yüzden 82 yi giriyorum:


Hex code (type L to list codes): 82
Changed system type of partition 13 to 82 (Linux swap)


Mükemmel! Degisikliklerin gerçekten ise yaradıgından emin olmak için bölümleme listesine tekrar bakalım. Bölümümüzle ilgili su satırı görüyorum:


/dev/hdb13 1351 1383 265041 82 Linux swap


Müthis. Linux swap bölümü olusturduk. simdi bunun diske gerçekten yazılması için , bölümleme tablosunu diske yazdırmalıyız. Bu is için "w" seçenegini - "write table to disk and exit" (diske yaz ve çık) - kullanıyoruz. Bunu yaptıgımızda :


Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.


Böylece diskimizde swap için yeni bir bölüme sahip olduk. Tek yapmamız gereken, sistemin düzgün okuyup yazabilmesi için swap dosya sistemini ayarlamamız. Bu isi bu belgede anlatmayacagım.


Bir EXT2 Bölümü Olusturmak
Bu günlerde linux varsayılan olarak ext2 sistemini kullanıyor , o yüzden bir sonraki ögrenecegimiz sey bu olacak. Bunu oldukça hızlı geçecegim çünkü sistem ID si dısında diger hersey swap bölümü yaratılmasıyla aynı.

Bu örnekte 1GB lık bir bölüm olusturacagım. Yine ilk adım "n" :


Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)


Sonra mantıksal bölüm için "l" :


l
First cylinder (1384-2491, default 1384):


Varsayılanı kullan (Enter) :


Using default value 1384
Last cylinder or +size or +sizeM or +sizeK (1384-2491,
default 2491):


1GB yani 1024MB istiyoruz o zaman "+1024MB" giriyoruz :


Last cylinder or +size or +sizeM or +sizeK (1384-2491,
default 2491): +1024M

Command (m for help):


Hersey dogrumu diye bölümleme tablosuna bakıyoruz ve son satırda su var :

/dev/hdb14 1384 1514 1052226 83 Linux

Birkez daha tek yapmamız gereken bunu diske yazıp dosya sistemini olusturmak ve hazırız. O yüzden "w" ye basıyoruz ve bölüm olusturma isi bitti.


Bölümleri silmek [/SIZE]

Bu da abartılı derecede kolay. Bir örnek yapmaya bile gerek yok. Bu is için fdisk'te "d" seçenegi var. Bastıgınızda ise bir bölüm numarası isteyecektir. Numarayı verin ve o bölüm artık yok!

Bununla birlikte teknik olarak (ve insanların yanlıslıkla bölüm silmelerinin önüne geçmek için)bu is , siz diske yazmadan gerçeklesmeyecektir. O yüzden bölümü sildikten sonra bir kere "w" ye basın ve tamamdır.

ÖNEMLİ NOT - 5 i geçtikten sonra bölüm numaraları arasında bosluk olamaz. Eger sonuncu olmayan bir mantıksal bölümü silerseniz , bundan sonraki gelen tüm bölümler birbirine karısır çünkü bu onları bir sıra asagı iter. Benim örnegimde , eger 13. bölümü silseydim 14. bölüm , yeni 13. bölüm olurdu. Bu , çalısan bir sistemde gerçekten tehlikeli. Eger normalde baglangıçta baglanan bölümlerden önce gelen bir bölümü silerseniz , karısıklıgı önlemek için MUTLAKA /etc/fstab dosyasını düzenlemelisiniz.

Fdisk bu kadar! Artık bir Linux sistemi kurmak için gerekli olan iki önemli bölüm çesidini yaratabilirsiniz.

Orjinal belge : http://www.justlinux.com/nhf/Installati ... fdisk.html



Cevapla