В чем разница между файловыми системами VFAT и FAT32?

Я искал в Интернете, но не смог найти убедительных ответов;

Являются ли файловые системы VFAT и FAT32 одинаковыми или между ними есть различия?


person user1004985    schedule 13.08.2012    source источник


Ответы (2)


Скопировано с http://technet.microsoft.com/en-us/library/cc750354.aspx

Что такое ЖИР?

FAT может показаться странным названием файловой системы, но на самом деле это аббревиатура от File Allocation Table. Появившаяся в 1981 году, FAT является древней с компьютерной точки зрения. Из-за своего возраста большинство операционных систем, включая Microsoft Windows NT®, Windows 98, Macintosh OS и некоторые версии UNIX, предлагают поддержку FAT.

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

А как насчет ВФАТ?

Возможно, вы также слышали о файловой системе под названием 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, беря первые шесть символов длинного имени файла (не считая пробелов), за которыми следует тильда [~] и числовой концевик. Например, имя файла Брайена 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 МБ имеет размер кластера 8 КБ, а раздел размером 2 ГБ имеет размер кластера 32 КБ.

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

Преобразование раздела в FAT32 уменьшает размер кластера (и преодолевает ограничение размера раздела в 2 ГБ). Для разделов размером 8 ГБ и меньше размер кластера уменьшается до 4 КБ. Как вы можете себе представить, нередко можно вернуть сотни мегабайт, преобразовав раздел в 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 и т. д.

person Abhishek    schedule 13.08.2012
comment
Я просто хотел бы отметить, что большинство современных операционных систем (WinXP/Vista/7/8, MacOS X, большинство, если не все варианты Linux) могут читать FAT32, вопреки предпоследнему абзацу. Первоначальная статья была написана в 1999 году и размещена на веб-сайте Microsoft, вероятно, в любом случае не касалась операционных систем, отличных от Microsoft. Операционные системы, исключенные из этого абзаца, вероятно, являются оригинальными Windows 95, Windows NT 4.0, Windows 3.1, DOS и т. д. - person Doktor J; 16.10.2013
comment
И не только компьютеры — почти вся бытовая электроника, такая как камеры и смарт-телевизоры, поддерживает FAT32. - person Nick Moore; 16.10.2016
comment
@Abhishek, спасибо за отличное резюме. Если я прав, vfat — это почти fat16 + расширение имени. ||| Другое: Ubuntu форматирует раздел EFI в vfat, но Windows использует его и на машине с двойной загрузкой. Итак, внутри Windows используется vfat, но отображается fat32? - person andras.tim; 23.04.2018

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.

person Adriano_Pinaffo    schedule 01.10.2019
comment
Файл информации о загрузке говорит мне, что моя файловая система - VFAT, поэтому я запутался в части драйвера. - person Quidam; 29.04.2020
comment
FAT изначально была файловой системой, которая не обрабатывала длинные имена файлов. Для W95 Microsoft (и другие компании) представили новый метод обработки длинных имен файлов. Это была та же файловая система FAT (обычно FAT16 в то время), но с новым методом поверх нее, называемым VFAT. Microsoft создала драйвер виртуального устройства, встроенный в W95, который мог иметь файловую систему FAT16 с функцией длинных имен файлов. Это функция VFAT. В мире Linux до этого момента было принято использовать драйвер msdos для монтирования файловых систем FAT12/16. - person Adriano_Pinaffo; 01.05.2020
comment
Затем, чтобы использовать эту новую функцию поверх файловых систем FAT, был создан драйвер vfat, который мог монтировать диски FAT16 в Linux с длинными именами файлов. Каждый раз, когда вы видите, что ваша файловая система VFAT, это означает, что это файловая система FAT с возможностью работы с длинными именами файлов. - person Adriano_Pinaffo; 01.05.2020