Linux Fdisk Kullanımı


Kategori:
kullanım

Linux sistemlerde kullanmaktan zevk aldığımız olayların başında tabiki Terminal ekranından komutları yazarak kendi işimizi kendimizin görmesidir. Bunun içindir ki fdisk komutu bizim için hard disk üzerindeki kontrollerimizi sağlama adına güçlü silahlarımızdan birisidir. fdisk komutu ile; gibi birçok işlemleri kolaylıkla yapabiliriz. fdisk kullanımı;
fdisk /dev/sdX
şeklinde olmaktadır. Burada dikkat etmeniz gereken nokta ise yerine işlem yapacağınız diske ait harfi yazmanız gerekmektedir. Bunları görebilmek için
fdisk -l
komutu ile sisteminizde bağlı bulunan diskleri listelemek gereklidir. Bu komut ile sisteminizde bulunan diskler Terminal ekranında listelenecektir. Genelde sisteminizin bulunduğu Ana Hard Disk /dev/sda olmaktadır. Eğer sisteminizi kurarken yada kurduktan sonra bir değişiklik yapmadıysanız ve sisteminizde tek bir harddisk var ise bu değer bu şekilde karşınıza çıkar. Şimdi birkaç fdisk kulanma algoritması oluşturalım ve fdisk kullanımını daha sade ve anlaşılır şekilde tamamlayalım. Örneğin bilgisayarınıza bir adet USB bellek taktınız şimdi bu bellek üzerinden bazı fdisk kullanımarını gerçekleştirelim. Öncelikle sisteme bağlanan USB belleğin aygıt(device, /dev/) değerini görelim ki yanlış disk üzerinde işlem yapmayalım.
fdisk -l . .. Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: C9DED9F6-BED3-4F9D-B743-2CBDEE05C3C6 Device Start End Sectors Size Type /dev/sda1 2048 206847 204800 100M EFI System /dev/sda2 206848 250069646 249862799 119.1G Linux filesystem Disk /dev/sdb: 15 GiB, 16122904576 bytes, 31490048 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x0c7b9850 Device Boot Start End Sectors Size Id Type /dev/sdb1 * 64 5570559 5570496 2.7G 17 Hidden HPFS/NTFS /dev/sdb2 5570560 5752895 182336 89M 1 FAT12
sizlerde yukarıdaki çıktıya benzer bir çıktıyı görüyor olmalısınız. Burada bizim sistemimizde bulunan Ana Hard Disk /dev/sda aygıtı, taktığımız USb bellek ise /dev/sdb aygıtı olarak listelendi. Burada USb belleği yada istediğiniz diski tanıyabilmek için xxx GİB değerlerinin olduğu bölüme de bakabiliriz. Usb belleğimiz 16 Gigabyte ise bu durumda ilk hard diskin USB belleğimiz olmadığını anlamış oluruz. Yada fdisk -l komutunu herhangi bir disk bağlamadan önce çalıştırıp bakarız ve taktıktan sonra tekrardan fdisk -l komutunu çalıştırırız ve hangi aygıt eklenmiş ise o bizim sonradan taktığımız disk olur. Birkaç defa kullandığınız zaman bir aşinalık olacak ve hiç bakmadan dahi hangi disk olduğunu bileceksinizdir. Artık USb belleğin aygıt adını(/dev/sdb) biliyoruz.
Not: Fdisk kullanımında son komut olan w harfine basıncaya kadar disk üzerinde hiçbirşey silinmez keydedilmez !
Öncelikle fdisk ile USb belleğimizi açalım.
bash-4.3# fdisk /dev/sdb Welcome to fdisk (util-linux 2.27.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help):
burada sizlerden bir komut girmenizi istiyor daha doğrusu komutun baş harfini girmenizi istiyor. harfi ile yardım menüsüne ulaşabileceğinizi söylüyor. Şimdi USB disk içerisinde olan bölümleri listeleyelim,(listeleme için p harfi)
bash-4.3# fdisk /dev/sdb Welcome to fdisk (util-linux 2.27.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/sdb: 15 GiB, 16122904576 bytes, 31490048 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x0c7b9850 Device Boot Start End Sectors Size Id Type /dev/sdb1 * 64 5570559 5570496 2.7G 17 Hidden HPFS/NTFS /dev/sdb2 5570560 5752895 182336 89M 1 FAT12
evet USb bellek içerisinde /dev/sdb1 ve /dev/sdb2 olmak üzere iki adet bölüm(partition) bulunuyor. Genelde USb belleklerde bir partition bulunur fakat bunuun bir önemi yok biz önceden bazı işlerimiz için bu şekilde bölümle yaptığımız için iki bölüm görünüyor. İsterse 100 bölüm olsun bunun bizim için bir mahsuru bulunmuyor. Şimdi /dev/sdb1 olan ilk bölümü silelim,(bölüm-partition silme için d harfi)
Command (m for help): p Disk /dev/sdb: 15 GiB, 16122904576 bytes, 31490048 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x0c7b9850 Device Boot Start End Sectors Size Id Type /dev/sdb1 * 64 5570559 5570496 2.7G 17 Hidden HPFS/NTFS /dev/sdb2 5570560 5752895 182336 89M 1 FAT12 Command (m for help): d Partition number (1,2, default 2): 1
öncelikle sil komutunu(d) yazdık sonra bizden kaç numaralı bölümü silmek istediğimizi sordu. Burada ilk bölümü sileceğimiz için yazdık ve Enter a bastık. Son komutlarımız şu şekilde oldu.
Command (m for help): d Partition number (1,2, default 2): 1 Partition 1 has been deleted. Command (m for help):
Burada bizlere bir numaralı partition(bölüm) silindiğini söylüyor(Partition 1 has been deleted.) Şimdi aynı şekilde ikinci bölümüde silelim, fdisk ile işlem yaparken her komut çalıştırılır ve diğer komutu girmeniz isteniz.
Command (m for help): d Partition number (1,2, default 2): 1 Partition 1 has been deleted. Command (m for help): d Selected partition 2 Partition 2 has been deleted. Command (m for help):
evet 2 numaralı bölümde silindi, burada bizden bölüm numarası istemedi çünkü zaten bir bölüm var silinebilecek. 1 numaralı bölümü sildiğimiz için geriye 2 numaralı bölüm kaldı ve program bunu otomatik olarak tamamladı. Şimdi disk içerisindeki bölümleri sildik ve diskimiz bölüm tablosuna sahip değil yani ham olarak duruyor. Yeni bir tane bölüm oluşturalım,
Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p):
n harfine basarak yeni bir bölüm oluşturmasını istedik ve bizlere bölüm tipini soruyor. Varsayılan olarak Primary(birincil) seçili bizde bu türde bölüm oluşturacağız. Eğer extended olarak bölüm oluşturmak iserseniz harfine basmanız gerekir. Şunuda belirtelim, bu gibi parantez içerisinde default olan durumlarda eğer hiçbirşeye basmaz yada hiçbirşeyi seçmezseniz otomatik olarak seçilecek olan değeri göstermektedir. Burada Primary default(varsayılan) olduğu için birşey yazmayıp Enter'a da bassak yada yazıpta Enter'a bassak her durumda Primary bölüm tipi seçilecektir. Enter'a basıyoruz ve devam ediyoruz.
Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (1-4, default 1):
şimdi bizden bölüm numarası istiyor, başka bir bölüm olmadığı için değerini seçiyoruz, ki zaten default değeri de 1, o yüzden Enter'a basıyoruz.
Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (1-4, default 1): First sector (2048-31490047, default 2048):
başlangıç sectör değerini istiyor hiçbirşey yapmadan Enter'a basıyoruz.
Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (1-4, default 1): First sector (2048-31490047, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-31490047, default 31490047):
son sector değerini istiyor. Burada dikkat edilmesi gereken nokta oluşturulacak olan bölümün büyüklüğünün ne kadar olacağıdır. Eğer hiç bir şey seçmez iseniz diskin tamamı kullanılacaktır. Fakat örneğin siz 5 Gigabyte büyüklüğünde bir bölüm oluşturmak istiyorsunuz, daha sonra kalan alan ile bir bölüm daha oluşturmak istiyor olabilirsiniz. Örneğin bu bölümü 5 Gigabyte büyüklüğünde yapalım.
Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (1-4, default 1): First sector (2048-31490047, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-31490047, default 31490047): +5G Created a new partition 1 of type 'Linux' and of size 5 GiB.
evet 5 Gigabyte büyüklüğünde bir bölüm oluşturmuş olduk. Toplamda 15 Gigabyte büyüklüğünde bir USb belleğimiz vardı ve biz 5 Gigabyte büyüklüğünde bir bölüm oluşturduk dolayısıyla geride 10 Gigabyte bir alan hala duruyor. O alanı da istediğimiz şekilde kullanabiliriz. İşlemler aynı şekilde gerçekleştirilecektir. Bu büyüklüğü Megabyte olarak belirlemek isteseydik o zaman +5M yazmamız gerekecekti. Kilobte için +5K Şimdi Linux disk tipinde bölüm oluşturuldu biz USb bellek kullandığımız ve FAT32 türünde bir bölüm oluşturmak istiyoruz. Tabi burada seçim size kalmış istediğiniz Disk tipinde bölüm oluşturabilirsiniz. Tüm tiplerinin listesine ulaşmak için önce t sonra harfine basmanız yeterlidir. Böylece bütün bölüm tipleri karşınızda listelenecektir. Bazı bölüm tipleri;
  1. 83 : Linux
  2. 82 : Swap
  3. 7 :  Ntfs
  4. b : Fat32
diğer tipleri L harfine basarak inceleyebilirsiniz. Şimdi tipini seçelim. Tabi öncelikle harfi ile bölüm tipini belirlemek/değiştirmek istediğimizi söylüyoruz programa.
Command (m for help): t Selected partition 1 Partition type (type L to list all types): b Changed type of partition 'Linux' to 'W95 FAT32'.
evet Linux bölüm tipi Fat32 olarak değiştirildi. Şu ana kadar yaptığımız bütün işlemler henüz kaydedilmedi, yani USB belleğimiz hala ilk taktığımız şekilde duruyor. Yukarıda notta belirttiğimiz üzere harfine basıncaya kadar hiçbirşey gerçekleşmez. Biz şuana kadar fdisk komutuna neler yapması gerektiğini anlattık, fdisk komutu harfine bastıktan sonra yaptığımız işlemleri gerçekleştirecektir. Bu durum bizler için bir güvenlik önlemidir. Eğer yanlış birşey yaptıysak hemen prgramdan çıkış yaparak yanlışın önüne geçebiliriz. Şimdi fdisk komutu ne yapacağını biliyor, yukarıdaki silme/oluşturma/tip değiştirme işlemlerini sırası ile gerçekleştirecek. Peki işlemleri diske yazalım;
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. bash-4.3#
evet şimdi işlemlerin hepsi sırası ile uygulandı. Şu anda diskinizin içeriğini görmek isterseniz bunu yapamazsınız. Çünkü biz bölümü oluşturduk fakat bölümü belirtilen tipte formatlamadık. Son olarak oluşturduğumuz bölümü(partition) belirlediğimiz tipe göre formatlayalım Bunun için mkfs komutunu kullanacağız.Kullanım için man mkfs komutu ile mkfs çalışma sistemine bakabilirsiniz. USb belleğimizin aygıt değerini biliyoruz(/dev/sdb) ve bölüm numarası o halde format atacağımız bölümün tam adı /dev/sdb1 olacaktır. Ayrıca tipi FAT32 şimdi format atalım,
bash-4.3# mkfs.vfat -F32 /dev/sdb1 mkfs.fat 3.0.28 (2015-05-16) bash-4.3#
evet format atma işlemi başarılı. Şimdi 5 Gigabyte büyüküğünde bir bölümüz var ve kullanıma hazır. Eğer siz USB yi tamamen bir bölüm olarak kullanmak isterseniz, ve hatta örnek olması adına yukarıdaki işlemleri tekrardan uygulayarak bölüm büyüklüğü(last sector) kısmında sadece Enter'a basınız. Böylece bütün alanı kullanmış ve temiz bir format atmış olursunuz. Bölüm tiplerine özel birkaç format atma komutu örneği,
  1. ext4 tipi için : mkfs.ext4 /dev/sdX
  2. msdos için : mkfs.msdos /dev/sdX
şeklinde kullanımlar bulunmaktadır. mkfs komutu daha birçok format işlemini de bizlere sunmaktadır. Genelde bu tipte formatlar kullanıldığı için şimdilik bunları anlatıyoruz. Ekstra, belirtilen diskteki bölüme boot flag vermek için aşağıdaki komut biçimini kullanabilirsiniz. Aşağıdaki kullanımda bölüm numarası en sona ayrı yazılır. Aşağıdaki komutun anlamı /dev/sdb aygıtında 1 numaralı bölüme boot özelliği ver.
/sbin/sfdisk -A /dev/sdb 1
Son Söz: Bu işlemleri kullanmadığınız yada içerisinde önemli dosyaların olmadığı diskler üzerinde birkaç kez deneyerek, fdisk kullanmanın ne kadar kolay olduğunu görebilirsiniz. Linux üzerinde deneme yapmaktan çekinmeyiniz eğer denemeler yapmaz ve komut kullanım alışkanlığınızı geliştirmezseniz bu sizin için ileride can sıkıntısı oluşturabilir. Unutmayın Linux kullanmanın en özel nedeni kontrolün bizde olmasıdır.



Diğer Paylaşımlar
Yorumlar