FAT (Русский)
Из Википедии:Таблица размещения файлов:
- Таблица размещения файлов (FAT) - это классическая архитектура файловой системы компьютера и семейство стандартных файловых систем, использующих ее. Файловая система FAT представляет собой устаревшую файловую систему, которая проста и надежна. Она обеспечивает хорошую производительность даже в облегченных реализациях, но не может обеспечить такую же производительность, надежность и масштабируемость, как некоторые современные файловые системы. Тем не менее, она поддерживается по соображениям совместимости почти всеми разрабатываемыми в настоящее время операционными системами для персональных компьютеров и многих мобильных устройств и встроенных систем и, таким образом, является хорошо подходящим форматом для обмена данными между компьютерами и устройствами практически любого типа и возраста с 1981 года до настоящего времени.
Конфигурации ядра
Ниже приведен пример конфигурации монтирования по умолчанию в ядре:
$ 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,umask=000 0 0
Флаг user
означает, что любой пользователь (даже не root) может монтировать и размонтировать раздел /dev/sdX
. Флаг rw
дает доступ на чтение и запись;
параметр umask
удаляет выбранные права - например umask=111
удаляет исполняемые права. Проблема в том, что эта запись также удаляет исполняемые права из каталогов, поэтому мы должны исправить ее с помощью dmask=000
. Для получения допольнительной информации смотрите Umask.
Без этих параметров все файлы будут исполняемыми. Вы можете использовать опцию showexec
вместо параметров umask и dmask, которые отображают все исполняемые файлы Windows (com, exe, bat) в исполняемых цветах.
Например, если ваш раздел FAT32 находится на /dev/sda9
, и вы хотите смонтировать его на /mnt/fat32
, вы должны использовать:
/etc/fstab
/dev/sda9 /mnt/fat32 vfat user,rw,umask=111,dmask=000 0 0
Теперь любой пользователь может смонтировать его с помощью:
$ mount /mnt/fat32
И размонтировать его с помощью:
$ umount /mnt/fat32