У чому різниця між файловими системами VFAT та FAT32?


77

Я шукав в Інтернеті, але не міг знайти переконливих відповідей;

Чи однакові файлові системи VFAT та FAT32, чи між ними є якісь відмінності?

Відповіді:


87

Скопійовано з http://technet.microsoft.com/en-us/library/cc750354.aspx

Що таке FAT?

FAT може звучати як дивна назва для файлової системи, але насправді це скорочення від File Allocation Table. Введений у 1981 році, FAT є давнім у комп’ютерному плані. Через свій вік більшість операційних систем, включаючи Microsoft Windows NT®, Windows 98, ОС Macintosh та деякі версії UNIX, пропонують підтримку FAT.

Файлова система FAT обмежує імена файлів умовами іменування 8.3, тобто ім'я файлу може містити не більше восьми символів до періоду та не більше трьох після. Імена файлів у файловій системі FAT також повинні починатися з літери або цифри, і вони не можуть містити пробіли. Назви файлів не чутливі до регістру.

А як щодо VFAT?

Можливо, ви також чули про файлову систему під назвою VFAT. VFAT є розширенням файлової системи FAT і був представлений у Windows 95. VFAT підтримує зворотну сумісність із FAT, але послаблює правила. Наприклад, імена файлів VFAT можуть містити до 255 символів, пробіли та кілька крапок. Хоча VFAT зберігає регістр імен файлів, він не вважається чутливим до регістру.

Коли ви створюєте довге ім'я файлу (довше 8,3) за допомогою VFAT, файлова система фактично створює два різні імена файлів. Одне - це власне довге ім’я файлу. Цю назву бачать Windows 95, Windows 98 та Windows NT (4.0 та новіші). Друге ім'я файлу називається псевдонімом MS-DOS®. Псевдонім MS-DOS - це скорочена форма довгого імені файлу. Файлова система створює псевдонім MS-DOS, беручи перші шість символів довгого імені файлу (не враховуючи пробіли), після чого тильда [~] та числовий трейлер. Наприклад, ім'я файлу Brien's Document.txt мало б псевдонім BRIEN '~ 1.txt.

Цікавий побічний ефект є результатом того, як VFAT зберігає свої довгі імена файлів. Коли ви створюєте довге ім'я файлу за допомогою VFAT, він використовує один запис каталогу для псевдоніма MS-DOS і інший запис для кожних 13 символів довгого імені файлу. Теоретично, одне довге ім'я файлу може містити до 21 запису в каталозі. У кореневому каталозі обмежено 512 файлів, але якщо ви хочете використовувати максимальну довжину імен файлів у кореневому каталозі, ви можете скоротити це обмеження лише до 24 файлів. Тому вам слід дуже економно використовувати довгі імена файлів у кореневому каталозі. На інші каталоги це обмеження не впливає.

Можливо, вам цікаво, чому ми обговорюємо VFAT. Причиною є те, що він стає більш поширеним, ніж FAT, але крім відмінностей, про які я згадав вище, VFAT має ті самі обмеження. Коли ви говорите Windows NT відформатувати розділ як FAT, він фактично форматує розділ як VFAT. Єдиний раз, коли у вас буде справжній розділ FAT під Windows NT 4.0, це коли ви використовуєте іншу операційну систему, таку як MS-DOS, для форматування розділу.

FAT32

FAT32 насправді є розширенням FAT і VFAT, вперше представлений у Windows 95 OEM Service Release 2 (OSR2). FAT32 значно покращує файлову систему VFAT, але він має свої недоліки.

Найбільшою перевагою FAT32 є те, що він різко збільшує кількість вільного місця на жорсткому диску. Щоб проілюструвати цю думку, розглянемо, що розділ FAT (також відомий як розділ FAT16) дозволяє лише певну кількість кластерів на розділ. Отже, у міру збільшення розміру розділу, розмір кластера також повинен збільшуватися. Наприклад, розділ FAT розміром 512 МБ має розмір кластера 8K, тоді як розділ 2 GB має розмір кластера 32K.

Це може здатися не великою справою, поки ви не врахуєте, що файлова система FAT працює лише з кроком в один кластер. Наприклад, на 2-ГБ розділі 1-байтовий файл займе весь кластер, споживаючи, таким чином, 32 КБ, або приблизно в 32 000 разів більше місця, яке повинен зайняти файл. Це правило застосовується до кожного файлу на жорсткому диску, тому ви можете бачити, скільки місця можна втратити.

Перетворення розділу на FAT32 зменшує розмір кластера (і долає обмеження розміру розділу 2 ГБ). Для розділів розміром 8 ГБ і менше розмір кластера зменшується до лише 4K. Як ви можете собі уявити, не рідко можна повернути сотні мегабайт, перетворивши розділ у FAT32, особливо якщо розділ містить багато маленьких файлів.

Примітка: Цей розділ цитати / статті (1999) застарів. Оновлена ​​інформаційна цитата нижче.

Як я вже згадував, FAT32 має обмеження. На жаль, він не сумісний з жодною операційною системою, окрім Windows 98 та версії OSR2 Windows 95. Однак Windows 2000 зможе читати розділи FAT32.

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

Нарешті, я повинен згадати, що перехід на FAT32 - це односторонній процес. Після перетворення на FAT32 ви не зможете перетворити розділ назад на FAT16. Тому перед перетворенням на FAT32 вам потрібно подумати, чи буде комп’ютер коли-небудь використовуватися в середовищі подвійного завантаження. Слід також зазначити, що хоча інші операційні системи, такі як Windows NT, не можуть безпосередньо прочитати розділ FAT32, вони можуть читати його в мережі. Тому не проблема обмінюватися інформацією, що зберігається в розділі FAT32, з іншими комп’ютерами в мережі, на яких працюють старі операційні системи.

Оновлено, згадане у коментарі Doktor-J (уподібнене до оновлення застарілої відповіді на випадок, якщо коментар колись буде втрачено):

Я хотів би лише зазначити, що більшість сучасних операційних систем (WinXP / Vista / 7/8, MacOS X, більшість, якщо не всі варіанти Linux) можуть читати FAT32, на відміну від того, що пропонується в останньому абзаці.

Оригінальна стаття була написана в 1999 році, і її розміщення на веб-сайті Microsoft, мабуть, не стосувалося операційних систем, що не належать до Microsoft.

Операційні системи, "виключені" цим абзацом, - це, мабуть, оригінальні Windows 95, Windows NT 4.0, Windows 3.1, DOS тощо.


31
Я хотів би лише зазначити, що більшість сучасних операційних систем (WinXP / Vista / 7/8, MacOS X, більшість, якщо не всі варіанти Linux) можуть читати FAT32, на відміну від того, що пропонується в останньому абзаці. Оригінальна стаття була написана в 1999 році, і опублікована на веб-сайті Microsoft, мабуть, не стосувалася операційних систем, що не належать до Microsoft. Операційні системи, "виключені" цим абзацом, - це, мабуть, оригінальні Windows 95, Windows NT 4.0, Windows 3.1, DOS тощо.
Doktor J,

7
І не лише комп’ютери - майже вся побутова електроніка, як камери та смарт-телевізори, підтримує FAT32.
Нік Мур,

1
@Abhishek, thx це чудове резюме. Якщо я маю рацію, vfat - це майже fat16 + розширення іменування. ||| Інше: Ubuntu форматує розділ EFI у vfat , але Windows також використовує це на машині з подвійним завантаженням. Отже, чи використовує Windows внутрішньо vfat , але показує fat32 ?
andras.tim

12

FAT32поряд із FAT16і FAT12є Типи файлової системи, але vfatпоряд із umsdosі msdosє драйверами, що використовуються для монтування файлових систем FAT у Linux. Вибір драйвера визначає, як деякі функції застосовуються до файлової системи, наприклад, системи, змонтовані за допомогою msdosдрайвера, не мають довгих імен файлів (вони мають формат 8,3). vfatна сьогоднішній день є найпоширенішим драйвером для монтування файлових систем FAT32.

Джерело: ця стаття у Вікіпедії

Виведення команд типу "Файлова система" dfта " lsblkПоказати vfatїх". Але sudo file -sL /dev/<partition>показує, FAT (32 bit)чи є файлова система FAT32.

Ви можете підтвердити vfat, що це модуль, а не тип файлової системи, запустивши modinfo vfat.


1
Інформаційний файл завантаження повідомляє мені, що моєю файловою системою є VFAT, тому я збентежений щодо частини "драйвера".
Квідам

1
Спочатку FAT був файловою системою, яка не обробляла довгі імена файлів. Для W95 Microsoft (та інші компанії) представила новий метод обробки довгих імен файлів. Це була та сама файлова система FAT (зазвичай на той час FAT16), але за допомогою цього нового методу, який називався VFAT. Microsoft створила драйвер віртуального пристрою, вбудований у W95, який міг мати файлову систему FAT16 з функцією довгих імен файлів. Ця особливість - VFAT. У світі Linux до цього моменту було звичайно використовувати драйвер "msdos" для монтування файлових систем FAT12 / 16.
Adriano_Pinaffo

1
Потім, щоб обробити цю нову функцію поверх файлових систем FAT, було створено драйвер vfat, який міг монтувати диски FAT16 у Linux з довгими іменами файлів. Кожного разу, коли ви бачите, що ваша файлова система є VFAT, це означає, що це файлова система FAT з можливістю мати справу з довгими іменами файлів.
Adriano_Pinaffo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.