Linux Komutunu Öğrenin - fdisk

isim

fdisk - Linux için bölüm tablosu manipülatör

özet

fdisk [-u] [-b sektörü boyutu ] [-C silindirleri ] [-H kafaları ] [-S sect ] aygıtı

fdisk -l [-u] [ aygıt ... ]

fdisk -s bölümü ...

fdisk -v

Açıklama

Sabit diskler, bölümler olarak adlandırılan bir veya daha fazla mantıksal diske ayrılabilir. Bu bölüm, diskin sektör 0'sında bulunan bölüm tablosunda açıklanmaktadır.

BSD dünyasında bir kişi disk diskleri ve bir disklabel hakkında konuşuyor.

Linux, kök dosya sistemi için en az bir bölüme ihtiyaç duyar. Takas dosyalarını ve / veya takas bölümlerini kullanabilir, ancak daha etkilidir. Bu nedenle, genellikle bir takas bölümü olarak ayrılmış ikinci bir Linux bölümü isteyecektir. Intel uyumlu donanımlarda, sistemi önleyen BIOS , genellikle yalnızca diskin ilk 1024 silindirine erişebilir. Bu sebeple, büyük diskleri olan insanlar, bu nesnenin olduğundan emin olmak için, çekirdek görüntüsünü ve önyükleme sırasında gereken birkaç yardımcı dosyayı saklamak için genellikle sadece bir MB büyük, tipik olarak / boot üzerine monte edilmiş üçüncü bir bölüm oluştururlar. BIOS’a erişilebilir. Güvenlik, yönetim kolaylığı ve yedekleme ya da test etme, minimum bölümden daha fazla kullanım için neden olabilir.

Yazdırma sorunlarını çözme, baskı kuyruğu yönetim yazılımı ile zaman kazanma.

fdisk (çağrının ilk biçiminde) bölüm tablolarının oluşturulması ve değiştirilmesi için menü odaklı bir programdır. DOS tipi bölüm tablolarını ve BSD veya SUN tipi disketrelerini anlar.

Cihaz genellikle şunlardan biridir:

/ dev / hda / dev / hdb / dev / sda / dev / sdb

(IDE diskleri için / dev / hd [ah], SCSI diskleri için / dev / sd [ap], ESDI diskleri için / dev / ed [ad], XT diskleri için / dev / xd [ab]. Bir cihaz adı tüm diski ifade eder.

Bölüm , bir bölüm adıyla takip edilen bir cihaz adıdır. Örneğin, / dev / hda1 sistemdeki ilk IDE sabit diskindeki ilk bölümdür. Diskler en fazla 15 bölüm içerebilir. Ayrıca bkz. /usr/src/linux/Documentation/devices.txt .

Bir BSD / SUN tipi disklabel 8 bölümü tanımlayabilir, bunların üçüncüsü bir "tüm disk" bölümü olmalıdır. İlk sektörünü (bir takas bölümü gibi) silindir 0'da kullanan bir bölüm başlatmayın, çünkü bu disk etiketini yok edecektir.

Bir IRIX / SGI tipi disklabel, onbirinci bölümün bir 'cilt' bölümü olması gereken 16 bölüm, yani dokuzuncu 'birim başlığı' etiketli olmalıdır. Hacim başlığı ayrıca bölüm tablosunu da kapsayacaktır, yani blok sıfırdan başlar ve varsayılan olarak beş silindirden fazladır. Hacim başlığındaki kalan boşluk, başlık dizini girişleri tarafından kullanılabilir. Birim başlığıyla hiçbir bölüm çakışamaz. Ayrıca, bölüm tablosunu kaybedeceğinizden, türünü değiştirmeyin ve üzerine dosya sistemi yapmayın. Bu tür etiketleri sadece Linux'ta IRIX / SGI makinelerinde veya Linux altındaki IRIX / SGI disklerinde çalışırken kullanın.

Bir DOS tipi bölüm tablosu, sınırsız sayıda bölüm tanımlayabilir. Sektör 0'da 4 bölümün ('birincil' olarak adlandırılır) açıklaması için yer vardır. Bunlardan biri genişletilmiş bir bölüm olabilir; Bu, her biri ilgili mantıksal bölümlerden önce, bağlantılı bir sektör listesinde bulunan tanımlayıcılarla mantıksal bölümleri tutan bir kutudur. Mevcut olan veya olmayan dört ana bölüm, 1-4 sayıları alır. Mantıksal bölümler 5'den numaralandırmaya başlar.

Bir DOS tipi bölüm tablosunda başlangıç ​​ofseti ve her bölümün boyutu iki şekilde saklanır: mutlak sayıda sektör (32 bit olarak verilir) ve Silindirler / Başlıklar / Sektörler üçlü olarak (10 + 8 + 6 olarak verilir) bit). İlk tamam - 512 bayt sektörlerle bu 2 TB kadar çalışır. İkincisinin iki farklı sorunu var. Her şeyden önce, bu C / H / S alanları sadece başlık sayısı ve parça başına sektör sayısı bilindiğinde doldurulabilir. İkinci olarak, bu sayıların ne olduğunu bilsek bile, mevcut olan 24 bit yeterli olmaz. DOS sadece C / H / S kullanır, Windows her ikisini de kullanır, Linux asla C / H / S kullanmaz.

Mümkünse, fdisk disk geometrisini otomatik olarak elde edecektir. Bu zorunlu olarak fiziksel disk geometrisi (aslında, modern diskler gerçekten bir fiziksel geometri gibi bir şeye sahip değildir, kesinlikle basit Silindirler / Başlıklar / Sektörler formunda açıklanabilecek bir şey değildir), ancak MS-DOS'un kullandığı disk geometrisidir. bölüm tablosu için.

Genellikle her şey varsayılan olarak iyi gider ve Linux diskin tek sistemi ise sorun yoktur. Ancak, diskin diğer işletim sistemleriyle paylaşılması gerekiyorsa, başka bir işletim sisteminden fdisk'in en az bir bölüm oluşturmasına izin vermek genellikle iyi bir fikirdir. Linux başladığında, bölüm tablosuna bakar ve diğer sistemlerle iyi bir işbirliği için ne (sahte) geometrinin gerekli olduğunu anlamaya çalışır.

Bir bölüm tablosu yazdırıldığında, bölüm tablosu girişlerinde bir tutarlılık kontrolü gerçekleştirilir. Bu kontrol, fiziksel ve mantıksal başlangıç ​​ve bitiş noktalarının aynı olduğunu ve bölümün bir silindir sınırında (birinci bölüm hariç) başladığını ve bittiğini doğrular.

MS-DOS'un bazı sürümleri, bir silindir sınırında değil, ilk silindirin 2. sektöründe başlayan ilk bölümü oluşturur. Silindir 1'den başlayan bölümler silindir sınırında başlayamaz, ancak makinenizde OS / 2 yoksa, bu durumun zorluğa neden olması muhtemel değildir.

Bir bölüm () ve bir BLKRRPART ioctl () (disk bölümünden bölüm tablosunu tekrar oku) bölüm tablosu güncellendiğinde çıkmadan önce gerçekleştirilir. Uzun zaman önce, fdisk'in kullanılmasından sonra yeniden başlatılması gerekliydi. Artık böyle bir durum olduğunu düşünmüyorum - aslında çok hızlı bir şekilde yeniden başlatma, henüz yazılmamış verilerin kaybolmasına neden olabilir. Hem çekirdek hem de disk donanımının verileri arabelleğe alabileceğini unutmayın.

Dos 6.x Uyarı

DOS 6.x FORMAT komutu, bölümün veri alanının ilk sektöründeki bazı bilgileri arar ve bu bilgiyi bölüm tablosundaki bilgilerden daha güvenilir olarak değerlendirir. DOS FORMAT, DOS FDISK'in bir boyut değiştiğinde bir bölümün ilk 512 baytını temizlemesini bekler. DOS FORMAT / U bayrağı verilse bile bu ekstra bilgiye bakacak - bu, DOS FORMAT ve DOS FDISK'ta bir hata olduğunu düşünüyoruz.

Alt satır, bir DOS bölüm tablosu girdisi boyutunu değiştirmek için cfdisk veya fdisk kullanırsanız, bölüm biçimlendirmek için DOS FORMAT kullanmadan önce bu bölümün ilk 512 baytını sıfırlamak için de dd kullanmanız gerekir. Örneğin, / dev / hda1 için bir DOS bölüm tablosu girişi yapmak için cfdisk kullanıyorsanız, (fdisk veya cfdisk'ten çıktıktan ve Linux'un yeniden başlatılmasından sonra bölüm tablosu bilgileri geçerli olur) komutunu "dd if = / dev / sıfır / / dev / hda1 bs = 512 sayısı = 1 ", bölümün ilk 512 baytını sıfırlamak için.

Dd komutunu kullanırsanız son derece dikkatli olun, çünkü küçük bir yazım hatası diskinizdeki tüm verileri işe yaramaz hale getirebilir.

En iyi sonuç için, her zaman OS'ye özgü bir bölüm tablosu programı kullanmalısınız. Örneğin, DOS FDISK programı ve Linux bölümleri ile Linux fdisk veya Linux cfdisk programı ile DOS bölümleri yapmalısınız.

Seçenekler

-b sektörboyu

Diskin sektör boyutunu belirtin. Geçerli değerler 512, 1024 veya 2048'dir. (Son çekirdekler sektör boyutunu bilir. Bunu yalnızca eski çekirdeklerde veya çekirdeklerin fikirlerini geçersiz kılmak için kullanın.)

-C silindirler

Diskin silindir sayısını belirtin. Kimsenin neden böyle yapmak istediği hakkında hiçbir fikrim yok.

-H kafaları

Diskin başlık sayısını belirtin. (Fiziksel sayı değil elbette, ancak bölüm tabloları için kullanılan sayı.) Makul değerler 255 ve 16'dır.

-S mezhepleri

Diskin iz başına sektör sayısını belirtin. (Fiziksel sayı değil elbette, ancak bölüm tabloları için kullanılan sayı.) Makul bir değer 63'tür.

-l

Belirtilen cihazlar için bölüm tablolarını listeleyip çıkın. Herhangi bir cihaz verilmediyse, / proc / bölümlerinde belirtilenler (eğer varsa) kullanılır.

-u

Bölüm tablolarını listelerken, silindirler yerine sektörlerde boyutlar verin.

-s bölüm

Bölümün boyutu (bloklar halinde) standart çıktıya yazdırılır.

-v

Fdisk programının sürüm numarasını yazdırın ve çıkın.