FAT (Русский)
Из Википедии:Таблица размещения файлов:
- Таблица размещения файлов (FAT) - это классическая архитектура файловой системы компьютера и семейство стандартных файловых систем, использующих ее. Файловая система FAT представляет собой устаревшую файловую систему, которая проста и надежна. Она обеспечивает хорошую производительность даже в облегченных реализациях, но не может обеспечить такую же производительность, надежность и масштабируемость, как некоторые современные файловые системы. Тем не менее, она поддерживается по соображениям совместимости почти всеми разрабатываемыми в настоящее время операционными системами для персональных компьютеров и многих мобильных устройств и встроенных систем и, таким образом, является хорошо подходящим форматом для обмена данными между компьютерами и устройствами практически любого типа и возраста с 1981 года до настоящего времени.
Создание файловой системы
Установите пакет dosfstools.
mkfs.fat
поддерживает создание FAT12, FAT16 и FAT32. По умолчанию используемый тип файловой системы выбирается автоматически по размеру раздела, но вы также можете явно прописать нужный тип с помощью опции -F
. Подробнее смотрите mkfs.fat(8).
Форматирование раздела в FAT32:
# mkfs.fat -F 32 /dev/раздел
mkfs.vfat
и mkfs.msdos
являются символическими ссылками на одну и ту же утилиту mkfs.fat
.Конфигурация ядра
Ниже приведен пример конфигурации монтирования по умолчанию в ядре:
$ zgrep -e FAT -e DOS /proc/config.gz | sort -r
# DOS/FAT/NT Filesystems CONFIG_FAT_FS=m CONFIG_MSDOS_PARTITION=y CONFIG_FAT_FS=m CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_NCPFS_SMALLDOS=y
Краткое описание этих параметров:
- Настройки языка:
CONFIG_FAT_DEFAULT_CODEPAGE
,CONFIG_FAT_DEFAULT_IOCHARSET
- Все имена файлов в нижнем регистре букв на разделах FAT, если они включены:
CONFIG_NCPFS_SMALLDOS
- Включает поддержку файловых систем FAT:
CONFIG_FAT_FS
,CONFIG_MSDOS_FS
,CONFIG_VFAT_FS
- Включает поддержку разметки жестких дисков FAT на компьютерах 86x:
CONFIG_MSDOS_PARTITION
Если тип раздела, обнаруженный монтированием, является VFAT, тогда запускается скрипт /usr/bin/mount.vfat
.
/usr/bin/mount.vfat
#!/bin/bash #mount VFAT with full rw (read-write) permissions for all users #/usr/bin/mount -i -t vfat -oumask=0000,iocharset=utf8 "$@" #The above is the same as mount -i -t vfat -oiocharset=utf8,fmask=0000,dmask=0000 "$@"
Запись на FAT32 в качестве обычного пользователя
Чтобы записать на раздел FAT32, вы должны внести несколько изменений в файл fstab.
/etc/fstab
/dev/sdxY /mnt/some_folder vfat user,rw
Флаг user
означает, что любой пользователь (даже не root) может монтировать и размонтировать раздел /dev/sdxY
. Флаг rw
дает доступ на чтение и запись.
Например, если ваш раздел FAT32 находится на /dev/sda9
, и вы хотите смонтировать его на /mnt/fat32
, вы должны использовать:
/etc/fstab
/dev/sda9 /mnt/fat32 vfat user,rw
Теперь любой пользователь может смонтировать его с помощью:
$ mount /mnt/fat32
И размонтировать его с помощью:
$ umount /mnt/fat32
Имейте в виду, что FAT не поддерживает права доступа Linux. С параметрами монтирования по умолчанию все файлы будут считаться исполняемыми. Вы можете использовать опцию showexec
вместо параметров umask и dmask, которые отметит исполняемыми только файлы Windows (com, exe, bat). Смотрите также mount(8).
Определение типа FAT
Если вы хотите узнать, какой конкретно тип FAT используется на определённом разделе, используйте команду file:
# file -s /dev/раздел
/dev/раздел: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 4, root entries 512, sectors 4096 (volumes <=32 MB), Media descriptor 0xf8, sectors/FAT 3, sectors/track 32, heads 64, serial number 0x5bc09c21, unlabeled, FAT (12 bit)
Также можно использовать команду minfo из пакета mtools:
# minfo -i /dev/раздел ::
device information: =================== filename="/dev/раздел" sectors per track: 32 heads: 64 cylinders: 2 media byte: f8 mformat command line: mformat -t 2 -h 64 -s 32 -i "/dev/раздел" :: bootsector information ====================== banner:"mkfs.fat" sector size: 512 bytes cluster size: 4 sectors reserved (boot) sectors: 1 fats: 2 max available root directory slots: 512 small size: 4096 sectors media descriptor byte: 0xf8 sectors per fat: 3 sectors per track: 32 heads: 64 hidden sectors: 0 big size: 0 sectors physical drive id: 0x80 reserved=0x0 dos4=0x29 serial number: 5BC09C21 disk label="NO NAME " disk type="FAT12 "