Fdisk'in çıktısı ne anlama geliyor?


10

Ben bir flash sürücü var ve ben çıktı olarak özelliklerini anlamak istiyorum fdisk. Bunu eklenen ve kontrol dmesggibi ben monte edilmiş olduğunu görebiliyordu /dev/sdb1koştum böylece fdiskiçin rapor olduğunu görmek için/dev/sdb

mike@mike-Qosmio-X770:~$ sudo fdisk -l
[sudo] password for mike: 

Disk /dev/sdb: 127 MB, 127926272 bytes
16 heads, 32 sectors/track, 488 cylinders, total 249856 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
Disk identifier: 0x6b3ee723

   Device Boot      Start         End      Blocks   Id  System
 /dev/sdb1   *          32      249854      124911+   b  W95 FAT32

Anlayabildiğim kadarıyla, sürücü 128MB FAT32 formatlı bir flash sürücü, üzerinde sadece 1 bölüm var. "32" ile başlar (muhtemelen bazı FTL için 0-31 kullanılır).

Bir "sektör" 512 bayt büyüklüğünde ve 249.856 sektör (toplam 122MB) olduğunu bildiriyor.

Şimdi Silindir, kafa ve sektörler / parça sayısı konusunda kafam karıştı. Silindirlerin / kafaların Manyetik disk depolama türleri ile ilgisi olduğunu biliyorum. Flash cihaza gelince bunun bir anlamı var mı? Yoksa fdiskmanyetik olmayan bir depolama ortamına gerçekten bir anlamı olmayan bu sadece "kalan" bilgiler midir? Daha sonra, neden değerler veriyoruz?

İkinci soru, bir bloğun "boyutu" nedir? :

Blocks
 124911+

Ve +sonra blok sayısının anlamı nedir?


1
Güzel soru, +1, daha önce hiç düşünmemiştim. "FTL" ile ne demek istiyorsun? Bana göre bu, Işıktan Daha Hızlı demek, başka bir şeye atıfta bulunduğunuzu hayal ediyorum.
terdon

1
@terdon - FTL (Flash çeviri katmanı) whare tesviye ve whatnot yapan şeyler
Mike

Yanıtlar:


3

Bir Blokun Boyutu

3 boyutlu parçaya (tüm disklerde aynı parça) silindir denir. Her parkur 63 sektöre ayrılmıştır. Her sektör 512 bayt veri içerir. Bu nedenle, bölüm tablosundaki blok boyutu 64 kafa * 63 sektör * 512 bayt er ... bölü 1024 ... :-)

Kaynak: fdisk ile bölümleme

Linux blok boyutunu ifade ettiğinde, neredeyse her zaman 1024 bayttır - Linux, tampon önbellek ve her şey için ilkel birimleri olarak 1024 baytlık bloklar kullanır, çünkü bazı dosya sistemleri diğer tanecikler (örneğin, normal boyutlu bir ext3 dosya sisteminde, dosya sistemi blok boyutu genellikle 4096 bayttır). Ancak, neredeyse hiçbir zaman dosya sistemi blok boyutunu göremezsiniz; Aslında bunu görmenin tek yolu bir çekirdek hacker olmak veya dumpe2fs gibi programları çalıştırmaktır.

Buradaki sorun, aklınızda bulundurmanız gereken dört ayrı birim olmasıdır. İşleri daha da kötüleştirmek için, bu birimlerin ikisi aynı adı taşıyor. Bunlar farklı birimlerdir:

  1. Donanım blok boyutu, "sektör boyutu"
  2. Dosya sistemi blok boyutu, "blok boyutu"
  3. Çekirdek tamponu önbellek blok boyutu, "blok boyutu"
  4. Bölme tablası blok boyutu, "silindir boyutu"

Dosya sistemi blok boyutu ve arabellek önbellek blok boyutu arasında ayrım yapmak için, FAT terminolojisi takip edecek ve dosya sistemi blok boyutu için "küme boyutu" kullanacağım.

Sektör boyutu, donanımın ele aldığı birimlerdir. Bu, farklı donanım türleri arasında değişir, ancak çoğu PC tarzı donanım (disketler, IDE diskleri, vb.) 512 bayt sektör kullanır.

Küme boyutu, dosya sisteminin kullandığı ayırma birimidir ve parçalanmaya neden olan şeydir - eminim bunu biliyorsunuzdur. Orta boyutlu bir ext3 dosya sisteminde, bu genellikle 4096 bayttır, ancak ile kontrol edebilirsiniz dumpe2fs. Bunların genellikle " blok " olarak da adlandırıldığını , yalnızca burada kümeler olarak adlandırdığımı unutmayın . Küme boyutu, st_blksizeprogramların bir dosyanın gerçek disk kullanımını hesaplayabilmesi için stat arabelleğinde döndürülen değerdir.

Blok boyutu, çekirdeğin depolama aygıtlarından okunan sektörleri önbelleğe aldığında dahili olarak kullandığı arabelleklerin boyutudur (dolayısıyla "blok aygıt" adı). Bu, çekirdekteki en ilkel depolama biçimi olduğundan, tüm dosya sistemi küme boyutları bunun katları olmalıdır. Bu blok boyutu, neredeyse her zaman kullanıcı alanı programları tarafından atıfta bulunulan boyuttur. Örneğin du, -h veya -H seçenekleri olmadan çalıştırdığınızda , bu bloklardan kaç tanesinin bir dosyayı kapladığı döndürülür. dfbu bloklardaki boyutları da raporlar, fdisk -lçıktıdaki "Bloklar" sütunu bu türdendir. En yaygın olarak "blok" olarak adlandırılır. Her bloğa iki disk kesimi sığar.

Silindir boyutu sadece bölüm tablosunda ve BIOS tarafından kullanılır (ve BIOS Linux tarafından kullanılmaz).

Kaynak: Linux disk bloğu boyutu ... yardım lütfen

Sektörler 0-31

İlk 32 sektör hakkındaki sorunuzu cevaplamak için, flash sürücü FAT formatlı bir cihaz olduğundan sonra FAT dosya sistemi tanımına bakıldığında, bir FAT dosya sisteminin dört farklı bölümden oluştuğunu görebilirsiniz:

a) Ayrılmış Sektörler;
b) Dosya Ayırma Tablosu (FAT) bölgesi;
c) Kök Dizin Bölgesi ve;
d) Veri Bölgesi.

Yağlara Genel Bakış

En başında yer alan Ayrılmış Sektörler (bu durumda) 0-31 sektörleridir:

İlk ayrılmış sektör (mantıksal sektör 0) Önyükleme Sektörüdür (diğer adıyla Birim Önyükleme Kaydı (VBR) ). BIOS Parametre Bloğu adı verilen bir alan içerir (bazı temel dosya sistemi bilgileri, özellikle türü ve diğer bölümlerin konumunu işaret eder) ve genellikle işletim sisteminin önyükleme yükleyici kodunu içerir.

Önyükleme Sektörü'nden önemli bilgilere, DOS ve OS / 2'deki Sürücü Parametre Bloğu (DPB) adı verilen bir işletim sistemi yapısı üzerinden erişilebilir .

Ayrılmış sektörlerin toplam sayısı, Önyükleme Sektörü içindeki bir alanla gösterilir ve genellikle FAT32 dosya sistemlerinde 32'dir .

FAT32 dosya sistemleri için, ayrılmış sektörler mantıksal sektör 1'de bir Dosya Sistemi Bilgi Sektörü ve mantıksal sektör 6'da bir Yedek Önyükleme Sektörü içerir .

Diğer birçok tedarikçi önyükleme yükleyicisi için tek sektörlü bir kurulum (yalnızca mantıksal sektör 0) kullanmaya devam ederken, Microsoft'un önyükleme sektörü kodu, FAT32'nin piyasaya sürülmesinden bu yana mantıksal sektör 0 ile mantıksal sektör 0 ile mantıksal sektörler 0 ve 2 üzerinde ortaya çıkmaya başladı. 2. Yedek Önyükleme Sektörü alanı 6, 7 ve 8 olmak üzere üç mantıksal sektörden oluşur. Bazı durumlarda Microsoft, genişletilmiş önyükleme yükleyicisi için ayrılmış sektörlerin 12. bölümünü de kullanır.


OP sorusuyla ilgili olmayan yalnızca ek bilgiler

FAT Bölgesi , sektör 32'de olacak:

Bu, disk onarım yardımcı programları tarafından bile nadiren kullanılmasına rağmen, fazlalık denetimi amacıyla Dosya Ayırma Tablosunun iki kopyasını (değişebilir) içerir.

Bunlar Veri Bölgesi'nin dosya ve dizinler tarafından hangi kümelerin kullanıldığını gösteren haritalardır. FAT12 ve FAT16'da, ayrılmış sektörleri hemen takip ederler.

Tipik olarak, ekstra kopyalar yazma işlemlerinde sıkı senkronizasyonda tutulur ve okumalarda yalnızca ilk FAT'ta hatalar oluştuğunda kullanılır. FAT32'de, varsayılan davranıştan geçiş yapmak ve tanı amacıyla kullanılacak olanlardan tek bir FAT seçmek mümkündür.

Haritadaki ilk iki küme (küme 0 ve 1) özel değerler içerir.

Kök Dizin Bölgesi :

Bu, kök dizinde bulunan dosyalar ve dizinler hakkında bilgi depolayan bir Dizin Tablosudur. Yalnızca FAT12 ve FAT16 ile kullanılır ve kök dizine bu birimin oluşturulmasında önceden ayrılmış sabit bir maksimum boyut uygular. FAT32, kök dizini Veri Bölgesi'nde, dosyalar ve diğer dizinlerle birlikte depolayarak, böyle bir kısıtlama olmadan büyümesini sağlar. Böylece, FAT32 için Veri Bölgesi buradan başlar.

Veri Bölgesi :

Bu, gerçek dosya ve dizin verilerinin depolandığı ve bölümün çoğunu kapladığı yerdir. Geleneksel olarak, veri bölgesinin kullanılmayan kısımları, IBM uyumlu makinelerde format sırasında INT 1Eh Disk Parametre Tablosuna (DPT) göre 0xF6 dolgu değeri ile başlatılır, ancak Atari Portföyünde de kullanılır. 8 inç CP / M disketleri genellikle 0xE5 değeri ile önceden biçimlendirilmiş olarak gelir; Dijital Araştırma ile bu değer Atari ST formatlı disketlerde de kullanılmıştır. Bunun yerine Amstrad 0xF4 kullandı. Bazı modern biçimlendiriciler sabit diskleri 0x00 değeriyle silerken, programlanmamış bir flash bloğun varsayılan değeri olan 0xFF değeri aşınmayı azaltmak için flash disklerde kullanılır. İkinci değer tipik olarak ROM disklerinde de kullanılır. (Bazı gelişmiş biçimlendirme araçları, dolgu bayt biçiminin yapılandırılmasına izin verir.)

Dosyaların ve alt dizinlerin boyutu, FAT'deki dosya zincirine daha fazla bağlantı ekleyerek keyfi olarak (serbest kümeler olduğu sürece) artırılabilir. Bununla birlikte, dosyaların küme birimleri olarak ayrıldığına dikkat edin, bu nedenle 1 KiB dosyası 32 KiB kümesinde bulunuyorsa 31 KiB israf edilir.

FAT32 genellikle Kök Dizin Tablosunu küme numarası 2'de başlatır: Veri Bölgesi'nin ilk kümesi.

Kaynak: Wikipedia - Dosya Ayırma Tablosu


1

1-31 sektörlerinin önyükleme bilgileri ve bölüm tablosu bilgileri için ayrıldığını tahmin ediyorum. / Dev / sdb1 bölümü blok / sektör 32'de başlar ve 249854'e gider. Fiziksel disk üzerindeki mantıksal bir bölümdür.

124911+ size 32 ile 249854 arasındaki blok sayısını veriyor.

Disk Geometri hakkında burada ne man fdsikyazıyor:

Mümkünse, fdisk disk geometrisini otomatik olarak elde eder. Bu mutlaka fiziksel disk geometrisi değildir (aslında, modern disklerin fiziksel bir geometri gibi bir şeyi yoktur, kesinlikle basit Silindirler / Kafalar / Sektörler formunda açıklanabilecek bir şey değildir), ancak MS-DOS'un disk geometrisidir. bölüm tablosu için kullanır.

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.