Apa yang dimaksud dengan output fdisk?

10

Saya punya flash drive dan saya ingin memahami sifat-sifatnya seperti yang dihasilkan fdisk. Saya memasukkannya dan memeriksa dmesgdan saya bisa melihat bahwa itu sudah terpasang /dev/sdb1sehingga saya berlari fdiskuntuk melihat apa yang dilaporkan/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

Sejauh yang saya tahu, drive ini adalah flash drive yang diformat 128MB FAT32, hanya memiliki 1 partisi di atasnya. Ini dimulai pada "32" (mungkin 0-31 digunakan untuk beberapa FTL).

Ini melaporkan "sektor" berukuran 512 byte dan ada 249.856 sektor (total 122MB).

Sekarang saya bingung tentang Cylinder, head, dan count sektor / track. Saya tahu ada hubungannya dengan jenis penyimpanan disk magnetik. Apakah ada artinya untuk ini ketika datang ke perangkat flash? Atau apakah ini hanya informasi "sisa" fdiskyang benar-benar tidak memiliki arti bagi media penyimpanan non-magnetik? Jika nanti, mengapa memberi nilai sama sekali?

Pertanyaan kedua, apa "ukuran" balok? :

Blocks
 124911+

Dan apa arti dari +setelah penghitungan balok?

Mike
sumber
1
Pertanyaan yang bagus, +1, tidak pernah terpikirkan sebelumnya. Apa yang Anda maksud dengan "FTL"? Bagi saya itu berarti Lebih Cepat Dari Cahaya, saya membayangkan Anda mengacu pada sesuatu yang lain?
terdon
1
@terdon - FTL (lapisan terjemahan Flash) hal-hal yang melakukan leveling whare dan yang lainnya
Mike

Jawaban:

3

Ukuran satu Blok

Trek 3 dimensi (trek yang sama pada semua disk) disebut silinder. Setiap lagu dibagi menjadi 63 sektor. Setiap sektor berisi 512 byte data. Oleh karena itu ukuran blok dalam tabel partisi adalah 64 kepala * 63 sektor * 512 byte er ... dibagi dengan 1024 ... :-)

Sumber: Partisi dengan fdisk

Setiap kali Linux mengacu pada ukuran blok, hampir selalu 1024 byte - Linux menggunakan blok 1024-byte sebagai unit primitif untuk cache buffer dan semuanya. Satu-satunya waktu yang tidak ada dalam driver khusus sistem file, karena beberapa sistem file menggunakan lainnya granularities (misalnya, pada filesystem ext3 berukuran normal, ukuran blok filesystem biasanya 4.096 bytes). Namun, Anda hampir tidak pernah melihat ukuran blok sistem file; hampir satu-satunya cara untuk benar-benar melihatnya adalah menjadi peretas kernel atau menjalankan program seperti dumpe2fs.

Masalahnya adalah ada empat unit berbeda yang harus Anda ingat. Lebih buruk lagi, dua unit ini memiliki nama yang sama. Ini adalah unit yang berbeda:

  1. Ukuran blok perangkat keras, "ukuran sektor"
  2. Ukuran blok Filesystem, "ukuran blok"
  3. Ukuran blok cache cache buffer, "ukuran blok"
  4. Ukuran blok tabel partisi, "ukuran silinder"

Untuk membedakan antara ukuran blok filesystem dan ukuran blok cache cache, saya akan mengikuti terminologi FAT dan menggunakan "ukuran cluster" untuk ukuran blok filesystem.

Ukuran sektor adalah unit yang berhubungan dengan perangkat keras. Ini berkisar antara jenis perangkat keras yang berbeda, tetapi sebagian besar perangkat keras gaya PC (disket, disk IDE, dll.) Menggunakan sektor 512 byte.

Ukuran cluster adalah unit alokasi yang menggunakan filesystem, dan inilah yang menyebabkan fragmentasi - Saya yakin Anda tahu tentang itu. Pada sistem file ext3 berukuran sedang, ini biasanya 4.096 byte, tetapi Anda dapat memeriksanya dengan dumpe2fs. Ingat bahwa ini juga biasanya disebut " blok ", hanya saja saya menyebutnya sebagai cluster di sini. Ukuran cluster adalah apa yang dikembalikan ke st_blksizedalam buffer stat, agar program dapat menghitung penggunaan disk sebenarnya dari file.

Ukuran blok adalah ukuran buffer yang digunakan kernel secara internal ketika cache sektor yang telah dibaca dari perangkat penyimpanan (maka nama "perangkat blok"). Karena ini adalah bentuk penyimpanan paling primitif di kernel, semua ukuran cluster filesystem harus berlipat ganda. Ukuran blok ini juga hampir selalu disebut oleh program userspace. Misalnya, ketika Anda menjalankan dutanpa opsi -h atau -H, itu akan mengembalikan berapa banyak blok ini mengambil file. dfjuga akan melaporkan ukuran di blok ini, kolom "Blok" di fdisk -loutput adalah tipe ini, dan seterusnya. Ini adalah apa yang paling sering disebut sebagai "blok". Dua sektor disk masuk ke dalam setiap blok.

Ukuran silinder hanya digunakan di tabel partisi dan oleh BIOS (dan BIOS tidak digunakan oleh Linux).

Sumber: ukuran blok disk Linux ... tolong tolong

Sektor 0-31

Untuk menjawab pertanyaan Anda tentang 32 sektor pertama, karena flash drive adalah perangkat yang diformat FAT kemudian melihat definisi sistem file FAT, orang dapat melihat bahwa sistem file FAT terdiri dari empat bagian berbeda:

a) Sektor yang Dicadangkan;
b) Wilayah Tabel Alokasi File (FAT);
c) Wilayah Direktori Root, dan;
d) Wilayah Data.

Ikhtisar Lemak

Sektor yang Dicadangkan , yang terletak di bagian paling awal, adalah (dalam hal ini) sektor-sektor 0-31:

Sektor yang dicadangkan pertama (sektor logis 0) adalah Sektor Boot (alias Volume Boot Record (VBR) ). Ini mencakup area yang disebut Blok Parameter BIOS (dengan beberapa informasi sistem file dasar, khususnya jenisnya, dan penunjuk ke lokasi bagian lain) dan biasanya berisi kode boot loader sistem operasi.

Informasi penting dari Sektor Boot dapat diakses melalui struktur sistem operasi yang disebut Drive Parameter Block (DPB) di DOS dan OS / 2.

Jumlah total sektor yang dipesan ditunjukkan oleh bidang di dalam Sektor Boot, dan biasanya 32 pada sistem file FAT32 .

Untuk sistem file FAT32, sektor yang dicadangkan mencakup Sektor Informasi Sistem File di sektor logis 1 dan Sektor Boot Cadangan di sektor logis 6.

Sementara banyak vendor lain terus menggunakan pengaturan sektor tunggal (hanya sektor logis 0) untuk bootstrap loader, kode sektor boot Microsoft telah berkembang untuk memunculkan sektor logis 0 dan 2 sejak diperkenalkannya FAT32, dengan sektor logis 0 tergantung pada sub-rutin dalam sektor logis 2. Area Sektor Boot Cadangan terdiri dari tiga sektor logis 6, 7, dan 8 juga. Dalam beberapa kasus, Microsoft juga menggunakan sektor 12 area sektor yang dicadangkan untuk pemuat boot yang diperluas.


Hanya informasi tambahan, tidak relevan dengan pertanyaan OP

Wilayah FAT , akan berada di sektor 32:

Ini biasanya berisi dua salinan (mungkin bervariasi) dari Tabel Alokasi File demi pemeriksaan redundansi, meskipun jarang digunakan, bahkan oleh utilitas perbaikan disk.

Ini adalah peta Wilayah Data, yang menunjukkan kelompok mana yang digunakan oleh file dan direktori. Dalam FAT12 dan FAT16 mereka segera mengikuti sektor yang dipesan.

Biasanya salinan tambahan disimpan dalam sinkronisasi ketat pada saat menulis, dan saat dibaca, salinan tersebut hanya digunakan ketika kesalahan terjadi pada FAT pertama. Dalam FAT32, dimungkinkan untuk beralih dari perilaku default dan memilih satu FAT dari yang tersedia untuk digunakan untuk tujuan diagnosis.

Dua cluster pertama (cluster 0 dan 1) di peta berisi nilai-nilai khusus.

Wilayah Direktori Root :

Ini adalah Tabel Direktori yang menyimpan informasi tentang file dan direktori yang terletak di direktori root. Ini hanya digunakan dengan FAT12 dan FAT16, dan memaksakan pada direktori root ukuran maksimum tetap yang dialokasikan sebelumnya pada pembuatan volume ini. FAT32 menyimpan direktori root di Wilayah Data, bersama dengan file dan direktori lainnya, yang memungkinkannya tumbuh tanpa kendala seperti itu. Jadi, untuk FAT32, Wilayah Data dimulai di sini.

Wilayah Data :

Di sinilah file aktual dan data direktori disimpan dan mengambil sebagian besar partisi. Secara tradisional, bagian-bagian wilayah data yang tidak digunakan diinisialisasi dengan nilai pengisi 0xF6 sesuai Tabel Parameter Disk (DPT) INT 1Eh selama format pada mesin yang kompatibel dengan IBM, tetapi juga digunakan pada Portofolio Atari. 8 / inch disket M / biasanya datang pra-format dengan nilai 0xE5; melalui Digital Research, nilai ini juga digunakan pada disket berformat Atari ST. Amstrad menggunakan 0xF4 sebagai gantinya. Beberapa pemformat modern menghapus hard disk dengan nilai 0x00, sedangkan nilai 0xFF, nilai default blok flash yang tidak diprogram, digunakan pada flash disk untuk mengurangi keausan. Nilai terakhir biasanya juga digunakan pada disk ROM. (Beberapa alat pemformatan tingkat lanjut memungkinkan untuk mengonfigurasi byte pengisi format.)

Ukuran file dan subdirektori dapat ditingkatkan secara sewenang-wenang (selama ada cluster gratis) dengan hanya menambahkan lebih banyak tautan ke rantai file di FAT. Namun perlu dicatat bahwa file dialokasikan dalam unit cluster, jadi jika file 1 KiB berada di cluster 32 KiB, 31 KiB terbuang.

FAT32 biasanya memulai Tabel Direktori Root di cluster nomor 2: cluster pertama dari Wilayah Data.

Sumber: Wikipedia - Tabel Alokasi File

Greenonline
sumber
1

Saya menduga bahwa sektor 1-31 dicadangkan untuk informasi boot dan info tabel partisi. Partisi / dev / sdb1 dimulai pada blok / sektor 32 dan pergi ke 249854. Ini adalah partisi logis pada disk fisik.

124911+ memberi Anda hitungan blok antara 32 dan 249854.

Tentang Disk Geometry di sini adalah apa yang man fdsikdikatakan tentang itu:

Jika memungkinkan, fdisk akan mendapatkan geometri disk secara otomatis. Ini belum tentu geometri cakram fisik (memang, cakram modern tidak benar-benar memiliki apa pun seperti geometri fisik, tentu saja bukan sesuatu yang dapat dijelaskan dalam bentuk Silinder / Kepala / Sektor sederhana), tetapi geometri cakram lah yang dibuat oleh MS-DOS. gunakan untuk tabel partisi.

Biasanya semua berjalan dengan baik secara default, dan tidak ada masalah jika Linux adalah satu-satunya sistem pada disk. Namun, jika disk harus dibagi dengan sistem operasi lain, sering kali merupakan ide yang baik untuk membiarkan fdisk dari sistem operasi lain membuat setidaknya satu partisi. Ketika Linux melakukan booting, ia akan melihat tabel partisi, dan mencoba menyimpulkan apa (geometri) geometri yang diperlukan untuk kerja sama yang baik dengan sistem lain.

J Baron
sumber