Що означає вихід fdisk?


10

У мене є флешка, і я хочу зрозуміти її властивості, як виводиться з fdisk. Я вставив його і перевірив, dmesgі я міг бачити, що він встановлений /dev/sdb1так, як я побіг fdiskподивитися, про що повідомляється/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

Наскільки я можу сказати, накопичувач - це флеш-диск форматом 128 Мб FAT32, на ньому є лише 1 розділ. Він починається з "32" (імовірно, 0-31 використовується для деяких FTL).

Він повідомляє про те, що "сектор" має розмір 512 байт, і є 249 856 секторів (122 МБ).

Тепер я розгублений щодо циліндра, голови та секторів / кількість треків. Я знаю, що циліндри / головки стосуються типів зберігання магнітного диска Чи є для них сенс, коли мова йде про флеш-пристрій? Або це просто "залишена" інформація, від fdiskякої насправді немає ніякого значення для немагнітного носія інформації? Якщо пізніше, навіщо взагалі давати значення?

Друге питання, що таке "розмір" блоку? :

Blocks
 124911+

І яке значення має +підрахунок після блоку?


1
Гарне запитання, +1, ніколи раніше про це не замислювався. Що ти маєш на увазі під "FTL"? Для мене це означає швидше світла, я гадаю, ви маєте на увазі щось інше?
тердон

1
@terdon - FTL (Flash-шар перекладу) речі, які роблять вирівнювання whare і багато чого іншого
Майк

Відповіді:


3

Розмір блоку

3-мірна доріжка (однакова доріжка на всіх дисках) називається циліндром. Кожна доріжка розділена на 63 сектори. Кожен сектор містить 512 байт даних. Тому розмір блоку в таблиці розділів становить 64 голови * 63 сектори * 512 байт ер ... ділиться на 1024 ... :-)

Джерело: Розбиття з fdisk

У будь-який час, коли Linux посилається на розмір блоку, він майже завжди становить 1024 байти - Linux використовує 1024-байтові блоки як свої примітивні одиниці для кеш-пам'яті буфера і все. Єдиний раз, коли його немає, є у конкретних драйверах файлової системи, оскільки деякі файлові системи використовують інші деталізації (наприклад, для файлової системи ext3 звичайного розміру розмір блоку файлової системи зазвичай становить 4096 байт). Однак ви майже ніколи не бачите розмір блоку файлової системи; майже єдиний спосіб насправді це побачити - це хакер ядра або запускати такі програми, як dumpe2fs.

Проблема в цьому полягає в тому, що є чотири чіткі одиниці, про які потрібно пам’ятати. Щоб зробити ще гірше, два з цих підрозділів носять те саме ім'я. Це різні підрозділи:

  1. Розмір апаратного блоку, "розмір сектору"
  2. Розмір блоку файлової системи, "розмір блоку"
  3. Розмір блоку кеша буфера ядра, "розмір блоку"
  4. Розмір блоку таблиці розділів, "розмір циліндра"

Для розмежування розміру блоку файлової системи та розміру блоку кеш-пам'яті буфера я дотримуюся термінології FAT і буду використовувати розмір кластера для розміру блоку файлової системи.

Розмір сектора - це одиниці, якими займається обладнання. Це діапазон між різними типами обладнання, але більшість апаратних засобів у стилі ПК (дискети, IDE-диски тощо) використовують 512 байтові сектори.

Розмір кластера - це одиниця розподілу, яку використовує файлова система, і є причиною фрагментації - я впевнений, що ви знаєте про це. Для файлової системи ext3 середнього розміру зазвичай це 4096 байт, але ви можете це перевірити dumpe2fs. Пам'ятайте, що їх також називають " блоками ", тільки я тут їх називаю кластерами . Розмір кластера - це те, що повертається в st_blksizeстатичний буфер, щоб програми могли обчислити фактичне використання диска файлу.

Розмір блоку - це розмір буферів, які ядро ​​використовує внутрішньо, коли кешує сектори, прочитані з пристроїв зберігання (звідси назва "блок пристрою"). Оскільки це найбільш примітивна форма зберігання в ядрі, всі розміри кластерів файлової системи повинні бути кратними цьому. Цей розмір блоку - це також те, про що майже завжди посилаються програми користувальницького простору. Наприклад, коли ви запускаєте duбез параметрів -h або -H, він повертає, скільки цих блоків займає файл. dfтакож буде повідомляти розміри в цих блоках, стовпець "Блоки" у fdisk -lвисновку цього типу тощо. Це те, що найчастіше називають «блоком». Два дискових сектора вміщуються в кожен блок.

Розмір циліндрів використовується тільки в таблиці розділів і в BIOS (а BIOS не використовується Linux).

Джерело: Розмір блоку диска Linux ... допоможіть, будь ласка

Сектори 0-31

Щоб відповісти на ваше запитання про перші 32 сектори, оскільки флешка - це пристрій, відформатований FAT, і, дивлячись на визначення файлової системи FAT, можна побачити, що файлова система FAT складається з чотирьох різних розділів:

а) Зарезервовані сектори;
b) область таблиці розподілу файлів (FAT);
c) область кореневих каталогів;
г) Регіон даних.

Огляд жирів

Зарезервовані сектори , розташовані на самому початку, - це (у даному випадку) сектори 0-31:

Перший зарезервований сектор (логічний сектор 0) - це завантажувальний сектор (він же запис запису обсягу (VBR) ). Він включає область, що називається Блок параметрів BIOS (з деякою базовою інформацією файлової системи, зокрема її типом, та вказівниками на розташування інших розділів) і зазвичай містить код завантажувача операційної системи.

Важлива інформація із завантажувального сектора доступна через структуру операційної системи, що називається Блок параметрів приводу (DPB) в DOS та OS / 2.

Загальна кількість зарезервованих секторів вказується полем у завантажувальному секторі і зазвичай становить 32 у файлових системах FAT32 .

Для файлових систем FAT32 зарезервовані сектори включають сектор інформації про файлову систему в логічному секторі 1 та сектор резервного завантаження в логічному секторі 6.

У той час як багато інших постачальників продовжують використовувати односекторну настройку (лише логічний сектор 0) для завантажувача завантажувального завантажувача, з початку впровадження FAT32 код завантажувального сектора Майкрософт виріс на нерегулярність секторів 0 і 2, з логічним сектором 0 залежно від цього підпрограми в логічному секторі 2. Область резервного завантажувального сектора складається з трьох логічних секторів 6, 7 та 8. В деяких випадках Microsoft також використовує сектор 12 зарезервованої області для розширеного завантажувача.


Просто додаткова інформація, не стосується питання щодо ОП

Регіон FAT буде в секторі 32:

Зазвичай він містить дві копії (можуть відрізнятися) таблиці розподілу файлів для перевірки надмірності, хоча і рідко використовується, навіть утилітами відновлення диска.

Це карти регіону даних, які вказують, які кластери використовуються файлами та каталогами. У FAT12 та FAT16 вони негайно слідують за зарезервованими секторами.

Зазвичай додаткові копії зберігаються в тісній синхронізації під час запису, а під час читання вони використовуються лише у випадку помилок у першій FAT. У FAT32 можна переключитися від поведінки за замовчуванням і вибрати один FAT з доступних, які будуть використовуватися для діагностики.

Перші два кластери (кластер 0 і 1) на карті містять спеціальні значення.

Регіон кореневого каталогу :

Це Таблиця каталогів, яка зберігає інформацію про файли та каталоги, що знаходяться в кореневому каталозі. Він використовується лише з FAT12 і FAT16 і накладає на кореневу директорію фіксований максимальний розмір, який попередньо виділяється при створенні цього тома. FAT32 зберігає кореневий каталог у регіоні даних разом з файлами та іншими каталогами, що дозволяє йому рости без таких обмежень. Таким чином, для FAT32 тут починається область даних.

Регіон даних :

Тут зберігаються фактичні дані про файли та каталоги та займають більшу частину розділу. Традиційно невикористані частини області даних ініціалізуються зі значенням заповнення 0xF6 відповідно до таблиці параметрів диска INT 1Eh (DPT) під час форматування на сумісних з IBM машинах, але також використовуються в портфоліо Atari. 8-дюймові дискети CP / M зазвичай поставляються заздалегідь відформатованими зі значенням 0xE5; за допомогою цифрових досліджень це значення також використовувалося на дискетах формату Atari ST. Амстрад замість цього застосував 0xF4. Деякі сучасні форматори стирають жорсткі диски зі значенням 0x00, тоді як значення 0xFF, значення за замовчуванням непрограмованого блоку спалаху, використовується на флеш-дисках для зменшення зносу. Останнє значення зазвичай використовується також на дисках ROM. (Деякі вдосконалені засоби форматування дозволяють налаштувати байт наповнювача формату.)

Розмір файлів і підкаталогів можна збільшити довільно (доки є вільні кластери), просто додавши більше посилань на ланцюжок файлів у FAT. Зауважте, що файли розподіляються в одиницях кластерів, тому, якщо файл 1 KiB знаходиться в кластері 32 KiB, витрачається 31 KiB.

FAT32 зазвичай починає Таблицю кореневих каталогів у кластері №2: перший кластер регіону даних.

Джерело: Вікіпедія - Таблиця розподілу файлів


1

Я здогадуюсь, що сектори 1-31 зарезервовані для інформації про завантаження та інформації таблиці розділів. Розділ / dev / sdb1 починається з блоку / сектора 32 і переходить до 249854. Це логічний розділ на фізичному диску.

124911+ дає вам кількість блоків між 32 і 249854.

Про геометрію диска ось що man fdsikговорить про це:

Якщо можливо, fdisk автоматично отримає геометрію диска. Це не обов'язково фізична геометрія диска (дійсно, сучасні диски насправді не мають нічого подібного до фізичної геометрії, звичайно, не те, що можна описати у спрощеному вигляді Циліндрів / Голов / Секторів), але це MS-DOS геометрія диска використовує для таблиці розділів.

Зазвичай все йде добре за замовчуванням, і немає проблем, якщо Linux є єдиною системою на диску. Однак, якщо диск потрібно спільно використовувати з іншими операційними системами, часто корисно дозволити fdisk з іншої операційної системи зробити принаймні один розділ. Коли Linux завантажується, він дивиться на таблицю розділів і намагається визначити, яку (підроблену) геометрію потрібно для гарної співпраці з іншими системами.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.